파이썬으로 무한의 계단을 만들고 있는데 질문이 있습니다
본문
from tkinter import *
import random
CharacterPosition = 0 # 캐릭터의 위치
CharacterLevel = 0 #캐릭터 레벨
CharacterDirection = 1 # 캐릭터의 방향
CharacterImage = 0 # 캐릭터 이미지
StairLocations = [-4, -3, -2, -1, 0, 1, 2, 3, 4]
Direction = 1
for i in range (0, 7, 1):
if random . randint (0, 4) == 0:
Direction *= -1
StairLocations . append (StairLocations [8 + i] + Direction)
def DrawStairs (): # 계단의 간격
for i in range (0, 16, 1):
Stairs [i] . place (x = 80 * (StairLocations [i] - CharacterPosition + 5), y = 40 * i)
def OnSwitch (event = None):
global CharacterDirection
global CharacterImage
CharacterDirection *= -1
CharacterImage = (CharacterImage + 1) % 2
BM . configure (image = BMImages [CharacterImage])
BM . image = BMImages [CharacterImage]
OnDown (event)
def OnDown (event = None):
global CharacterPosition
global CharacterLevel
CharacterPosition += CharacterDirection
CharacterLevel += 1
StairLocations . pop (0)
Direction = StairLocations [14] - StairLocations [13]
if random . randint (0, 4) == 1:
Direction *= -1
StairLocations . append (StairLocations [14] + Direction)
DrawStairs ()
CheungLabel . configure (text = "지하" + str (CharacterLevel) + "층")
W = Tk ()
W . geometry ("880x640")
W . title ("무한의 계단")
BMImages = []
BMImages . append (PhotoImage (file = "bmright.gif")) # 80x160
BMImages . append (PhotoImage (file = "bmleft.gif")) # 80x160
StairImage = PhotoImage (file = "stair.gif") # 80x40
SwitchImage = PhotoImage (file = "switch.gif") # 120x120
DownImage = PhotoImage (file = "down.gif") #120x120
BM = Label (W, image = BMImages [0])
BM . place (x = 400, y = 0)
Stairs = []
for i in range (0, 16, 1):
Stairs . append (Label (W, image = StairImage))
DrawStairs ()
CheungLabel = Label (W, text = "입구")
CheungLabel . place (x = 0, y = 0)
SwitchButton = Button (W, image = SwitchImage, command = OnSwitch)
DownButton = Button (W, image = DownImage, command = OnDown)
W . bind ("z", OnSwitch) # OnSwitch (event)
W . bind ("/", OnDown)
BM . tkraise (aboveThis = None)
SwitchButton . place (x = 0, y = 520)
DownButton . place (x = 760, y = 520)
W . mainloop ()
현재 이런식으로 캐릭터는 제자리에서 /를 누르면 계단을 현재 보고 있는 방향으로 이동하는것 처럼 보이고
z를 누르면 보고있는 방향을 바꾸어 진행하는 간단한 코드를 제작중입니다...
그런데 캐릭터가 계단위에서 벗어나면 이 게임 창이 바로 닫히는 코드를짜고 싶은데 어떻게 하면 좋을까요? 읽어주셔서 감사합니다
답변 4
이야 ㅋㅋ 과제를 지가 만들었다카고잇노
이야 ㅋㅋ 과제를 지가 만들었다카고잇노
보통 이런것은 매트릭스로 만듭니다.
위의 것은 보니 12x16정도에 계단이 있는 곳은 1 이고 없는 곳은 0으로 해서..
0인 위치로 가면 떨어지겠죠.
높은 1에서 아래로 떨어질때 아래에 1이 있다면 살아나는 것도...(???)
과제를 여기서 질문하면 안되지 ^^