2016-10-10 3 views
0

내 문제는 '지원'변수를 살펴 보는 것입니다. (변수 목록에서) 현재 소비에는 적용되지 않습니다. EX의 경우. 'S'를 누르고 게임을 시작한 다음 'M'을 눌러 임무를 표시 한 다음 'S'를 눌러 생존자 임무를 선택하십시오. 그리고 나는 2 명의 생존자를 받는다. 그 수는 어떤 이유로 든 지원에 추가되지 않고 "인간은 1 인당 0.1을 더해야하기 때문에"당신은 1 할만 큼 소비하고 있습니다. " 미안해 이것이 이해하기 어렵다면, 나는 단지 11 명을 프로그램하려고 노력하고있다! PIL 가져 오기 이미지수학 방정식 오류

print('\x1b[6;30;42m' + 'Zombie Survival Simulator' + '\x1b[0m') 
print "Press [S] to start!" 
resp = raw_input() 
if 's' in resp or 'S' in resp: 
    foodmission = ['Convience Store','Grocery Store','Restraunt','Food Storage Area'] 
    watermission = ['Convience Store', 'Old Gas Station', 'Water Tower','Toppled Coca-Cola truck.'] 
    survivormission = ['Abandoned Refugee Camp','Bus','Army Camp','Train Station'] 
    "FOOD" 
    #Pick Area 
    def pickfoodMission(): 
     foodmis = random.choice(foodmission) 
     return foodmis 
    #Chance to get food 
    def chanceFood(): 
     foodcha = random.randint(1,20) 
     return foodcha 
    #How much food you gain a mission 
    def foodPickup(): 
     foodpick = random.randint(1,2) 
     return foodpick 
    "WATER" 
    #Pick the area 
    def pickwaterMission(): 
     watermis = random.choice(watermission) 
     return watermis 
    #Chance for getting water 
    def chancewater(): 
     watercha = random.randint(1,20) 
     return watercha 
    #Number of water you gain a mission 
    def waterPickup(): 
     waterpick = random.randint(1,2) 
     return waterpick 
    "SURVIVORS" 
    #Pick the area 
    def picksurvivorMission(): 
     survivormis = random.choice(survivormission) 
     return survivormis 
    #Chance for getting water 
    def chancehuman(): 
     humancha = random.randint(1,20) 
     return humancha 
    #Number of water you gain a mission 
    def humanPickup(): 
     humanpick = random.randint(1,2) 
     return humanpick 


    food = 3 
    water = 3 
    human = 5 
    healthy = 0 
    con = 0.1 
    level = 1 
    game = 1 
    new = 1 
    foodcon = 0 
    watercon = 0 
    support = 0.1 * human 
    newhuman = (human + (1 + (human/5)) + healthy) 
    newwater = (water + (1 + (human/5)) + healthy) 
    newfood = (water + (1 + (human/5)) + healthy) 
    while game == 1: 
     if food <= 0 or water <= 0: 
      print('\x1b[7;30;41m' + 'You and your friends are dead.' + '\33[3m') 
      break 
     if food >= 3 or water >= 3: 
      healthy = healthy + 1 
     if food <= 2 or water <= 2: 
      healthy = healthy - 1 
     print "Current Resources: Food: " +str(food) + " Day(s) Water: " + str(water) + " Day(s)" 
     print "Current Survivors " + str(human) 
     if healthy <= -3 and healthy >= -1: 
      print "Current Survivors are " + ('\x1b[7;30;41m' + 'Nearly Dead' + '\33[3m') 
     if healthy == 0: 
      print "Current survivors " + ('\x1b[7;30;41m' + 'Are not healthy' + '\33[3m') 
     if healthy >= 1 and healthy <= 3: 
      print "Current Survivors are " + ('\x1b[7;32;43m' + 'Ok' + '\x1b[0m') 
     if healthy >= 3 and healthy <= 5: 
      print "Current Survivors are " + ('\x1b[7;32;43m' + 'Great' + '\x1b[0m') 
     if healthy >= 5 and healthy <= 7: 
      print "Current Survivors are " + ('\x1b[7;32;43m' + 'Excellent' + '\x1b[0m') 
     foodcon = support 
     watercon = support 
     food = food - support 
     water = water - support 
     print human 
     print support 
     print "You are consuming " + str(support) + " food and " + str(support) + " water per day" 
     if food - support <= 0 or water - support <= 0: 
      print('\x1b[7;30;41m' + 'You will not survive the next day.' + '\33[3m') 
     print "[M]issions [B]uilding [H]oard [E]nd Day" 
     resp = raw_input() 
     if 'M' in resp or 'm' in resp: 
      print "[F]ood [W]ater [S]urvivor" 
      resp = raw_input() 
      if 'F' in resp or 'f' in resp: 
       foodmis = pickfoodMission() 
       print "You go to a " + foodmis 
       foodcha = chanceFood() 
       if foodcha >= 14: 
        foodpick = foodPickup() 
        food = newfood 
        img = Image.open('food.png') 
        img.show() 
        print('\x1b[7;32;43m' + 'You are now at ' + str(newfood) + ' day(s) of food' + '\x1b[0m') 
       elif foodcha < 14: 
        print('\x1b[7;30;41m' + 'You come back empty handed.' + '\x1b[0m') 
      elif 'w' in resp or 'W' in resp: 
       watermis = pickwaterMission() 
       print "You go to a " + watermis 
       watercha = chancewater() 
       if watercha >= 14: 
        waterpick = waterPickup() 
        water = newwater 
        img = Image.open('water.png') 
        img.show() 
        print('\x1b[7;32;43m' + 'You are now at ' + str(newwater) + ' day(s) of water' + '\x1b[0m') 
       elif watercha <= 14: 
        print('\x1b[7;30;41m' + 'You come back empty handed.' + '\x1b[0m') 
      elif 's' in resp or 'S' in resp: 
       humanmis = picksurvivorMission() 
       print "You go to a " + humanmis 
       humancha = chancehuman() 
       if humancha >= 14: 
        humanpick = humanPickup() 
        human = newhuman 
        print('\x1b[7;32;43m' + 'You are now at ' + str(human) + ' survivor(s)' + '\x1b[0m') 
        img = Image.open('cats.jpg') 
        img.show() 
       elif humancha <= 14: 
        print('\x1b[7;30;41m' + 'You come back with no one else new.' + '\x1b[0m') 
     if 'B' in resp or 'b' in resp: 
      print "[F]ood" 
+0

인쇄 "소비 중"+ str (지원) + "food and"+ str (지원) + "하루 물"업데이트되지 않는 print 문입니다. – CatsInSpace

답변

1

당신이 그렇게 처음으로 당신이 동일합니다 그것을 밖으로 인쇄 할 때마다 설정 한 후 당신은 결코 당신의 support 변수를 업데이트하지있어에서 임의 수입. supporthuman에 종속되므로 human이 업데이트 될 때마다 support을 다시 계산하거나 필요할 때 계산하는 calculate_support()과 같은 기능을 사용해야합니다.

+1

감사합니다! 이제 작동합니다! – CatsInSpace

0

는 지금까지 내가 당신 만의 코드에 한 번 '지원'변수에 값을 할당하는 빠른 한눈에 볼 수 있습니다 :

support = 0.1 * human 

내가 생각하지 않는이 코드를 다시 실행 가져옵니다. 이 지원 문을 통해 지원이 가치를 얻으면 '인간'변수의 값을 업데이트하더라도 업데이트되지 않습니다.

+0

이 질문은 이미 답변되었지만 감사합니다! – CatsInSpace

관련 문제