Removed "magic numbers" by adding generateLeftSideArray and generateRightSideArray to SnakeBot.java. Added calculateCharIndexFromCoordinates function.

This commit is contained in:
Illia Soloviov 2024-01-07 19:16:31 +01:00
parent 7bfbd6812e
commit 477e16cede
3 changed files with 7 additions and 7 deletions

View File

@ -27,12 +27,12 @@ public class EscapeBot extends Bot{
protected EscapeBot(String[] args) { protected EscapeBot(String[] args) {
super(args); super(args);
} }
protected char nextMove(View view){ protected char nextMove(View view) {
boolean rocketDetected = view.data.contains("o"); boolean rocketDetected = view.data.contains("o");
return rocketDetected ? goToRocket(view) : walkBySpiral(view); return rocketDetected ? goToRocket(view) : walkBySpiral(view);
} }
private char goToRocket(View view){ private char goToRocket(View view) {
int rowDifference = findRocketRow(view) - 2; int rowDifference = findRocketRow(view) - 2;
return rowDifference < 0 ? '^' : '<'; return rowDifference < 0 ? '^' : '<';
} }
@ -41,7 +41,7 @@ public class EscapeBot extends Bot{
return view.data.indexOf('o') / view.width; return view.data.indexOf('o') / view.width;
} }
private char walkBySpiral(View view){ private char walkBySpiral(View view) {
if (moves.isEmpty()) { if (moves.isEmpty()) {
spiralNumber++; spiralNumber++;
moves += "^".repeat(view.width * spiralNumber) + ">" + "^".repeat(view.width * spiralNumber) + ">"; moves += "^".repeat(view.width * spiralNumber) + ">" + "^".repeat(view.width * spiralNumber) + ">";

View File

@ -21,7 +21,7 @@ public class RumbleBot extends Bot{
return walk(); //@TODO: add nextMove() logic return walk(); //@TODO: add nextMove() logic
} }
private char walk(){ private char walk() {
if(moves.isEmpty()){ if(moves.isEmpty()){
moves += ' '; //@TODO: add walk() logic moves += ' '; //@TODO: add walk() logic
} }

View File

@ -23,7 +23,7 @@ public class SnakeBot extends Bot{
super(args); super(args);
} }
//@TODO: find a better way to avoid collectedStones //@TODO: find a better way to avoid collectedStones
protected char nextMove(View view){ protected char nextMove(View view) {
boolean stoneDetected = view.data.contains("@"); boolean stoneDetected = view.data.contains("@");
char nextMove; char nextMove;
nextMove = (stoneDetected && !ignoreStone) ? goToStone(view) : walkBySpiral(view); nextMove = (stoneDetected && !ignoreStone) ? goToStone(view) : walkBySpiral(view);
@ -68,7 +68,7 @@ public class SnakeBot extends Bot{
return count; return count;
} }
private char goToStone(View view){ private char goToStone(View view) {
int rowDifference = findStoneRow(view) - (view.width / 2); int rowDifference = findStoneRow(view) - (view.width / 2);
return rowDifference < 0 ? '^' : '<'; return rowDifference < 0 ? '^' : '<';
} }
@ -77,7 +77,7 @@ public class SnakeBot extends Bot{
return view.data.indexOf('@') / view.width; return view.data.indexOf('@') / view.width;
} }
private char walkBySpiral(View view){ private char walkBySpiral(View view) {
if (moves.isEmpty()) { if (moves.isEmpty()) {
spiralNumber++; spiralNumber++;
moves += "^".repeat(view.width * spiralNumber) + ">" + "^".repeat(view.width * spiralNumber) + ">"; moves += "^".repeat(view.width * spiralNumber) + ">" + "^".repeat(view.width * spiralNumber) + ">";