Python, zliczanie wartości z szablonu.

0

Mam problem z napisaniem licznika, który byłby w stanie z wartości wcześniej zadeklarowanych po wykonaniu zadania zmieniać je na nowe. Mianowicie chodzi o to żeby po wygranej walce stan państwa zmieniał swoją wartość na 0, ale tylko jedno konkretne, z którym aktualnie walczymy. Próbowałem dodawać dodatkowe zmienne, który by to w jakiś sposób sprawdzały ale nic co napisałem nie działało poprawnie. Czy ktoś może wie w jaki sposób można to rozwiązać?


        if stan == 1:
            dodaj = random.randint(100, dorand)
            self.wygrana = (self.gracz.wojsko / (self.gracz.wojsko + wojsko1 + dodaj) * 100) + self.gracz.comm
            print("Siła wojska " + imie + "wynosi: " + wojsko2)
            print("Twoje szanse na wygraną wynoszą: ", self.wygrana)
            time.sleep(0.5)
            print("Chcesz wypowiedzieć wojnę " +imie+ "?")
            print("1 = Tak / 2 = Nie")
            answer = input("")
            if answer == "1":
                print("Twoi żołnierze wyruszli do " + imie + "...")
                time.sleep(1.0)
                print("Walka się rozpoczęła...")
                time.sleep(1.0)
                if random.randint(0, 100) < self.wygrana:
                    stan -= 1
                    print('Sukces! Twoje wojska zniszczyły wrogą armię!')
                    print("Udało Ci się również zdobyć " + nagroda11 + " siły wojsk!")
                    self.gracz.wojsko += nagroda1
                    print("Dzięki wygranej skarb Twojego państwa wzbogacił się o " + nagroda22)
                    self.gracz.pieniądze += nagroda2
                    print("W efekcie, temperatura w Twoim państwie spada o 10%.")
                    self.gracz.temperatura -= 10
                    if self.gracz.temperatura < 0:
                        self.gracz.temperatura = 0
                else:
                    self.gracz.wojsko = self.gracz.wojsko * 0.8
                    print("Porażka! Twoje wojska zostały pokonane. Pozostało Ci", self.gracz.wojsko, "siły wojsk.")
                    print("W efekcie, temperatura w Twoim państwie wzrasta o 10%.")
                    self.gracz.temperatura += 10
                    time.sleep(1)
                    print("Przegrana kosztowała Cię $500")
                    self.gracz.pieniądze -= 500
        elif stan == 1 and self.gracz.stanus == 0:
            print( + imie + "nie stanowi już zagrożenia!")
        elif stan == 1 and self.gracz.stanru == 0:
            print( + imie +"nie stanowi już zagrożenia!")
        elif stan == 1 and self.gracz.stanuk == 0:
            print( + imie +"nie stanowi już zagrożenia!")
        elif stan == 1 and self.gracz.stange == 0:
            print( + imie +"nie stanowi już zagrożenia!")
        elif stan == 1 and self.gracz.stanfe == 0:
            print( + imie +"nie stanowi już zagrożenia!")
        elif stan == 1 and self.gracz.stansp == 0:
            print( + imie +"nie stanowi już zagrożenia!")```
2

Pomijając fakt, że oczy krwawią od tego kodu, weź ty wytłumacz przedstawioną formułę wygranej (?):

self.wygrana = (self.gracz.wojsko / (self.gracz.wojsko + wojsko1 + dodaj) * 100) + self.gracz.comm

Co się tu się?

Tak w ogóle to użyj pętli while i wywal te ify

1 użytkowników online, w tym zalogowanych: 0, gości: 1