Задание: Модификация.
Что еще можно придумать с игрой "Морской бой"?
Например, добавить второго игрока - компьютер, который будет делать ход после игрока.
Таким образом цель игры станет набрать больше очков, чем компьютер.
Или добавить выбор размера поля пользователем. Тогда сложность игры можно будем менять по своему вкусу.
А что если заменить обычные обозначения X и S на смайлики? Например и .
Придумайте как можно улучшить созданную на уроке игру и модифицируйте ее так, как захотите✨
Исходный код:
from random import randint
board = []
row = 4 # Здесь можете изменить размерность нашего поля
col = row
for i in range (row):
board.append(["О"] * row)
print('1. Лёгкий: 12 попыток')
print('2. Средний: 8 попыток')
print('3. Сложный: 4 попытки')
level = int(input('Выбирай уровень сложности:'))
if level== 3:
game_hard_lvl = 4
elif level== 2:
game_hard_lvl = 8
else:
game_hard_lvl = 12
print('Начнём игру!')
for i in range(len(board)):
print((" ").join(board[i]))
ship_row = randint(0, row - 1)
ship_col = randint(0, col - 1)
for i in range(game_hard_lvl):
print('Ход', i+1 )
user_row = int(input('Введите номер строки от 0-3!'))
user_col = int(input('Введите номер колонки от 0-3!'))
if user_row == ship_row and user_col == ship_col:
print("Ты попал по кораблю ракетой! Победа!")
board[user_row][ user_col] = 'S'
for i in range(len(board)):
print((" ").join(board[i]))
break
elif user_row < 0 or user_row > row - 1 or user_col < 0 or user_col > row - 1:
print("Введенные координаты не входят в игровое поле!")
elif board[user_row][user_col] == 'x':
print("На данные координаты уже была отправлена ракета!")
else:
print("Мимо! Ты не попал по кораблю ракетой!")
board[user_row][user_col] = 'x'
for i in range(len(board)):
print((" ").join(board[i]))
print('Игра окончена!')
Примем условие №1, потому что при условии №2 получается неопределенность (например, каждый приходит в какой-то свой момент времени и даже двое могут прийти на последней секунде этих 45 минут).
Каждые 45 минут приходят двое больных; врач проведет прием двух больных за 40 минут, следовательно, еще 5 минут у него больных не будет и этот цикл повторяется в течение всего времени приема.
1-20 минута: один больной на приеме, один в очереди.
21-40 минута: один больной на приеме, очереди нет.
41-45 минута: на приеме никого нет, очереди нет.
Максимальное время нахождения людей в клинике - 40 минут.
Максимальное количество людей, ожидающих приема - один человек в течение 20 минут.
Для решения задачи по варианту №2 нужно привлекать теорию массового обслуживания и задавать вероятностное распределение прихода больных, после чего проводить моделирование процесса.
Невысокое качество электронных комплектующих было слабым местом советских ЭВМ третьего поколения. Отсюда постоянное отставание от западных разработок по быстродействию, весу и габаритам, но, как настаивают разработчики СМ, не по функциональным возможностям. Для того чтобы компенсировать это отставание, разрабатывались спецпроцессоры, позволяющие строить высокопроизводительные системы для частных задач. Еще в начале 60-х появляются первые миникомпьютеры - небольшие маломощные компьютеры, доступные по цене небольшим фирмам или лабораториям. Миникомпьютеры представляли собой первый шаг на пути к персональным компьютерам, пробные образцы которых были выпущены только в середине 70-х годов. Известное семейство миникомпьютеров PDP фирмы Digital Equipment послужило прототипом для советской серии машин СМ.
Между тем количество элементов и соединений между ними, умещающихся в одной микросхеме, постоянно росло, и в 70-е годы интегральные схемы содержали уже тысячи транзисторов. Это позволило объединить в единственной маленькой детальке большинство компонентов компьютера - что и сделала в 1971 г. фирма Intel, выпустив первый микропроцессор, который предназначался для только-только появившихся настольных калькуляторов. Этому изобретению суждено было произвести в следующем десятилетии настоящую революцию - ведь микропроцессор является сердцем и душой современного персонального компьютера.