您如何在列表内部调用一个字符串位置? - python

我一直在做迷宫游戏。我首先决定制作一个迷你教程。游戏开发才刚刚开始,现在我正在尝试使其向上发展。我正在尝试更改PlayerAre变量,但是它不起作用。

我试过放在列表内和列表外。

maze = ["o","*","*","*","*","*",".",#row one is over
        ".",".",".",".",".","*","*",#Row two is over
        "*","*","*","*",".","*",".",#Row three is over
        ".",".",".","*",".","*",".",#Row four is over
        ".",".",".","*",".","*",".",#Row five is over
        ".",".",".","*",".","*",".",#Row Six is over
        ".",".",".","*",".","@"]

mazeOne = maze[0:6]
mazeTwo = maze[7:13]
mazeThree = maze[14:20]
mazeFour = maze[21:27]
mazeFive = maze[28:34]
mazeSix = maze[35:41]
mazeSeven = maze[42:48]
playerAre = maze[47]

for a,b,c,d,e,f,g in zip (mazeOne, mazeTwo, mazeThree, mazeFour, 
mazeFive, mazeSix, mazeSeven):
    print (a,b,c,d,e,f,g)

keypress = str(input("""W, A, S, D: """))
if keypress == 'w' or keypress == 'W':
    playerAre = '.'
    playerAre = playerAre + 7

参考方案

您这里有两个直接的问题。

您已经将maze的内容(用于显示迷宫的*。@字符)与索引(整数0-48)混淆了。
您似乎想通过将位置增加7来向上移动播放器。请注意,这将为您提供位于迷宫外部的54位置。我想你想减去。

试试这个快速修复:

if keypress.lower() == 'w':
    maze[playerAre] = '.'
    playerAre = playerAre - 7

我强烈建议您在线查看许多迷宫示例。从迷宫布局的2D组织开始,看看他们如何更“自然”地处理移动。

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…

查找字符串中的行数 - python

我正在创建一个python电影播放器​​/制作器,我想在多行字符串中找到行数。我想知道是否有任何内置函数或可以编写代码的函数来做到这一点:x = """ line1 line2 """ getLines(x) python大神给出的解决方案 如果换行符是'\n',则nlines …

字符串文字中的正斜杠表现异常 - python

为什么S1和S2在撇号位置方面表现不同?S1="1/282/03/10" S2="4/107/03/10" R1="".join({"N\'" ,S1,"\'" }) R2="".join({"N\'…

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…