From e273f1a954a6ba58eb2af9d262dd9e62dbec9872 Mon Sep 17 00:00:00 2001 From: mbhatti4 Date: Sat, 13 Dec 2025 23:38:01 -0500 Subject: [PATCH] In this submit, i wokred on making the game more to how i want it. I was able to get it to move and start from the center. My next goal is to move around and pick up "food" for my snake. --- __pycache__/Player.cpython-313.pyc | Bin 1513 -> 1980 bytes nav_game.py | 8 +++-- player.py | 48 +++++++++++++++++++---------- 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/__pycache__/Player.cpython-313.pyc b/__pycache__/Player.cpython-313.pyc index bbd575aa2999e707dad75983bc33138018cbf83a..8327235cc763ee4f8a66cd8ebe28f29adc6c0917 100644 GIT binary patch literal 1980 zcma)7-A@}w5a0Xo`D~0$LMWe!OiC3l5m*GMN()qx_)1zisV`2cRAqJ87yF92bM}q^ zl_H%bDD@NYfWp6!*Zw6SBIUGCmik0r8UoOlgo<7mhnX*hL-aHd0X+Qn^t+SRtsuD?+Y;XJ4+a9QT8;i+)6eQxV}+ zjtDAGL{%UmRqR4UQbWMQszl^MSdpppq@=CsX@Cm3gojJ{6E6q>q^T7V?JA z5i=_SmCKfGIEH0Xaly*3(MaAPdX5nF$s7qlfk6%=u>yhde=4OqvRCW0~#HVh#MXpaMPk$0>AfbVwi zd9n7rp@UeDd&i4)>^(S$-E{BNTD$hI_ql!R174za>vi?@uNEkZ*V^g!Z44fRKgzMr zG>Fy9@6Z=@!?)Pvc%Vka~-`E5}N4^4Omeaz}!OIcCm-7f|GGN8C-FrNH z1wM3wm(Jl+SKz}Zc=;T@{R(`<$3wnq^ei4K(3qyv;{|7bHa|K5w)q*xM|d-w_Z=k`#wr_$&4)&+b&sl}= z=2&Iyz0i6fv~EAxUVSGdy}-6PQJGl(y4KqMW^89{@4KCGcVuJY!!VL&InoZtRRq5; zenMIG1Ul_!8N`|SM7RKZj>_#KGqDHiw zqZ85wI=Rb?Z5YEt?HD<%ISw%vmL1*3_$~4i@Eb+gTjw)2qV^}ienFnx;@v|8L3|tsGt-wDb^SaL%J4(=Uc|1sXk_>~*-!1{d2Z7_bzj=jAenh~0hkpT{ CiIpe- delta 933 zcmZ`&%}X0W6rY*>jMgOeBbJ7Un?y(=5dyIVD?)9x7DP+ZrJ2MI^QNZ*s8QSekQNup2^Cn{P6M#olAm|Hl8G@?Af zdu++&Ql+p~C~0BdSj17G!s5mrF5evnr;5y>P?LD8qh{aGzS8Uq?5986ZjOu}^xmij zx1y)OK{+Pl+dNa0462b-1uze(q!!?^)e#mM!Kj zxuj*Dma=r&k_(kgzF1y+VR3nFIV{p{BO`dPU(xcvPrgk=Ru$>c#r}p{O)P#gw{h z8~R2)eJJ^x5;Rb@o*W5|T1roCJ#IUYvF4P48SdzPiy+*+Pe zH%lqTu;deMmdm&!1yw?BewX`*yHm;D>p~b)w$dK9D&=nUz Qo5L9YAYSY~K>&8aPbh-8ZvX%Q diff --git a/nav_game.py b/nav_game.py index a7c8929..30c7f2a 100644 --- a/nav_game.py +++ b/nav_game.py @@ -1,7 +1,9 @@ from retro.game import Game -from player import Player +from player import Player + board_size = (100, 25) player = Player(board_size) -game = Game([player], {"score": 0}, board_size=board_size, color = "pink", debug=TRUE) -game.play() \ No newline at end of file +game = Game([player],{"score": 0}, board_size=board_size, color="pink", debug=True,) + +game.play() diff --git a/player.py b/player.py index eb79bec..3030511 100644 --- a/player.py +++ b/player.py @@ -4,25 +4,39 @@ class Player: def __init__(self, board_size): board_width, board_height = board_size - self.position = (board_width // 2, board_height - 1) - + start_x = board_width // 2 + start_y = board_height // 2 + + self.position = (start_x, start_y) + self.body = [self.position] + self.direction = (1, 0) + def handle_keystroke(self, keystroke, game): - x, y = self.position + x, y = self.body[0] + 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) + if keystroke.name == "KEY_LEFT": + self.direction = (-1, 0) + elif keystroke.name == "KEY_RIGHT": + self.direction = (1, 0) + elif keystroke.name == "KEY_UP": + self.direction = (0, -1) + elif keystroke.name == "KEY_DOWN": + self.direction = (0, 1) - elif keystroke.name == "KEY_UP": - new_position = (x, y-1) - - elif keystroke.name == "KEY_DOWN": - new_position = (x, y+1) + dx, dy = self.direction + new_head = (x + dx, y + dy) - if game.on_board(new_position): - if game.is_empty(new_position): - self.position = new_position - else: - game.end() \ No newline at end of file + if not game.on_board(new_head): + game.end() + return + + if new_head in self.body: + game.end() + return + + self.body.insert(0, new_head) + self.body.pop() + + self.position = self.body[0]