파이썬에서 매우 간단한 건강 기능을 원하십니까

Sugardust :

제가 일반적으로 프로그래밍에 아주 아주 새로운 오전 말로 서문 보자. 나는 약 일주일 동안 그 일을 봤는데 성공적으로 계산기 같은 것들과 모든 초보자 재즈를 만든 및 텍스트 기반 어드벤처 게임 내 첫번째 진짜 "프로젝트"에 노력하고있다. 내 문제는 지금 내가 내 인생을 위해 함께 아주 간단한 의료 시스템을 넣을 수 없습니다 당신의이 가질 수있는 포인터를 좀하고 싶습니다이다.

나는 그것을 여러 번에 대한 코드를 다시 작성했지만 여기에 내가 함께 일하고 한 내용의 기본 틀은 다음과 같습니다

def healthSystem(enemy_atk = 0):   # Called at the beginning of every game screen.
    watermark()   # A function that prints the game title and other things at the top of every screen

    max_health = 10       # Player max health
    no_health = 0         # Player dies at this threshold
    modifier = enemy_atk  # An enemy attack roll is taken from another function and stored here
    current_health = max_health - modifier   # Calculating the new health

    print("+" * current_health)   # Prints the new health to the screen, every 1 health is represented with a "+"
    print()

그것은 매우 베어 그리고 그것은 최초의 게임 화면에서 작동합니다. 그러나 당신이 다음 게임 화면으로 진행하면, 모든 것이 다시 계산하고 건강의 서로 다른 양의 모든 화면을 얻을 수 있도록 건강은 화면마다 다시 그려집니다.

클래스에 대한이 호출은겠습니까? 나는 클래스를 사용하는 아직 그들을 사용하여 몇 가지 예제를 봐 왔지만, 나는이 첫 번째 프로젝트를위한 기능에 충실 할 수 기대했다. 어떤 도움을 모두 주셔서 감사합니다.

Gndhigndhi :

문제처럼 보인다는 프로그램이 화면 사이의 플레이어의 건강을 기억하고 싶은 것입니다?

그렇다면, 나는 당신이 공격 사이에 플레이어의 건강을 저장하는 함수의 변수 외부의 어떤 종류를해야합니다 생각합니다. 함수가 (10)마다에 건강을 재설정처럼 지금 이후로 보인다.

또한, 나는 당신의 현재 건강에 전달하는 함수에 다른 인수를 사용하는 것이 좋습니다 것, 그리고 반환 값은 새 건강이 공격해야한다 무엇을 계산합니다.

즉 당신이 가고있는 방법이라면, 당신의 최상위 기능은 다음과 같은 종류의 볼 것이라고 생각 -

# Starting Health
my_health = 10
...
# Main loop
while(not_quit):
    ...
    # Update health
    my_health = healthSystem(enemy_attack, my_health)
    ...

추천

출처http://43.154.161.224:23101/article/api/json?id=19596&siteId=1