Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Plaza521 | bf638e711e | |
Plaza521 | a89e41cd68 | |
Plaza521 | aff3036a0d |
33
main.py
33
main.py
|
@ -9,25 +9,43 @@ from time import sleep, time
|
||||||
class Game:
|
class Game:
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self.running = True
|
self.running = True
|
||||||
|
self.is_pause = False
|
||||||
self.pl = Player()
|
self.pl = Player()
|
||||||
self.out = Out(self.pl)
|
self.out = Out(self.pl)
|
||||||
self.is_pause = False
|
|
||||||
|
|
||||||
kb.add_hotkey(QUIT_BUTTON, self.stop_game)
|
kb.add_hotkey(QUIT_BUTTON, self.stop_game)
|
||||||
kb.add_hotkey(PAUSE_BUTTON, self.switch_pause)
|
kb.add_hotkey(PAUSE_BUTTON, self.switch_pause)
|
||||||
kb.add_hotkey(LEFT_BUTTON, self.pl.left)
|
kb.add_hotkey(
|
||||||
kb.add_hotkey(RIGHT_BUTTON, self.pl.right)
|
LEFT_BUTTON,
|
||||||
kb.add_hotkey(UP_BUTTON, self.pl.up)
|
self.pl.left,
|
||||||
kb.add_hotkey(DOWN_BUTTON, self.pl.down)
|
args=[self]
|
||||||
|
)
|
||||||
|
kb.add_hotkey(
|
||||||
|
RIGHT_BUTTON,
|
||||||
|
self.pl.right,
|
||||||
|
args=[self]
|
||||||
|
)
|
||||||
|
kb.add_hotkey(
|
||||||
|
UP_BUTTON,
|
||||||
|
self.pl.up,
|
||||||
|
args=[self]
|
||||||
|
)
|
||||||
|
kb.add_hotkey(
|
||||||
|
DOWN_BUTTON,
|
||||||
|
self.pl.down,
|
||||||
|
args=[self]
|
||||||
|
)
|
||||||
|
|
||||||
def switch_pause(self) -> None:
|
def switch_pause(self) -> None:
|
||||||
self.is_pause = not self.is_pause
|
self.is_pause = not self.is_pause
|
||||||
|
|
||||||
def stop_game(self) -> None:
|
def stop_game(self) -> None:
|
||||||
self.running = False
|
if not self.is_pause:
|
||||||
|
self.running = False
|
||||||
|
|
||||||
def play(self) -> None:
|
def play(self) -> None:
|
||||||
system("clear||cls")
|
system("clear||cls")
|
||||||
|
print()
|
||||||
|
|
||||||
start_time = time()
|
start_time = time()
|
||||||
different_between_time = 1 / FPS
|
different_between_time = 1 / FPS
|
||||||
|
@ -55,7 +73,8 @@ class Game:
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
Game().play()
|
game = Game()
|
||||||
|
game.play()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
23
player.py
23
player.py
|
@ -5,6 +5,7 @@ from food import Food
|
||||||
|
|
||||||
class Player:
|
class Player:
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
|
self.start_direciton = MAIN_DIRECTION
|
||||||
self.direction = MAIN_DIRECTION
|
self.direction = MAIN_DIRECTION
|
||||||
self.body = [Point(MAIN_X, MAIN_Y)]
|
self.body = [Point(MAIN_X, MAIN_Y)]
|
||||||
|
|
||||||
|
@ -34,6 +35,8 @@ class Player:
|
||||||
raise IndexError("Player has collision with self")
|
raise IndexError("Player has collision with self")
|
||||||
|
|
||||||
def update(self) -> None:
|
def update(self) -> None:
|
||||||
|
self.start_direction = self.direction
|
||||||
|
|
||||||
if self.body[-1] == self.food:
|
if self.body[-1] == self.food:
|
||||||
self.food.generate_new()
|
self.food.generate_new()
|
||||||
self.score += 1
|
self.score += 1
|
||||||
|
@ -42,14 +45,18 @@ class Player:
|
||||||
|
|
||||||
Player._check_collision(self.body)
|
Player._check_collision(self.body)
|
||||||
|
|
||||||
def left(self) -> None:
|
def left(self, game) -> None:
|
||||||
self.direction = D_LEFT
|
if not game.is_pause and self.start_direction != D_RIGHT:
|
||||||
|
self.direction = D_LEFT
|
||||||
|
|
||||||
def right(self) -> None:
|
def right(self, game) -> None:
|
||||||
self.direction = D_RIGHT
|
if not game.is_pause and self.start_direction != D_LEFT:
|
||||||
|
self.direction = D_RIGHT
|
||||||
|
|
||||||
def up(self) -> None:
|
def up(self, game) -> None:
|
||||||
self.direction = D_UP
|
if not game.is_pause and self.start_direction != D_DOWN:
|
||||||
|
self.direction = D_UP
|
||||||
|
|
||||||
def down(self) -> None:
|
def down(self, game) -> None:
|
||||||
self.direction = D_DOWN
|
if not game.is_pause and self.start_direction != D_UP:
|
||||||
|
self.direction = D_DOWN
|
||||||
|
|
|
@ -34,3 +34,6 @@ TT_WALL = "\u001b[34m{}\u001b[0m".format("██")
|
||||||
TT_FOOD = "\u001b[33m{}\u001b[0m".format("██")
|
TT_FOOD = "\u001b[33m{}\u001b[0m".format("██")
|
||||||
TT_WALL_FOOD = "\u001b[32m{}\u001b[0m".format("██")
|
TT_WALL_FOOD = "\u001b[32m{}\u001b[0m".format("██")
|
||||||
TT_HEAD = "\u001b[36m{}\u001b[0m".format("██")
|
TT_HEAD = "\u001b[36m{}\u001b[0m".format("██")
|
||||||
|
|
||||||
|
# Globals
|
||||||
|
is_pause = False
|
||||||
|
|
Loading…
Reference in New Issue