Added program.
This commit is contained in:
parent
b96c6777d8
commit
64f77c1a0f
|
@ -0,0 +1,82 @@
|
|||
from locate2 import *
|
||||
from levels import *
|
||||
|
||||
def move(sx, sy):
|
||||
global c, n_o
|
||||
tx = x + sx
|
||||
ty = y + sy
|
||||
dest = carte.get_cell(tx, ty)
|
||||
if dest in "./":
|
||||
return tx, ty
|
||||
if dest in "+*":
|
||||
bx = tx + sx
|
||||
by = ty + sy
|
||||
bDest = carte.get_cell(bx, by)
|
||||
if bDest in "#*+":
|
||||
return x, y
|
||||
if dest == "+":
|
||||
c == "."
|
||||
carte.locate(tx, ty, ".")
|
||||
else:
|
||||
c == "/"
|
||||
carte.locate(tx, ty, "/")
|
||||
n_o += 1
|
||||
if bDest == ".":
|
||||
carte.locate(tx+sx, ty+sy, "+")
|
||||
return tx, ty
|
||||
if bDest == "/":
|
||||
carte.locate(tx+sx, ty+sy, "*")
|
||||
n_o -= 1
|
||||
return tx, ty
|
||||
return x, y
|
||||
return x, y
|
||||
|
||||
|
||||
def load(n):
|
||||
global carte
|
||||
w = lvl_dim[n][0]
|
||||
h = lvl_dim[n][1]
|
||||
carte = Pad(w, h)
|
||||
carte.load(levels[n])
|
||||
o = 0
|
||||
for i in range(w * h):
|
||||
c = levels[n][i]
|
||||
if c == "@":
|
||||
x = i % w + 1
|
||||
y = i // w + 1
|
||||
elif c == "/":
|
||||
o += 1
|
||||
return x, y, o
|
||||
|
||||
i = 0
|
||||
buffer = str()
|
||||
while 1:
|
||||
i = int(input("Enter level ID :\n> "))
|
||||
x, y, n_o = load(i)
|
||||
while n_o:
|
||||
c = carte.get_cell(x, y)
|
||||
if c == "@":
|
||||
c = "."
|
||||
carte.locate(x, y, "@")
|
||||
e = carte.refresh(x-10, y-2)
|
||||
carte.locate(x, y, c)
|
||||
if not e:
|
||||
e = buffer
|
||||
else:
|
||||
e = e[-1]
|
||||
buffer = e
|
||||
#action switch
|
||||
sx = 0
|
||||
sy = 0
|
||||
if e == "4":
|
||||
sx = -1
|
||||
elif e == "8":
|
||||
sy = -1
|
||||
elif e == "6":
|
||||
sx = 1
|
||||
elif e in "25":
|
||||
sy = 1
|
||||
elif e == "0":
|
||||
buffer == ""
|
||||
x, y, n_o = load(i)
|
||||
x, y = move(sx, sy)
|
Loading…
Reference in New Issue