Java Oop
/* --- Guess what number im thinking for Java. OOP version
--- E.K.Virtanen 2013, public domain --- */
import java.util.Random;
import java.util.Scanner;
public class GuessOOP{
// Begin of object Numbers
public static class Numbers {
private int randomInteger;
private int maxRandInteger;
// Constructor
public Numbers(int max) {
maxRandInteger = max;
randomInteger = randomNumber(maxRandInteger);
}
// returns maxRandInteger
public int returnMax(){
return maxRandInteger;
}
// generates random integer between 1 and maxRandInteger
public int randomNumber(int maxRandInteger){
Random randomGenerator = new Random();
if (maxRandInteger > 0) {
randomInteger = randomGenerator.nextInt(maxRandInteger) + 1;
} else {
randomInteger = 0;
}
return randomInteger;
}
// checks player guess and returns false/true
public boolean isCorrect(int guess) {
if (guess == randomInteger) {
return true;
} else {
return false;
}
}
// returns "lower/higher" depending of player guess
public String hiLo(int guess) {
if (guess < randomInteger) {
return "higher.";
} else {
return "lower.";
}
}
} // End of object Numbers
// method that clears the screen.
public static void clearScr() {
for(int i = 0; i < 50; i++) {
System.out.println();
}
}
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
Numbers number = new Numbers(100);
int guess; // player guess
int counter; // how many
counter = 0;
clearScr();
System.out.println("Welcome to play \"Guess the number\"");
System.out.println();
System.out.println("Cpu just randomed a number between 1 and " + number.returnMax());
System.out.println("Your job is to guess which number it is.");
System.out.println("While you play, i give you a tips was your guess too high or low.");
System.out.println();
System.out.println("You can exit game by guessing 0 or higher than " +number.returnMax());
System.out.println();
do {
counter++;
System.out.println("This is round number: " + counter + ".");
System.out.print("What is your guess (1 - " + number.returnMax() + "): ");
guess = lukija.nextInt();
if (guess > 0 && guess < number.returnMax()) {
if (number.isCorrect(guess)) {
System.out.println("HOORAY!!! You got it!!!");
System.out.println("It took " + counter + " rounds.");
} else {
System.out.print("Try " + number.hiLo(guess));
}
}
} while( number.isCorrect(guess) == false && guess < number.returnMax() && guess > 0);
}
}