Я пытаюсь написать сценарий игры на линкоре (то есть когда вы говорите «B4», а враг говорит «HIT»)
На самом деле я пытаюсь позволить ПК случайным образом выбрать позицию корабля.Все в порядке, но теперь мне нужно изменить значение выбранного поля в "X" или что-то другое.
from random import *
import numpy as np
def nuovaPartita():
campo = np.arange(100).reshape(10,10)
navi = [
[True, True],
[True, True],
[True, True],
[True, True],
[True, True, True],
[True, True, True],
[True, True, True],
[True, True, True, True],
[True, True, True, True],
[True, True, True, True, True]
]
direzioni = [0,1,2,3]
for x in navi:
posTrovata = False
while posTrovata == False:
lenNave = len(x)
scegliCasella = choice(choice(campo))
scegliDirezione = choice(direzioni)
posCasella = np.where(campo == scegliCasella)
R = int(posCasella[0])
C = int(posCasella[1])
print("============================\nHo scelto la casella: {}\nLunghezza nave: {}".format(scegliCasella, lenNave))
if scegliDirezione == 0:
print("Vado in alto")
chunk = campo[R-(lenNave - 1): R+1, C]
if int(chunk.shape[0]) < lenNave:
print("Assolutamente")
posTrovata = False
else:
posTrovata = True
print("La nave si trova nelle caselle")
print(chunk)
elif scegliDirezione == 1:
print("Vado a destra")
chunk = campo[R, C: C + lenNave ]
if int(chunk.shape[0]) < lenNave:
print("Assolutamente")
posTrovata = False
else:
posTrovata = True
print("La nave si trova nelle caselle")
print(chunk)
elif scegliDirezione == 2:
print("Vado in basso")
chunk = campo[R: R+lenNave, C]
if int(chunk.shape[0]) < lenNave:
print("Assolutamente")
posTrovata = False
else:
posTrovata = True
print("La nave si trova nelle caselle")
print(chunk)
elif scegliDirezione == 3:
print("Vado a sinistra")
chunk = campo[R, C - lenNave: C]
if int(chunk.shape[0]) < lenNave:
print("Assolutamente")
posTrovata = False
else:
posTrovata = True
print("La nave si trova nelle caselle")
print(chunk)
print(campo)
def main():
nuovaPartita()
if __name__ == "__main__":
main()
Теперь, если я отображаю поле (названное "campo"), я получаю это
[[ 0 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 69]
[70 71 72 73 74 75 76 77 78 79]
[80 81 82 83 84 85 86 87 88 89]
[90 91 92 93 94 95 96 97 98 99]]
Теперь предположим, что у меня есть военный корабль на [54, 55, 56, 57] и военный корабль на [31, 41, 51], как я могу заменить эти поля int, например, на «x«