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

Морской бой

03.02.2020, 13:19. Показов 6716. Ответов 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
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru