Загрузка данных


Игра «Угадай число»
Программа загадывает число, и пользователь его угадывает.
from random import randint
number = randint(1, 100)
print('Я задумал число от 1 до 100')
print('Угадай, что я загадал?')
n = 1
while True:
 print('--- Попытка', n)
 n += 1
 x = int(input())
 if x > number:
 print('Слишком большое')
 elif x < number:
 print('Слишком маленькое')
 else:
 print('Верно!')
 break
Игра «На очки»
from random import randint
score = 10 # баллы
step = 0
while True:
 print('Ваш счет:', score)
 print()
 print("Хотите продолжить игру?")
 print("1 - Да")
 print("2 - Нет")
 choice = int(input())
 if choice == 1:
 rand = randint(-10, 10)
 score += rand
 step += 1
 print('Ход', step)
 print('Выпало очков:', rand)
 if score <= 0:
 print('Игра окончена. Ваш счет:', score)
 break
 else:
 print('Игра окончена. Ваш счет:', score)
 break
Игра «Комнаты замка»
Игрок перемещается по комнатам замка. Есть 3 варианта комнат. Если игрок попадает в комнату 
с драконом - жизнь отнимается. Если игрок попадает в комнату с живой водой - жизнь 
добавляется. Если игрок попадает в пустую комнату - ничего не происходит. Игра продолжается 
до тех пор, пока у игрока есть жизни. Переход из одно
from random import randint
lives = 3
score = 0 # баллы
while True:
 print('Ваши очки:', score)
 print('Ваши жизни:', lives)
 print()
 print("Хотите пройти в следующую комнату?")
 print("1 - Да")
 print("2 - Нет")
 choice = int(input())
 if choice == 1:
 room = randint(1, 3)
 score += 1
 if room == 1:
 print('Вы сражались с драконом и потеряли жизнь.')
 lives -= 1
 elif room == 2:
 print('Вы выпили живой воды и получили жизнь.')
 lives += 1
 else:
 print('Ничего не произошло.')
 if lives == 0:
 print('Игра окончена. Ваш счет:', score)
 break
 else:
 print('Игра окончена. Ваш счет:', score)
 break
Создан

import random

def drawBoard(board):
    # Рисует игровое поле
    print('   |   |')
    print(' ' + board[1] + ' | ' + board[2] + ' | ' + board[3])
    print('   |   |')
    print('-----------')
    print('   |   |')
    print(' ' + board[4] + ' | ' + board[5] + ' | ' + board[6])
    print('   |   |')
    print('-----------')
    print('   |   |')
    print(' ' + board[7] + ' | ' + board[8] + ' | ' + board[9])
    print('   |   |')

def isWinner(board, letter):
    # Проверяет, выиграл ли игрок с указанной буквой
    win_combinations = [
        [1,2,3], [4,5,6], [7,8,9],  # горизонтали
        [1,4,7], [2,5,8], [3,6,9],  # вертикали
        [1,5,9], [3,5,7]            # диагонали
    ]
    for combo in win_combinations:
        if all(board[i] == letter for i in combo):
            return True
    return False

def isBoardFull(board):
    # Проверяет, заполнена ли доска
    return all(board[i] != ' ' for i in range(1, 10))

def free(board, movesList):
    # Возвращает список свободных ячеек из переданного списка
    possibleMoves = []
    for i in movesList:
        if board[i] == ' ':
            possibleMoves.append(i)
    return possibleMoves

def randomMove(board, movesList):
    # Случайный ход из списка возможных
    possibleMoves = free(board, movesList)
    if len(possibleMoves) != 0:
        return random.choice(possibleMoves)
    else:
        return None

def getComputerMove(board):
    # Умный ход компьютера
    possibleMoves = free(board, [1,2,3,4,5,6,7,8,9])
    
    # Проверка: может ли компьютер выиграть
    for i in possibleMoves:
        board[i] = computerLetter
        if isWinner(board, computerLetter):
            board[i] = ' '
            return i
        board[i] = ' '
    
    # Проверка: может ли игрок выиграть? Если да, блокируем
    for i in possibleMoves:
        board[i] = playerLetter
        if isWinner(board, playerLetter):
            board[i] = ' '
            return i
        board[i] = ' '
    
    # Попытка занять углы
    move = randomMove(board, [1,3,7,9])
    if move != None:
        return move
    
    # Если углы заняты, центр
    if board[5] == ' ':
        return 5
    
    # Иначе любой из боковых
    return randomMove(board, [2,4,6,8])