@@ -7,28 +7,31 @@ public class ProgressionGame {
77 static final int MAX_NUMBER_VALUE = 100 ;
88 static final int MAX_STEP_VALUE = 10 ;
99 static final int MIN_STEP_VALUE = 1 ;
10- static final int NUMBER_OF_GAMES = 3 ;
1110 static final int COLUMN_INDEX = 3 ;
1211 static final int ROW_INDEX = 2 ;
1312
13+ public static String getProgressionAndQuestion (int [] numbers , int startNumber , int step , int hiddenNumberIndex ) {
14+ StringBuilder printNumbers = new StringBuilder ("Question:" );
15+ for (int j = 0 ; j < numbers .length ; j ++) {
16+ numbers [j ] = startNumber + j * step ;
17+ if (j == hiddenNumberIndex ) {
18+ printNumbers .append (" .." );
19+ } else {
20+ printNumbers .append (" " ).append (numbers [j ]);
21+ }
22+ }
23+ return printNumbers .toString ();
24+ }
25+
1426 public static void progressionGame () {
1527 String gameRules = "What number is missing in the progression?" ;
1628 String [][] questionsAndAnswers = new String [COLUMN_INDEX ][ROW_INDEX ];
17- for (int i = 0 ; i < NUMBER_OF_GAMES ; i ++) {
29+ for (int i = 0 ; i < Engine . NUMBER_OF_GAMES ; i ++) {
1830 int [] numbers = new int [MAX_NUMBERS_LENGTH ];
1931 int startNumber = (int ) (Math .random () * MAX_NUMBER_VALUE );
2032 int step = (int ) (Math .random () * MAX_STEP_VALUE + MIN_STEP_VALUE );
2133 int hiddenNumberIndex = (int ) (Math .random () * numbers .length );
22- StringBuilder printNumbers = new StringBuilder ("Question:" );
23- for (int j = 0 ; j < numbers .length ; j ++) {
24- numbers [j ] = startNumber + j * step ;
25- if (j == hiddenNumberIndex ) {
26- printNumbers .append (" .." );
27- } else {
28- printNumbers .append (" " ).append (numbers [j ]);
29- }
30- }
31- questionsAndAnswers [i ][0 ] = printNumbers .toString ();
34+ questionsAndAnswers [i ][0 ] = getProgressionAndQuestion (numbers , startNumber , step , hiddenNumberIndex );
3235 questionsAndAnswers [i ][1 ] = Integer .toString (numbers [hiddenNumberIndex ]);
3336 }
3437 Engine .gameRun (gameRules , questionsAndAnswers );
0 commit comments