added obstacles recognition
This commit is contained in:
parent
1141ceb4ff
commit
510b2ed752
@ -52,10 +52,13 @@ public class SnakeBot extends Bot{
|
|||||||
int leftIndex = centerIndex - 1;
|
int leftIndex = centerIndex - 1;
|
||||||
int rightIndex = centerIndex + 1;
|
int rightIndex = centerIndex + 1;
|
||||||
|
|
||||||
frontIsBlocked = view.data.charAt(frontIndex) == '*';
|
char[] obstacles = {'#', '~', 'X', '*'};
|
||||||
backIsBlocked = view.data.charAt(backIndex) == '*';
|
|
||||||
leftIsBlocked = view.data.charAt(leftIndex) == '*';
|
frontIsBlocked = containsChar(obstacles, view.data.charAt(frontIndex));
|
||||||
rightIsBlocked = view.data.charAt(rightIndex) == '*';
|
backIsBlocked = containsChar(obstacles, view.data.charAt(backIndex));
|
||||||
|
leftIsBlocked = containsChar(obstacles, view.data.charAt(leftIndex));
|
||||||
|
rightIsBlocked = containsChar(obstacles, view.data.charAt(rightIndex));
|
||||||
|
|
||||||
trapped = frontIsBlocked && backIsBlocked && leftIsBlocked && rightIsBlocked;
|
trapped = frontIsBlocked && backIsBlocked && leftIsBlocked && rightIsBlocked;
|
||||||
|
|
||||||
if (trapped) {
|
if (trapped) {
|
||||||
@ -65,6 +68,15 @@ public class SnakeBot extends Bot{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean containsChar(char[] array, char target) {
|
||||||
|
for (char c : array) {
|
||||||
|
if (c == target) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private char checkMove(char move) throws Exception {
|
private char checkMove(char move) throws Exception {
|
||||||
if (frontIsBlocked) {
|
if (frontIsBlocked) {
|
||||||
resetMovesSequence();
|
resetMovesSequence();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user