Продолжение проекта на питоне
Увеличил объем кода ~в 2 раза. Добавил количество раундов, счётчик выигранных раундов(в планах исправить, потому что не работает), ну и ещё чего-то, лень вспоминать. Из недочётов помимо счётчика выигранных раундов есть баг, по которому можно стрелять патронами, которых нет(ах да, я добавил рандом, который определяет количество каждых патронов на раунд). Видео, код и фото кода(Пикабу убирает табы) ниже(предлагайте, что можно реализовать (я не про-разработчик, а новичок, так что идеи приземлённые)):
С вертикальным монитором так удобно кодить:D
Подготовка видео...
from random import choice
from random import randint
from time import sleep
from termcolor import colored
# предметы=["шоколад", "адреналин", "инвертер", "лупа"]
# import flet as ft
# предметыуигроков={}
количествохп={1:3,2:3,3:3,4:3}
игроки=[1,2,3,4]
next_move=choice([1,2,3,4])
патрон=''
цель=0
round=1
количествопатронов={"Холостых":randint(1, 5), "Боевых":randint(1,5)}
количествораундов=int(input(" Введи количество раундов: "))
выйгранныераунды={1:0, 2:0, 3:0, 4:0}
print(colored(f"Количество патронов:{количествопатронов} \n", "light_red"))
def началораунда(количествораундов):
global игроки
global количествохп
global next_move
global цель
global round
global количествопатронов
global выйгранныераунды
# выйгранныераунды={1:0, 2:0, 3:0, 4:0}
if round<количествораундов:
количествопатронов={"Холостых":randint(1, 5), "Боевых":randint(1,5)}
количествохп={1:3,2:3,3:3,4:3}
игроки=[1,2,3,4]
next_move=choice([1,2,3,4])
цель=0
round+=1
print(colored(f"\n Начало {round} раунда \n \n", "light_green"))
print(colored(f"Количество патронов:{количествопатронов} \n", "light_red"))
ход()
for key in выйгранныераунды.keys():
if key in игроки:
выйгранныераунды[key]+=1
else:
print(выйгранныераунды)
exit()
def ход():
global next_move
global количествопатронов
global round
global патрон
global количествораундов
global выйгранныераунды
инвертер()
if list(количествопатронов.values())==[0, 0]:
print(f'\n В раунде {round} выжили игроки {игроки} со здоровьем {количествохп} \n')
началораунда(количествораундов)
next_move+=1
if next_move not in игроки:
next_move+=1
if next_move>4:
next_move=1
while next_move not in игроки:
next_move+=1
if next_move>4:
next_move=1
while next_move not in игроки:
next_move+=1
if next_move==3:
print(colored("Ходит игрок 3", 'green'))
sleep(1)
игрок()
if next_move!=3:
print(colored(f"Ходит игрок {next_move}", 'blue'))
sleep(1)
боты()
def патроны():
global next_move
global количествопатронов
global патрон
if цель in игроки:
патрон=choice(['боевой','холостой'])
инвертер()
if next_move!=3:
print(colored(f" Игрок {next_move} выбирает игрока {цель}, патрон {патрон} \n", 'yellow'))
sleep(1)
if next_move==3:
print(colored(f" Игрок 3 выбирает игрока {цель}, патрон {патрон} \n", 'yellow'))
sleep(1)
if патрон=="боевой":
if количествопатронов['Боевых']>0:
количествохп[цель]-=1
количествопатронов['Боевых']-=1
if количествохп[цель]==0:
print(colored(f"\n Игрок {цель} выбыл\n", 'grey'))
del количествохп[цель]
игроки.remove(цель)
print(colored(f' {количествохп}\n', 'grey'))
sleep(1)
if патрон=='холостой':
if количествопатронов['Холостых']>0:
количествопатронов['Холостых']-=1
print(colored(f' {количествохп}\n', 'grey'))
if цель==next_move:
next_move-=1
print(количествопатронов) #отключить при готовности игры
def боты():
global цель
цель=choice(игроки)
патроны()
sleep(1.5)
def игрок():
global цель
цель=int(input(colored(' В кого стрелять?\n ', 'red')))
while цель not
def инвертер():
global патрон
global количествопатронов
for key, value in количествопатронов.items():
if value==0:
if количествопатронов[key]=='Холостой':
патрон='Боевой'
if количествопатронов[key]=='Боевой':
патрон='Холостой'
while True:
ход()
if len(игроки)==1:
print(colored(f'Победил игрок {игроки[0]}', 'magenta'))
exit()in игроки:
цель=int(input(colored(' Введи цель ещё раз\n ', 'light_red')))
патроны()
sleep(1.5)
Обманул, без видео. Какого-то чёрта видео и скрины сегодня ужасного качества(не знаю почему. Win+Shift+S и Win+Alt+R)