Я сделал игру с линкорами, и теперь мне нужно убедиться, что компьютер не атакует в одном и том же месте дважды.Создайте случайные не повторяющиеся образцы из массива чисел
Мое представление об этом заключается в хранении координат каждого кадра в переменной, которая добавляется к каждому новому снимку, а затем мне просто нужно проверить и проверить, соответствует ли текущий кадр в переменной.
Это код, у меня есть для съемки:
if playerNumber == "1":
eg.msgbox("Player " + str(playerNumber) + " your shot.")
hit=False
shotX=eg.enterbox("Enter the x-coordinate for your shot (1-5): ")
shotY=eg.enterbox("Enter the y-coordinate for your shot (1-5): ")
else:
eg.msgbox("The computer will now attack!")
hit=False
shotX=str(random.randint(1,5))
shotY=str(random.randint(1,5))
eg.msgbox ("The computer shot at " + str(shotX) + ", " + str(shotY) + "")
Моя идея убедившись, что компьютер выбирает то, что не в списке с помощью цикла, где он держит выбор выстрела, пока одна она выбор уже не выбран.
Фактический код, который делает компьютер огонь его выстрел:
hit = haveShot("2", p1ship1, p1ship2 , player2Board)
if hit:
p2 = p2 + 1
eg.msgbox("The Computer has " + str(p2) + " points and Player 1 has " + str(p1) + " points")
if p2 == 2:
eg.msgbox("Unlucky, The computer won. Press enter to continue")
if platform.system() == "Windows": # ONLY PLAY SOUNDS IF ON WINDOWS OS
finish()
break
Спасибо!
поставить все координаты в списке и просто удалить коорд после того, как был выбран –