你好,堆栈溢出团队, 我的代码中有一个(可能)小错误,但我仍然没有找到它。代码如下:
import random
from random import randint
board = []
print("\n")
board.append(["S", "\a " * 10])
for x in range(2):
board.append(["\a", "+" * 17, "\a"])
board.append(["\a", "+" * 17, "E"])
for x in range(3):
board.append(["\a", "+" * 17, "\a"])
board.append(["E", "+" * 17, "\a"])
for x in range(4):
board.append(["\a", "+" * 17, "\a"])
board.append(["\a", "+" * 17, "E"])
board.append(["\a " * 11])
def print_board(board):
for row in board:
print(" ".join(row))
print(" Auf geht's mit 'ner kleinen Runde: Das Brettspiel\n")
print("Deine Figur startet bei \"S\". Jede Runde würfelst du 1- Mal. Die Anzahl der erwürfelten Augen bestimmen die "
"Schrittweite deiner Figur. Drücke \"Enter\" Taste um zu würfeln.")
print("\n")
token = input("Gib ein Zeichen ein, welches deine Spielfigur werden soll :")
x = 0
y = 0
print_board(board)
randeves = ["Du hast Pech und musst leider 3 Felder zurück", "Du hast Glück und darfst 4 Felder nach vorne", "Deine Position bleibt unverändert"]
while True:
print("\n")
wurf = input("Würfle: ")
dice = randint(1, 6)
print("Du hast eine " + str(dice) + " gewürfelt\n")
if x + dice < 13:
x += dice
orc = board[x][y]
board[x][y] = token
print_board(board)
board[x][y] = orc
if orc == "\a":
print("")
elif orc == "E":
print("\n")
print(randeves[random.randrange(0, len(randeves))])
if randeves == "Du hast Pech und musst leider 3 Felder zurück":
x -= 3
elif randeves == "Du hast Glück und darfst 4 Felder nach vorne":
x += 4
elif randeves == "Deine Position bleibt unverändert":
print("")
elif x + dice > 13:
ex = (x + dice) - 13
y += ex
x = 13
orc = board[x][y]
board[x][y] = token
print_board(board)
board[x][y] = orc
if orc == "\a":
print("")
elif orc == "E":
print("\n")
print(randeves[random.randrange(0, len(randeves))])
if randeves == "Du hast Pech und musst leider 3 Felder zurück":
board[x - 3][y] = token
elif randeves == "Du hast Glück und darfst 4 Felder nach vorne":
board[x + 4][y] = token
elif randeves == "Deine Position bleibt unverändert":
print("")
elif x + dice == 13:
break
如你所见,我想编一个小棋盘游戏。 我的问题是,游戏中的令牌没有进入底线,但我得到的错误消息是列表(即棋盘)超出范围。我真的不知道如何正确地解决这个错误。你知道吗
通过在创建board之后添加以下行,可以解释y索引不正确的原因:
按照您声明板的方式,每行都是一个包含1、2或3个元素的列表。你知道吗
当y=0时,您没有问题,但当您有问题时:
您无法匹配您创建的列表。你知道吗
我没有最后的答案,您必须处理显示结果,这些行可能会帮助您:
对于
randeves
的东西,您可以这样做:我希望这次有德国奖金:p
相关问题 更多 >
编程相关推荐