|
|
|
grid_size = 10 |
|
snake_start_x = 5 |
|
snake_start_y = 3 |
|
|
|
|
|
snake_direction = 'right' |
|
snake_length = 3 |
|
|
|
|
|
grid = [None] * (grid_size * grid_size) |
|
|
|
|
|
for y in range(grid_size): |
|
for x in range(grid_size): |
|
if x == snake_start_x and y == snake_start_y: |
|
grid[y * grid_size + x] = 1 |
|
else: |
|
grid[y * grid_size + x] = 0 |
|
|
|
|
|
while True: |
|
|
|
input_direction = input("Enter a direction (left, right, up, or down): ") |
|
|
|
|
|
if input_direction not in ['left', 'right', 'up', 'down']: |
|
print("Invalid direction. Please enter a valid direction.") |
|
continue |
|
|
|
|
|
snake_direction = input_direction |
|
|
|
|
|
for _ in if snake_direction == 'right': |
|
grid[(grid_size - 1) * grid_size + snake_start_x] = 2 |
|
grid[grid_size * snake_start_x + snake_start_y] = 2 |
|
elif snake_direction == 'left': |
|
grid[grid_size * snake_start_x + snake_start_y] = 2 |
|
grid[(grid_size - 1) * grid_size + snake_start_x] = 2 |
|
elif snake_direction == 'up': |
|
grid[grid_size * snake_start_x + snake_start_y - 1] = 2 |
|
grid[(grid_size - 1) * grid_size + snake_start_x] = 2 |
|
elif snake_direction == 'down': |
|
grid[grid_size * snake_start_x + snake_start_y + 1] = 2 |
|
grid[(grid_size - 1) * grid_size + snake_start_x] = 2 |
|
|
|
|
|
if grid[grid_size * snake_start_x + snake_start_y] == 2: |
|
print("Game over! You have crashed into the wall.") |
|
break |
|
elif grid[(grid_size - 1) * grid_size + snake_start_x] == 2: |
|
print("Game over! You have crashed into your own tail.") |
|
break |
|
|
|
|
|
for y in range(grid_size): |
|
for x in range(grid_size): |
|
print(grid[y * grid_size + x], end=' ') |
|
print() |
|
|
|
|
|
ask_again = input("Do you want to play again? (yes/no): ") |
|
if ask_again.lower() != 'yes': |
|
break |