2012-04-27 2 views
-1

나는 단순한 레벨 시스템으로 좋을 것이다. 점수 변수가 일정 수에 도달 할 때 예를 들어 적 (공) & 속도 (속도) 증가 할 것입니다 :심플 레벨 시스템

내가 시도
if score >= 500: 
    enemies=6 
    velocity=2 

몇 가지 방법을, 내 첫 번째 시도는 위 내 게임 루프 내에서하지만 같았어요 즉석에서 변경할 수 없었습니다. 오류 :

Traceback (most recent call last): 
File "C:\Users\MO\Desktop\Twerk\ballbounce_changed.py", line 233, in <module> 
    game() 
File "C:\Users\MO\Desktop\Twerk\ballbounce_changed.py", line 182, in game 
positionx[i]=positionx[i]+positionxmove[i] 
    IndexError: list index out of range 

나는 또한 작동하지 않는 다른 방법을 시도했습니다. 레벨 시스템을 구현하도록 도와 주시겠습니까? 내 게임 코드는 여기에서 찾을 수 있습니다

http://pastebin.com/nhqKdR19이 문제는 처음에 코드입니다 해당 목록이 3 개 요소를 필요로 시작하면

+2

(귀하의 구현과 오류는 귀하의 구현과 오류가 근본적으로 다릅니다. 'positionx'와'positionxmove'의 크기를 검사하고 그런 것들을 시도하기 전에 그것들이 동등한 지 확인하십시오. – Makoto

+2

소스 코드를 살펴보면 실제로 클래스를 사용해야합니다. 인덱싱 된 데이터를 저장하는 많은 목록을 갖는 것이 자연스럽지 않고 오류가 발생할 수 있습니다. 게임에서 엔티티에 대한 클래스를 사용해보십시오. –

+1

또한'if score == 500'을 피하고'if score> = 500'을 사용해야합니다. 평등을 사용할 때 사용자가 게임 루프가 끝날 때 정확히 500 점을 치지 않으면 어려움은 결코 사라지지 않습니다. 당신이 원하는 것은 사용자가 500 점 이상을 획득하면이를 래칫 (ratchet)하는 것입니다. –

답변

1

대신은 :

if score == 500: 
    enemies = 6 
    velocity = 2 

당신은 아마 추적 목록을 수정하고 velocity 값을 증가시키는 increase_difficulty() 방법이 있어야합니다. 위에 언급 한대로 == 대신 >=을 사용해야합니다. 그렇다면 게임 루프 코드는 다음과 같습니다 :

if score >= 500: 
    increase_difficulty() 
1

감사, 당신은 당신의 적 목록을 확장하지 않고 6 셀까지 범프. 이로 인해 목록의 끝을 지나서 업데이트하려고 할 때 업데이트 루프가 목록 끝에서 실행됩니다. 적을 증가 시키면 목록에 새로운 값을 추가하여 3 개의 항목을 추가로 확장해야합니다. 기존 목록을 확장하려면 name_of_your_list.append(new_value)을 사용하십시오.

+0

그 자리에서 목록 크기를 늘리려면 어떻게해야합니까? 미안합니다. – ErHunt