Skip to content

Commit cd67e8c

Browse files
committed
refactor: methods simplification
1 parent 995e1bb commit cd67e8c

File tree

1 file changed

+14
-21
lines changed

1 file changed

+14
-21
lines changed

app/src/main/java/hexlet/code/games/Progression.java

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,30 @@
55

66
public class Progression {
77
public static void startGame() {
8+
final int PROGRESSION_LENGTH = 10;
89
String[][] roundsData = new String[Engine.ROUNDS][2];
910
String description = "What number is missing in the progression?";
1011

1112
for (int i = 0; i < Engine.ROUNDS; i++) {
12-
int[] progression = getProgression();
13-
int randHideElement = Utils.generateNumber(0, 9);
14-
String[] progressionWithDots = new String[progression.length];
13+
String[] progression = makeProgression(
14+
Utils.generateNumber(1, 100),
15+
Utils.generateNumber(1, 10), PROGRESSION_LENGTH);
16+
int hiddenMemberIndex = Utils.generateNumber(0, 9);
17+
String answer = progression[hiddenMemberIndex];
18+
19+
progression[hiddenMemberIndex] = "..";
20+
String question = String.join(" ", progression);
1521

16-
for (int k = 0; k < progression.length; k++) {
17-
if (k == randHideElement) {
18-
progressionWithDots[k] = "..";
19-
} else {
20-
progressionWithDots[k] = String.valueOf(progression[k]);
21-
}
22-
}
23-
String question = String.join(" ", progressionWithDots);
2422
roundsData[i][0] = question;
25-
roundsData[i][1] = String.valueOf(progression[randHideElement]);
23+
roundsData[i][1] = answer;
2624
}
2725
Engine.run(description, roundsData);
2826
}
2927

30-
private static int[] getProgression() {
31-
final int arrLength = 10;
32-
int progressionStep = Utils.generateNumber(1, 10);
33-
int firstNum = Utils.generateNumber(1, 100);
34-
35-
int[] progression = new int[arrLength];
36-
progression[0] = firstNum;
37-
for (int j = 1; j < progression.length; j++) {
38-
progression[j] = progression[j - 1] + progressionStep;
28+
private static String[] makeProgression(int first, int step, int length) {
29+
String[] progression = new String[length];
30+
for (int i = 0; i < length; i++) {
31+
progression[i] = Integer.toString(first + i * step);
3932
}
4033
return progression;
4134
}

0 commit comments

Comments
 (0)