generated from mwc/lab_retro
28 lines
878 B
Python
28 lines
878 B
Python
# asteroid.py
|
|
# ------------
|
|
# By MWC Contributors
|
|
# This module defines an asteroid agent class.
|
|
|
|
class Asteroid:
|
|
character = 'O'
|
|
color="orange" # color added
|
|
|
|
def __init__(self, position):
|
|
self.position = position
|
|
|
|
def play_turn(self, game):
|
|
width, height = game.board_size
|
|
if game.turn_number % 2 == 0:
|
|
x, y = self.position
|
|
if y == height - 1:
|
|
game.remove_agent(self)
|
|
else:
|
|
ship = game.get_agent_by_name('ship')
|
|
new_position = (x, y + 1)
|
|
if new_position == ship.position: # Watch Out!
|
|
ship.character="*" # changed to a collision indicator
|
|
ship.color="red" # changed to a collision indicator
|
|
game.end()
|
|
else:
|
|
self.position = new_position
|