어떤 함수가 if문에서 None을 리턴한다.

어째서....?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def handle_keys():
    key = libtcod.console_wait_for_keypress(True)
    
    if key.vk == libtcod.KEY_ENTER and key.lalt:
        #Alt+Enter: toggle fullscreen
        libtcod.console_set_fullscreen(not libtcod.console_is_fullscreen()) 
    elif key.vk == libtcod.KEY_ESCAPE:
        return 'exit'  #exit game
    #
    print game_state
    #
    if game_state == 'palying': #<-여기서 None이 반환된다.... 왜???
        #movement keys
        if libtcod.console_is_key_pressed(libtcod.KEY_UP):
            player_move_or_attack(0,-1);print 'what??'
        elif libtcod.console_is_key_pressed(libtcod.KEY_DOWN):
            player_move_or_attack(01
        elif libtcod.console_is_key_pressed(libtcod.KEY_LEFT):
            player_move_or_attack(-1,0)
        elif libtcod.console_is_key_pressed(libtcod.KEY_RIGHT):
            player_move_or_attack(1,0)
        else:
            return 'didnt-take-turn'
cs
즉 'what??'이 출력이 안 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def handle_keys():
    #key = libtcod.console_check_for_keypress()  #real-time
    key = libtcod.console_wait_for_keypress(True)  #turn-based
 
    if key.vk == libtcod.KEY_ENTER and key.lalt:
        #Alt+Enter: toggle fullscreen
        libtcod.console_set_fullscreen(not libtcod.console_is_fullscreen())
 
    elif key.vk == libtcod.KEY_ESCAPE:
        return 'exit'  #exit game
 
    print '----0-'
    if game_state == 'playing':
        #movement keys
        if libtcod.console_is_key_pressed(libtcod.KEY_UP):
            player_move_or_attack(0-1
        elif libtcod.console_is_key_pressed(libtcod.KEY_DOWN):
            player_move_or_attack(01
        elif libtcod.console_is_key_pressed(libtcod.KEY_LEFT):
            player_move_or_attack(-10
        elif libtcod.console_is_key_pressed(libtcod.KEY_RIGHT):
            player_move_or_attack(10)
 
        else:
            return 'didnt-take-turn'
cs
얘는 돌아가는 코드.... 뭐가 다른데?


더욱 이상한 것은, 튜토리얼에 있는 코드를 그대로 복붙했더니 그런 일 없이 잘 돌아간다는 것.
눈을 부릅뜨고 읽어봐도 코드는 똑같은데 다른거 없는데 내껀 안 되고 제껀 됨 ㅋㅋㅋㅋ

도대체 왜지? 뭐어지? 퍄이썬을 제대로 안 해서 문제가 뭔지 전혀 모르겠다. libtcod 버그인가?
비주얼스튜디오가 실행라인을 이상하게 보여주는 건가?

도대체 뭔지 모르겠다... 일단 복붙하고 넘어가는데..