Top.Mail.Ru
Ответы

Пайтон программа нефройнкос

import random
import time

# Настройки игры
FINISH_LINE = 100 # Дистанция до финиша
PLAYER_NAME = "Игрок"
BOT_NAMES = ["Бот 1", "Бот 2", "Бот 3"] # Имена ботов

# Инициализация позиций
positions = {PLAYER_NAME: 0}
for bot in BOT_NAMES:
positions[bot] = 0

def print_positions():
"""Выводит текущие позиции всех участников."""
print("\nТекущие позиции:")
for name, pos in positions.items():
print(f"{name}: {'-' * pos}🚗") # Машинка на текущей позиции
print("-" * FINISH_LINE + "| Финиш") # Линия финиша

def player_turn():
"""Ход игрока."""
print("\nВаш ход!")
choice = input("Выберите действие (1 - ускориться, 2 - замедлиться, 3 - двигаться с постоянной скоростью): ")
if choice == "1":
move = random.randint(5, 10) # Ускорение
elif choice == "2":
move = random.randint(1, 3) # Замедление
elif choice == "3":
move = random.randint(3, 6) # Постоянная скорость
else:
print("Неверный выбор! Вы теряете ход.")
move = 0
positions[PLAYER_NAME] += move
print(f"Вы продвинулись на {move} единиц.")

def bot_turn():
"""Ход ботов."""
for bot in BOT_NAMES:
move = random.randint(3, 8) # Боты двигаются случайно
positions[bot] += move
print(f"{bot} продвинулся на {move} единиц.")

def check_winner():
"""Проверяет, есть ли победитель."""
for name, pos in positions.items():
if pos >= FINISH_LINE:
return name
return None

def main():
print("Добро пожаловать в игру 'Гонки'!")
print(f"Финишная линия находится на расстоянии {FINISH_LINE} единиц.")
print("Соревнуйтесь с ботами и постарайтесь прийти первым!\n")

while True:
print_positions()
player_turn()
bot_turn()

winner = check_winner()
if winner:
print_positions()
print(f"\nПобедитель: {winner}!")
break

time.sleep(1) # Пауза между ходами

if __name__ == "__main__":
main()

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Знаток
3мес

и зачем мне это