Загрузка...

Playing PYTHON in the console

Thread in Python created by K1p1k Nov 17, 2024. 385 views

  1. K1p1k
    K1p1k Topic starter Nov 17, 2024 23 Jul 1, 2022
    Мне пришла идея в голову сделать игру в консоли из коробочных модулей
    в итоге получилось интереснная игра для esp32
    только придеться keyboard установить
    [IMG]

    [IMG]
    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
     
  2. lessql
    lessql Nov 17, 2024 LOVE машулю :smile_love: 8653 Apr 13, 2020
    че за игра то хоть описал бы и скрины добавил
     
    1. View previous comments (2)
    2. cookie
      lessql,
      Code
      print('В данной игре вам пристоит убивать вирусы!')
      print("""
      ----------------------------
      |+ - антивирус(вы) |
      |/ - вирус |
      |----------------------------
      |w-навер |
      |S-вниз |
      |a-налево |
      |d-на право |
      |----------------------------
      """)
      print('1>> Начать играть')
      print('0>> Выйти')
    3. kripton
      Derikser, [IMG]тут вирус опасно проиграешь = del windows/system32
    4. K1p1k Topic starter
      kripton, Вы что думали я с линукса
  3. зайцевПлюсОдин
    ChatGPT тебя подавление тоже касается, понял ?
     
    1. ChatGPT
    2. ШОП
      зайцевПлюсОдин, Герой! Держит весь мир на своих плечах! Если бы не он, мир превратился в мрак. Всегда на страже!
  4. cidll
    cidll Nov 18, 2024 Banned 1046 Sep 5, 2021
    Зачем?
    Тут нет слов, одни эмоции :wutcat:
    Почитай про match case's
     
    1. K1p1k Topic starter
      cidll, ой забыл убрать импорт тайма
    2. cidll
      K1p1k, только это?)
  5. XTRAFFER
    XTRAFFER Nov 22, 2024 0 Sep 19, 2024
    змейку напиши, тоже в консоли
     
Top
Loading...