Загрузка данных
Игра «Угадай число»
Программа загадывает число, и пользователь его угадывает.
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])