파이썬으로 무한의 계단을 만들고 있는데 질문이 있습니다

파이썬으로 무한의 계단을 만들고 있는데 질문이 있습니다

QA

파이썬으로 무한의 계단을 만들고 있는데 질문이 있습니다

본문

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 ()

 

3542798029_1639561017.3741.png

 

현재 이런식으로 캐릭터는 제자리에서 /를 누르면 계단을 현재 보고 있는 방향으로 이동하는것 처럼 보이고

z를 누르면 보고있는 방향을 바꾸어 진행하는 간단한 코드를 제작중입니다...

 

그런데 캐릭터가 계단위에서 벗어나면 이 게임 창이 바로 닫히는 코드를짜고 싶은데 어떻게 하면 좋을까요? 읽어주셔서 감사합니다

이 질문에 댓글 쓰기 :

답변 4

보통 이런것은 매트릭스로 만듭니다.

 

위의 것은 보니 12x16정도에 계단이 있는 곳은 1 이고 없는 곳은 0으로 해서..

 

0인 위치로 가면 떨어지겠죠. 

 

높은 1에서 아래로 떨어질때 아래에 1이 있다면 살아나는 것도...(???)

답변을 작성하시기 전에 로그인 해주세요.
전체 126,537 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT