generated from mwc/lab_retro
This code is very different from Unit 1. Unit 1 was very top to bottom. This is more object driven. Instead of one loop or code there are agents that act to put everything together as a focus of what agent should be doing for the game to become a game such as the spaceship, asteroid, asteroid spawner are all used to generate the game. This code seems so real and more day to day life in my opinion.
This commit is contained in:
21
spaceship.py
21
spaceship.py
@@ -2,3 +2,24 @@
|
||||
# ------------
|
||||
# By MWC Contributors
|
||||
# This module defines a spaceship agent class.
|
||||
class Spaceship:
|
||||
name = "ship"
|
||||
character = '^'
|
||||
color = "turquoise2"
|
||||
|
||||
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"):
|
||||
if keystroke.name == "KEY_LEFT":
|
||||
new_position = (x - 1, y)
|
||||
else:
|
||||
new_position = (x + 1, y)
|
||||
if game.on_board(new_position):
|
||||
if game.is_empty(new_position):
|
||||
self.position = new_position
|
||||
else:
|
||||
game.end()
|
||||
Reference in New Issue
Block a user