Мне пришла идея в голову сделать игру в консоли из коробочных модулей в итоге получилось интереснная игра для esp32 только придеться keyboard установить СКРИНЫ КОД import os from time import sleep, time import keyboard from random import randint #Создаем класс для создание поле игры в консоли class TGame(): def __init__(self, wight: int, height: int, empty='.' ): self.wight=wight self.height=height self.empty=empty self.help_unity=False self.game_object=list() for i in range(0, height): h=list() for x in range(0, wight): h.append(empty) self.game_object.append(h) self.prefix='by @K1p1k' #система очистки консоли def clear(self): if os.name == 'nt': os.system('cls') else: os.system('clear') print(self.prefix) #создаем метод для создание обекта def create_object(self, x, y, symbol): self.game_object[y][x]=symbol class r(): def __init__(sself): self.game_object[y][x]=symbol sself.x=x sself.y=y sself.symbol=symbol def edit_place(sself, x, y, symbol=symbol): self.game_object[sself.y][sself.x]='.' self.x=x;sself.x=x self.y=y;sself.y=y self.game_object[y][x]=symbol r=r() return r #делаем метод которая выводить нашу игры def render(self): self.clear() count=int() helpp=str() if self.help_unity: for i in range(0, len(self.game_object)): if i == 0: helpp+=f' ' helpp+=f'{str(i)} ' print(helpp) for i in self.game_object: if self.help_unity: print(f"{count}{' '.join(i)}") else: print(f"{' '.join(i)}") count+=1 def game_start(): #создаем экземпляр game=TGame(wight=20, height=20, empty='.') #создаем играка player=game.create_object(x=9, y=9, symbol='+') #создаем кого будем убивать list_stop=list() for i in range(0, randint(4,10)): list_stop.append(game.create_object(x=randint(0, game.wight-1), y=randint(0, game.height-1), symbol='/')) game.render() #создаем функцию которая изменяет положение игрока def movent(x, y): if x < game.wight and x >= 0: if y < game.height and y >= 0: player.edit_place(x=x, y=y) c=int() for i in list_stop: #проверяем есть игрок на сопернике if i.x == player.x and i.y == player.y: #если да то удаляем list_stop.pop(c) c+=1 #обезательно пишем render что бы вывести обновленное поле game.render() #привязываем клавиши и назначаем изменине по xy keyboard.add_hotkey('w', lambda: movent(x=player.x, y=player.y-1)) keyboard.add_hotkey('s', lambda: movent(x=player.x, y=player.y+1)) keyboard.add_hotkey('a', lambda: movent(x=player.x-1, y=player.y)) keyboard.add_hotkey('d', lambda: movent(x=player.x+1, y=player.y)) #сохраняем время начала что бы вывести время прохождение time_start=time() while True: sleep(0.1) if len(list_stop) == 0: game.clear() return f'WIN\nTIME: {round(time()-time_start, 2)}' isFist=True #создим начальное меню while True: if isFist: if os.name == 'nt': os.system('cls') else: os.system('clear') isFist=False print('В данной игре вам пристоит убивать вирусы!') print(""" ---------------------------- |+ - антивирус(вы) | |/ - вирус | |---------------------------- |w-навер | |S-вниз | |a-налево | |d-на право | |---------------------------- """) print('1>> Начать играть') print('0>> Выйти') ch=input('>>') if ch == '1': print(game_start()) ch=None if ch == '0': if os.name == 'nt': os.system('cls') else: os.system('clear') print('ПОКА <3') break Python import os from time import sleep, time import keyboard from random import randint #Создаем класс для создание поле игры в консоли class TGame(): def __init__(self, wight: int, height: int, empty='.' ): self.wight=wight self.height=height self.empty=empty self.help_unity=False self.game_object=list() for i in range(0, height): h=list() for x in range(0, wight): h.append(empty) self.game_object.append(h) self.prefix='by @K1p1k' #система очистки консоли def clear(self): if os.name == 'nt': os.system('cls') else: os.system('clear') print(self.prefix) #создаем метод для создание обекта def create_object(self, x, y, symbol): self.game_object[y][x]=symbol class r(): def __init__(sself): self.game_object[y][x]=symbol sself.x=x sself.y=y sself.symbol=symbol def edit_place(sself, x, y, symbol=symbol): self.game_object[sself.y][sself.x]='.' self.x=x;sself.x=x self.y=y;sself.y=y self.game_object[y][x]=symbol r=r() return r #делаем метод которая выводить нашу игры def render(self): self.clear() count=int() helpp=str() if self.help_unity: for i in range(0, len(self.game_object)): if i == 0: helpp+=f' ' helpp+=f'{str(i)} ' print(helpp) for i in self.game_object: if self.help_unity: print(f"{count}{' '.join(i)}") else: print(f"{' '.join(i)}") count+=1 def game_start(): #создаем экземпляр game=TGame(wight=20, height=20, empty='.') #создаем играка player=game.create_object(x=9, y=9, symbol='+') #создаем кого будем убивать list_stop=list() for i in range(0, randint(4,10)): list_stop.append(game.create_object(x=randint(0, game.wight-1), y=randint(0, game.height-1), symbol='/')) game.render() #создаем функцию которая изменяет положение игрока def movent(x, y): if x < game.wight and x >= 0: if y < game.height and y >= 0: player.edit_place(x=x, y=y) c=int() for i in list_stop: #проверяем есть игрок на сопернике if i.x == player.x and i.y == player.y: #если да то удаляем list_stop.pop(c) c+=1 #обезательно пишем render что бы вывести обновленное поле game.render() #привязываем клавиши и назначаем изменине по xy keyboard.add_hotkey('w', lambda: movent(x=player.x, y=player.y-1)) keyboard.add_hotkey('s', lambda: movent(x=player.x, y=player.y+1)) keyboard.add_hotkey('a', lambda: movent(x=player.x-1, y=player.y)) keyboard.add_hotkey('d', lambda: movent(x=player.x+1, y=player.y)) #сохраняем время начала что бы вывести время прохождение time_start=time() while True: sleep(0.1) if len(list_stop) == 0: game.clear() return f'WIN\nTIME: {round(time()-time_start, 2)}' isFist=True #создим начальное меню while True: if isFist: if os.name == 'nt': os.system('cls') else: os.system('clear') isFist=False print('В данной игре вам пристоит убивать вирусы!') print(""" ---------------------------- |+ - антивирус(вы) | |/ - вирус | |---------------------------- |w-навер | |S-вниз | |a-налево | |d-на право | |---------------------------- """) print('1>> Начать играть') print('0>> Выйти') ch=input('>>') if ch == '1': print(game_start()) ch=None if ch == '0': if os.name == 'nt': os.system('cls') else: os.system('clear') print('ПОКА <3') break
lessql, print('В данной игре вам пристоит убивать вирусы!') print(""" ---------------------------- |+ - антивирус(вы) | |/ - вирус | |---------------------------- |w-навер | |S-вниз | |a-налево | |d-на право | |---------------------------- """) print('1>> Начать играть') print('0>> Выйти') Код print('В данной игре вам пристоит убивать вирусы!') print(""" ---------------------------- |+ - антивирус(вы) | |/ - вирус | |---------------------------- |w-навер | |S-вниз | |a-налево | |d-на право | |---------------------------- """) print('1>> Начать играть') print('0>> Выйти')
зайцевПлюсОдин, Герой! Держит весь мир на своих плечах! Если бы не он, мир превратился в мрак. Всегда на страже!