Installed retro and got a cursor that moves...

Need to do:
-Populate 10 mines randomly
-Have the game end when a mine is selected (figure
out how to select something)
-Figure out an algorithm to reveal squares
-Figure out how to show numbers in revealed
squares
-Add flag functionality?
This commit is contained in:
Cory 2024-05-18 20:24:36 -04:00
parent 6145f70c95
commit cff4129336
5 changed files with 49 additions and 0 deletions

Binary file not shown.

28
cursor.py Normal file
View File

@ -0,0 +1,28 @@
# cursor.py
# ------------
# By MWC Contributors
# This module defines a spaceship agent class.
class Cursor:
name = "cursos"
character = 'O'
def __init__(self, board_size):
board_width, board_height = board_size
self.position = (board_width // 2, board_height - 1)
def handle_keystroke(self, keystroke, game):
x, y = self.position
if keystroke.name in ("KEY_LEFT", "KEY_RIGHT", "KEY_UP", "KEY_DOWN"):
if keystroke.name == "KEY_LEFT":
new_position = (x - 1, y)
elif keystroke.name == "KEY_RIGHT":
new_position = (x + 1, y)
elif keystroke.name == "KEY_UP":
new_position = (x, y - 1)
else:
new_position = (x, y + 1)
if game.on_board(new_position):
if game.is_empty(new_position):
self.position = new_position
else:
game.end()

12
minesweeper_game.py Normal file
View File

@ -0,0 +1,12 @@
# minesweeper_game.py
# ------------
# By Cory
# This class implements a simple minesweeper game on a 9x9 gird.
from retro.game import Game
from cursor import Cursor
board_size = (9, 9)
cursor = Cursor(board_size)
# spawner = AsteroidSpawner(board_size)
game = Game([cursor], {"score": 0}, board_size=board_size)
game.play()

7
poetry.lock generated Normal file
View File

@ -0,0 +1,7 @@
# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
package = []
[metadata]
lock-version = "2.0"
python-versions = "^3.11"
content-hash = "81b2fa642d7f2d1219cf80112ace12d689d053d81be7f7addb98144d56fc0fb2"

View File

@ -8,6 +8,8 @@ packages = [{include = "project_game"}]
[tool.poetry.dependencies]
python = "^3.11"
retro-games = "^0.1.2"
[build-system]