Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 23.01.2020
Сообщений: 3

Морской бой

03.02.2020, 13:19. Показов 6744. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавить второго игрока - компьютер, который будет делать ход после игрока.
Исходный код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from random import *
 
board = [] #поле
 
for i in range(0,4,1):
    board.append(["O"] * 4)
 
ship = []
 
for i in range(0,3,1):
    ship_row = randint(0, len(board) - 1) #генерация по столбику
    ship_col = randint(0, len(board[0]) - 1) #генерация по строке
    ship.append([ship_row,ship_col]) #добавление кораблей
 
print('1)Легкий: 12 попыток')
print('2)Средний: 8 попыток')
print('3)Сложный: 4 попытки')
print('4)Невозможный: 2 попытки')
 
#Уровень сложности
level=int(input('Выбери уровень сложности:'))
w=10
if level == 1:
    w = 12
elif level == 2:
    w = 8
elif level == 3:
    w = 4
elif level == 4:
    w = 2
 
print("Начнем игру в Морской бой!")
 
for x in board: #вывод столбиком
# print(('|').join(x))
 
for turn in range(0,w,1):
    guess_row = int(input("Строка 0-3:")) #ввод столба
    guess_col = int(input("Столбец 0-3:")) #ввод столба
 
hit = 0
for i in range(0,len(ship),1):
    if ship[1] == [guess_row,guess_col]:
        hit = 1
        del ship[i]
board[guess_row][guess_col] = 's'
break
 
if 0 < hit:
    print('Вы выбили корабль')
if len(ship) == 0:
    print('Вы победили')
 
else:
    if (guess_row<0 or guess_row>len(board)) or (guess_row<0 or guess_col>len(board)):
            print('Эти координаты не в нашей компетенции')
        elif board[guess_row][guess_col] == 'X':
            print('Ты что дурак? Перезарядка...')
        else:
            print('Мимо!')
        board[guess_row][guess_col] = 'X'
 
for x in board:
    print((' ').join(x))
 
if turn == w-1:
print("Игра окончена! Я уплываю в закат!")
break
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.02.2020, 13:19
Ответы с готовыми решениями:

Морской бой
В файле задано поле размером 10*10. Пустое поле кодируется точкой, а поле, представляющее часть корабля, кодируется звёздочкой. Нужно...

Морской бой
Ваш друг любит играть в морской бой на нескольких «досках» сразу, но ленится каждый раз придумывать новое поле. Он попросил вас сделать...

Морской бой
Дима любит играть в морской бой. К сожалению, он очень рассеян и постоянно неправильно отмечает на карте клетки, по которым уже стрелял....

1
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
03.02.2020, 14:00
Вот так как-то)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def drawMatrix(matrix):
    # Матрица в формате [[], [], []]
    for i in matrix:
        for j in i:
            print(j, end='\t')
        print()
 
 
def matrixHorizontalReflection(matrix):
    # Матрица в формате [[], [], []]
    # Есть идея выводить каждую матрицу в обратной порядке с помощью функции reversed()
    for i in matrix:
        for j in reversed(i):
            print(j, end=' ')
        print()
 
 
def matrixVerticalReflection(matrix):
    # Здесь можно выводить в отдельный список столбей и строчку из списка,
    # переворачивать, и вставлять обратно
    for i in reversed(matrix):
        for j in i:
            print(j, end=' ')
        print()
 
 
def matrixTranpone(matrix):
    for i in list(zip(*matrix)):
        for j in i:
            print(j, end=' ')
        print()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2020, 14:00
Помогаю со студенческими работами здесь

Задача, Морской бой - 2
Здравствуйте! Нужна помощь в решении задачи: «Морской бой» - игра для двух участников, в которой игроки по очереди называют...

Задача Морской бой
Помогите решить задачу c помощью любой среды, пожалуйста. Задача 1 «Морской бой» - игра для двух участников, в которой игроки по...

Морской бой. Lite version
Дана задача, написать код упрощенной игры &quot;Морской бой&quot;. Возникла проблема с прорисовкой поля. Подскажите пожалуйста, как можно реализовать...

Написать игру, типо морской бой
Напишите упрощенный аналог игры &quot;Морской бой&quot; с условным названием &quot;Летучий голландец&quot;. Игра заключается в том, что программа...

Переделать игру "Морской бой"
Есть затык по игре &quot;Морской бой&quot;. Код такой: from random import randint board = for x in range(6): board.append( *...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru