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:
erbrown
2025-12-14 20:45:39 -05:00
parent 2f90ac3797
commit b8c69441d5
7 changed files with 65 additions and 0 deletions

View File

@@ -2,3 +2,23 @@
# ------------
# By MWC Contributors
# This module defines an asteroid agent class.
class Asteroid:
character = 'O'
def __init__(self, position):
self.position = position
def play_turn(self, game):
width, height = game.board_size
if game.turn_number % 1 == 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:
game.end()
else:
self.position = new_position