|
6 | 6 | import java.util.Arrays; |
7 | 7 |
|
8 | 8 | public class Progression { |
9 | | - public static void progression() { |
10 | 9 |
|
11 | | - String mainGameQuestion = "What number is missing in the progression?"; |
| 10 | + private static final int MIN_ARRAY_LENGTH = 5; |
| 11 | + private static final int MAX_STEP = 9; |
| 12 | + private static final int MAX_START_VALUE = 14; |
12 | 13 |
|
13 | | - String[][] eachRound = new String[Engine.ROUNDS][2]; |
| 14 | + public static String[] dataForGame() { |
14 | 15 |
|
15 | | - for (var i = 0; i < Engine.ROUNDS; i++) { |
| 16 | + int arrayLength = Utils.getRandomInt(MIN_ARRAY_LENGTH) + MIN_ARRAY_LENGTH; |
| 17 | + int[] array = new int[arrayLength]; |
16 | 18 |
|
17 | | - final int minArrayLength = 5; |
18 | | - final int maxStep = 9; |
19 | | - final int maxStartValue = 14; |
| 19 | + int step = Utils.getRandomInt(MAX_STEP); |
| 20 | + int start = Utils.getRandomInt(MAX_START_VALUE); |
20 | 21 |
|
21 | | - int arrayLength = Utils.getRandomInt(minArrayLength) + minArrayLength; |
22 | | - int[] array = new int[arrayLength]; |
| 22 | + for (int j = 0; j < arrayLength; j++) { |
| 23 | + array[j] = start + j * step; |
| 24 | + } |
23 | 25 |
|
24 | | - int step = Utils.getRandomInt(maxStep); |
25 | | - int start = Utils.getRandomInt(maxStartValue); |
| 26 | + int indexFromArray = Utils.getRandomInt(MIN_ARRAY_LENGTH - 1); |
26 | 27 |
|
27 | | - for (int j = 0; j < arrayLength; j++) { |
28 | | - array[j] = start + j * step; |
29 | | - } |
| 28 | + String arrayToString = Arrays.toString(array); |
| 29 | + String elementToHide = String.valueOf(array[indexFromArray]); |
| 30 | + String oneElement = "\\b" + elementToHide + "\\b"; |
| 31 | + String arrayHideNumber = arrayToString.replaceFirst(oneElement, ".."); |
| 32 | + arrayHideNumber = arrayHideNumber.replace("[", "").replace("]", "") |
| 33 | + .replace(",", ""); |
30 | 34 |
|
31 | | - int indexFromArray = Utils.getRandomInt(minArrayLength - 1); |
| 35 | + String question = arrayHideNumber; |
| 36 | + String correctAnswer = String.valueOf(array[indexFromArray]); |
32 | 37 |
|
33 | | - String arrayToString = Arrays.toString(array); |
34 | | - String elementToHide = String.valueOf(array[indexFromArray]); |
35 | | - String oneElement = "\\b" + elementToHide + "\\b"; |
36 | | - String arrayHideNumber = arrayToString.replaceFirst(oneElement, ".."); |
37 | | - arrayHideNumber = arrayHideNumber.replace("[", "").replace("]", "") |
38 | | - .replace(",", ""); |
| 38 | + return new String[]{question, correctAnswer}; |
| 39 | + } |
39 | 40 |
|
40 | | - String question = arrayHideNumber; |
41 | | - String correctAnswer = String.valueOf(array[indexFromArray]); |
| 41 | + public static String[][] prepareDataForEngine() { |
42 | 42 |
|
43 | | - eachRound[i][0] = question; |
44 | | - eachRound[i][1] = correctAnswer; |
| 43 | + String[][] eachRound = new String[Engine.ROUNDS][2]; |
| 44 | + |
| 45 | + for (var i = 0; i < Engine.ROUNDS; i++) { |
| 46 | + eachRound[i] = dataForGame(); |
45 | 47 | } |
46 | | - Engine.skeletonOfGames(mainGameQuestion, eachRound); |
47 | | - //return 0; |
| 48 | + return eachRound; |
| 49 | + } |
| 50 | + |
| 51 | + public static void transferDataToEngine() { |
| 52 | + String mainGameQuestion = "What number is missing in the progression?"; |
| 53 | + String[][] rounds = prepareDataForEngine(); |
| 54 | + Engine.skeletonOfGames(mainGameQuestion, rounds); |
48 | 55 | } |
49 | 56 | } |
0 commit comments