Skip to content

Commit cfa36ec

Browse files
committed
rework Progression making progression array contain strings
1 parent 8b2cfcc commit cfa36ec

File tree

1 file changed

+13
-63
lines changed

1 file changed

+13
-63
lines changed
Lines changed: 13 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
package hexlet.code.games;
22

3-
import java.util.StringJoiner;
4-
53
public class Progression {
64
private static final int SIZE = 10;
75
private static final int SEED_BOUND = 20;
86
private static final int STEP_BOUND = 10;
9-
private static final int INDEX_OF_HIDDEN_ELEMENT_BOUND = 10;
7+
private static final int HIDDEN_ELEMENT_INDEX_BOUND = 10;
108

11-
public static int[] getRandomProgression(int size, int seed, int step) {
12-
int[] progression = new int[size];
13-
progression[0] = seed;
9+
public static String[] getRandomProgression(int size, int seed, int step) {
10+
String[] progression = new String[size];
11+
var currentNumber = seed;
1412

15-
for (var i = 1; i < size; i++) {
16-
progression[i] = progression[i - 1] + step;
13+
for (var i = 0; i < size; i++) {
14+
progression[i] = Integer.toString(currentNumber);
15+
currentNumber += step;
1716
}
1817

1918
return progression;
@@ -28,65 +27,16 @@ public static void start() {
2827
for (var i = 0; i < Engine.FINAL_ROUND; i++) {
2928
var seed = Engine.getRandomNumber(SEED_BOUND);
3029
var step = Engine.getRandomNumber(STEP_BOUND) + 1;
31-
int[] progression = getRandomProgression(SIZE, seed, step);
32-
var hiddenElement = progression[Engine.getRandomNumber(INDEX_OF_HIDDEN_ELEMENT_BOUND)];
30+
String[] progression = getRandomProgression(SIZE, seed, step);
3331

34-
StringJoiner progressionForQuestion = new StringJoiner(" ");
35-
for (int num : progression) {
36-
if (num == hiddenElement) {
37-
progressionForQuestion.add("..");
38-
} else {
39-
progressionForQuestion.add(Integer.toString(num));
40-
}
41-
}
32+
var hiddenElementIndex = Engine.getRandomNumber(HIDDEN_ELEMENT_INDEX_BOUND);
33+
var hiddenElement = progression[hiddenElementIndex];
34+
progression[hiddenElementIndex] = "..";
4235

43-
questions[i] = progressionForQuestion.toString();
44-
correctAnswers[i] = Integer.toString(hiddenElement);
36+
questions[i] = String.join(" ", progression);
37+
correctAnswers[i] = hiddenElement;
4538
}
4639

4740
Engine.play(rules, questions, correctAnswers);
4841
}
4942
}
50-
// private static final int PROGRESSION_SIZE = 10;
51-
// private static final int RANDOM_ELEMENT_OF_PROGRESSION_BOUND = 20;
52-
// private static final int RANDOM_STEP_BOUND = 10;
53-
// private static final int RANDOM_HIDDEN_ELEMENT_BOUND = 10;
54-
//
55-
// public static int[] getRandomProgression() {
56-
// int[] progression = new int[PROGRESSION_SIZE];
57-
// progression[0] = Engine.getRandomNumber(RANDOM_ELEMENT_OF_PROGRESSION_BOUND);
58-
// var step = Engine.getRandomNumber(RANDOM_STEP_BOUND) + 1;
59-
//
60-
// for (var i = 1; i < PROGRESSION_SIZE; i++) {
61-
// progression[i] = progression[i - 1] + step;
62-
// }
63-
//
64-
// return progression;
65-
// }
66-
//
67-
// public static void start() {
68-
// var rules = "What number is missing in the progression?";
69-
//
70-
// String[] questions = new String[Engine.FINAL_ROUND];
71-
// String[] correctAnswers = new String[Engine.FINAL_ROUND];
72-
//
73-
// for (var i = 0; i < Engine.FINAL_ROUND; i++) {
74-
// int[] progression = getRandomProgression();
75-
// var hiddenElement = progression[Engine.getRandomNumber(RANDOM_HIDDEN_ELEMENT_BOUND)];
76-
//
77-
// StringJoiner progressionForQuestion = new StringJoiner(" ");
78-
// for (int num : progression) {
79-
// if (num == hiddenElement) {
80-
// progressionForQuestion.add("..");
81-
// } else {
82-
// progressionForQuestion.add(Integer.toString(num));
83-
// }
84-
// }
85-
//
86-
// questions[i] = progressionForQuestion.toString();
87-
// correctAnswers[i] = Integer.toString(hiddenElement);
88-
// }
89-
//
90-
// Engine.play(rules, questions, correctAnswers);
91-
// }
92-
//} todo: убрать это всё, когда закончу

0 commit comments

Comments
 (0)