我正在尝试制作一个 2d 游戏,但不是以正常方式这里的代码我在尝试向上或向下时会发生奇怪的事情,我不明白为什么它会产生一些奇怪的事情,例如去当我向左走并且不在底排时,它会下降
import keyboard
import time
#split file by 0
d = []
a = open("Map.txt","r+", encoding="utf8")
a.write("""┌─────────────────────────────────────┐
│ ooooooooooooooooooooooooooooooooooo │
│ o ┌────────────┐ o ┌────────────┐ o │
│ o └────────────┘ o └────────────┘ o │
│ ooooooooooooooooooooooooooooooooooo │
│ o ┌─┐ o ┌─────────────────┐ o ┌─┐ o │
│ o │ │ o └─────────────────┘ o │ │ o │
│ o │ │ ooooooooooooooooooooooo │ │ o │
│ o │ └───────┐ o ┌─┐ o ┌───────┘ │ o │
│ o └─────────┘ o │ │ o └─────────┘ o │
│ ooooooooooooooo │ │ ooooooooooooooo │
│ o ┌──┐ o ┌──────┘ └──────┐ o ┌──┐ o │
│ o └──┘ o └───────────────┘ o └──┘ o │
│ ooooooooooooooooo0ooooooooooooooooo │
└─────────────────────────────────────┘""")
#use this to make it a list
b = list(a)
for c in b:
d += list(c)
#detect key press
true = 1
while true == 1:
time.sleep(2)
if keyboard.is_pressed("left"):
e = d.index('0')
if d[e-1] == "o" or d[e-1] == " ":
d[e] = " "
d[e-1] = '0'
if keyboard.is_pressed("right"):
e = d.index('0')
if d[e+1] == "o" or d[e+1] == " ":
d[e] = " "
d[e+1] = '0'
if keyboard.is_pressed("up"):
e = d.index('0')
if d[e-39] == "o" or d[e-39] == " ":
d[e] = " "
d[e-39] = '0'
if keyboard.is_pressed("left"):
e = d.index('0')
if d[e+39] == "o" or d[e+39] == " ":
d[e] = " "
d[e+39] = '0'
try:
f = ''
for i in d:
f += i
print(f)
except:
pass