Compare commits

..

4 Commits

Author SHA1 Message Date
juddin2
8769519960 I made sure my circles are falling continously and as the player doges the score increases.
I'm proud of making the circles fall from the top one at a time.
I was stuck on making the circle fall.
2025-12-04 21:14:43 -05:00
juddin2
ed8f4d7126 I wrote my player code.
I'm proud of getting my player decided.
I'm stuck on trying to make the circle fall and increasing there speed.
So, far I have no new interest or idea.
2025-12-03 20:21:34 -05:00
juddin2
ceac611ad2 I just started creating my game board.
One sucess I am proud of is that I have an idea on how I want my board to look like.
I am stuck on running my game on retro. For some reason an error always pops up even though I installed retro.
I worries about having my player move to catch the circle falling from above.
I dont have any new idea as of now.
2025-11-29 21:03:01 -05:00
juddin2
4a9bcf1d5d I just wrote the game proposal.
I'm proud of coming with a basic game idea.
I haven't started yet but I know that I'm going to be stuck on how to increase the speed of the circles falling.
I haven't had any new ideas or skills that I learned so far as I just have a proposal as of now.
2025-11-22 15:05:10 -05:00
8 changed files with 106 additions and 0 deletions

21
Proposal.md Normal file
View File

@@ -0,0 +1,21 @@
#Game Proposal
##Team
I am working individually on this project.
#Game Overview
Title: Dodge
Vision: Players dodge the circle's and more scores they get the more faster the circle's start falling making it fun to play.
Appearance: The game would be inside a rectangle shaped box with circles inside falling from the top.
Interaction: Players will use left and right arrows to avoid the falling circles.
#Core Mechanics
1. Left and right arrows
2. Circles falling from the top
3. If a circle hits the players, the game ends.
#Milestone
Create the rectangle board with a player that can move to dodge the falling circles.
#Challeneges
I think the most challenging part would be to increase the speed of the circles falling from the top.

Binary file not shown.

Binary file not shown.

Binary file not shown.

26
circle.py Normal file
View File

@@ -0,0 +1,26 @@
from random import randint
class Circle:
name= "circle"
character = 'O'
def __init__(self, position):
self.position = position
def play_turn(self, game):
width, height = game.board_size
fall_speed = game.state.get("fall_speed", 1)
x, y = self.position
player = game.get_agent_by_name('player')
new_position = (x, y + 1)
if new_position == player.position:
game.end()
return
if y >= height - 1:
game.state["score"] += 1
if game.state["fall_speed"] < 5:
game.state["fall_speed"] += 1
self.position = (randint(0, width - 1), 0)
else:
self.position = new_position

18
circle_spawner.py Normal file
View File

@@ -0,0 +1,18 @@
from random import randint
from circle import Circle
class CircleSpawner:
display = False
def play_turn(self, game):
width, height = game.board_size
game.state['score'] += 1
if self.should_spawn_circle(game.turn_number):
x= randint(0, width - 1)
new_circle= Circle((x,0))
game.add_agent(new_circle)
def should_spawn_circle(self, turn_number):
return randint(0, 200) < turn_number

16
nav_game.py Normal file
View File

@@ -0,0 +1,16 @@
from retro.game import Game
from player import Player
from circle import Circle
board_size = (100, 25)
player = Player(board_size)
circle= Circle ((board_size[0] // 2, 0))
def during_turn(game):
pass
game = Game([player, circle], {"score": 0, "fall_speed": 1}, board_size=board_size)
game.during_turn = during_turn
game.play()

25
player.py Normal file
View File

@@ -0,0 +1,25 @@
class Player:
name = "player"
character = '^'
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 == "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)
elif keystroke.name == "KEY_DOWN":
new_position = (x, y + 1)
else:
return
if game.on_board(new_position):
if game.is_empty(new_position):
self.position = new_position
else:
game.end()