File tree Expand file tree Collapse file tree 6 files changed +32
-18
lines changed
app/src/main/java/hexlet/code/games Expand file tree Collapse file tree 6 files changed +32
-18
lines changed Original file line number Diff line number Diff line change @@ -6,12 +6,15 @@ public class Calc {
66 public static void play (Scanner scanner ) {
77 Engine .greet (scanner );
88
9+ var randomNumberBound = 50 ;
10+ var randomOperatorBound = 3 ;
11+
912 while (Engine .isContinuing ()) {
10- var number1 = Engine .getRandomNumber (50 );
11- var number2 = Engine .getRandomNumber (50 );
13+ var number1 = Engine .getRandomNumber (randomNumberBound );
14+ var number2 = Engine .getRandomNumber (randomNumberBound );
1215 char operator ;
1316
14- int correctAnswer = switch (Engine .getRandomNumber (3 )) {
17+ int correctAnswer = switch (Engine .getRandomNumber (randomOperatorBound )) {
1518 case 0 -> {
1619 operator = '+' ;
1720 yield number1 + number2 ;
Original file line number Diff line number Diff line change 66public class Engine {
77 private static String userName ;
88 private static boolean defeated = false ;
9- private static int round = 1 ;
10- private static Random randomizer = new Random ();
9+ private static int currentRound = 1 ;
10+ private static final int finalRound = 3 ;
11+ private static final Random randomizer = new Random ();
1112
1213 public static void greet (Scanner scanner ) {
1314 System .out .println ("Welcome to the Brain Games!" );
@@ -17,7 +18,7 @@ public static void greet(Scanner scanner) {
1718 }
1819
1920 public static boolean isContinuing () {
20- return round <= 3 && !defeated ;
21+ return currentRound <= finalRound && !defeated ;
2122 }
2223
2324 public static int getRandomNumber (int bound ) {
@@ -27,7 +28,7 @@ public static int getRandomNumber(int bound) {
2728 public static void compareAnswers (String userAnswer , String correctAnswer ) {
2829 if (userAnswer .equals (correctAnswer )) {
2930 System .out .println ("Correct!" );
30- round ++;
31+ currentRound ++;
3132 } else {
3233 System .out .println ("'" + userAnswer + "' is wrong answer ;(. Correct answer was '" + correctAnswer + "'." );
3334 defeated = true ;
Original file line number Diff line number Diff line change 55public class Even {
66 public static void play (Scanner scanner ) {
77 Engine .greet (scanner );
8-
98 System .out .println ("Answer 'yes' if the number is even, otherwise answer 'no'." );
109
10+ var randomNumberBound = 100 ;
11+
1112 while (Engine .isContinuing ()) {
12- var randomNumber = Engine .getRandomNumber (100 ) + 1 ; // added 1 to avoid 0
13+ var randomNumber = Engine .getRandomNumber (randomNumberBound ) + 1 ; // added 1 to avoid 0
1314 var correctAnswer = randomNumber % 2 == 0 ? "yes" : "no" ;
1415
1516 System .out .println ("Question: " + randomNumber );
Original file line number Diff line number Diff line change @@ -10,9 +10,11 @@ public static int getGCD(int a, int b) {
1010 public static void play (Scanner scanner ) {
1111 Engine .greet (scanner );
1212
13+ var randomNumberBound = 100 ;
14+
1315 while (Engine .isContinuing ()) {
14- var number1 = Engine .getRandomNumber (100 ) + 1 ; // added 1 to avoid 0
15- var number2 = Engine .getRandomNumber (100 ) + 1 ;
16+ var number1 = Engine .getRandomNumber (randomNumberBound ) + 1 ; // added 1 to avoid 0
17+ var number2 = Engine .getRandomNumber (randomNumberBound ) + 1 ;
1618 int correctAnswer = getGCD (number1 , number2 );
1719
1820 System .out .println ("Find the greatest common divisor of given numbers." );
Original file line number Diff line number Diff line change @@ -19,11 +19,12 @@ public static boolean isPrime(int number) {
1919
2020 public static void play (Scanner scanner ) {
2121 Engine .greet (scanner );
22-
2322 System .out .println ("Answer 'yes' if given number is prime. Otherwise answer 'no'." );
2423
24+ var randomNumberBound = 82 ; // multiplication table range
25+
2526 while (Engine .isContinuing ()) {
26- var randomNumber = Engine .getRandomNumber (82 ); // multiplication table range
27+ var randomNumber = Engine .getRandomNumber (randomNumberBound );
2728 var correctAnswer = isPrime (randomNumber ) ? "yes" : "no" ;
2829
2930 System .out .println ("Question: " + randomNumber );
Original file line number Diff line number Diff line change 55
66public class Progression {
77 public static int [] getRandomProgression () {
8- int [] progression = new int [ 10 ] ;
9- progression [ 0 ] = Engine . getRandomNumber ( 20 ) ;
10- var step = Engine . getRandomNumber ( 10 ) + 1 ;
8+ var progressionSize = 10 ;
9+ var randomElementOfProgressionBound = 20 ;
10+ var randomStepBound = 10 ;
1111
12- for (var i = 1 ; i < 10 ; i ++) {
12+ int [] progression = new int [progressionSize ];
13+ progression [0 ] = Engine .getRandomNumber (randomElementOfProgressionBound );
14+ var step = Engine .getRandomNumber (randomStepBound ) + 1 ;
15+
16+ for (var i = 1 ; i < progressionSize ; i ++) {
1317 progression [i ] = progression [i - 1 ] + step ;
1418 }
1519
@@ -19,9 +23,11 @@ public static int[] getRandomProgression() {
1923 public static void play (Scanner scanner ) {
2024 Engine .greet (scanner );
2125
26+ var randomHiddenValueBound = 10 ;
27+
2228 while (Engine .isContinuing ()) {
2329 int [] progression = getRandomProgression ();
24- var hiddenValue = progression [Engine .getRandomNumber (10 )];
30+ var hiddenValue = progression [Engine .getRandomNumber (randomHiddenValueBound )];
2531
2632 var correctAnswer = Integer .toString (hiddenValue );
2733 var progressionForQuestion = Arrays .toString (progression );
You can’t perform that action at this time.
0 commit comments