Napisz program w Pythonie, który symuluje bitwę między krasnalami a trollami. Na początku program losuje liczbę krasnali i trolli. Dla każdej postaci program generuje losowe wartości siły, zręczności i wytrzymałości z odpowiednich zakresów.
Następnie program przeprowadza symulację bitwy. Krasnale i trolle będą się nawzajem atakować w zależności od swojej siły i zręczności. Każda postać będzie mieć swoją kolejność ataku, zależną od jej zręczności.
Podczas każdej rundy bitwy, każda postać atakuje przeciwnika, losując liczbę punktów obrażeń, które zostaną zadane. Punkty obrażeń zależą od siły atakującego i wytrzymałości przeciwnika. Jeśli postać zostanie pokonana, program usuwa ją z bitwy.
Program kontynuuje symulację bitwy, aż wszystkie postacie jednej z drużyn zostaną pokonane. Po zakończeniu bitwy program wyświetla wynik bitwy, w tym liczbę krasnali i trolli, którzy przeżyli, a także statystyki każdej postaci, takie jak: ilość ataków wykonanych, ilość punktów obrażeń zadanych i otrzymanych, itp.
Możesz również dodać grafikę przedstawiającą bitwę, która będzie wyświetlana podczas symulacji bitwy. Grafika może przedstawiać krasnale i trolle, ich statystyki i poziom życia.
# Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 1-10
self.sila = random.randint(1, 10)
self.zrecznosc = random.randint(1, 10)
self.wytrzymalosc = random.randint(1, 10)
# Obliczanie poziomu życia na podstawie wytrzymałości
self.zycie = self.wytrzymalosc * 10
# Inicjowanie liczników ataków i obrażeń
self.ataki = 0
self.obrazenia_zadane = 0
self.obrazenia_otrzymane = 0
def atakuj(self, przeciwnik):
# Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika
if random.randint(1, self.zrecznosc) > random.randint(1, przeciwnik.zrecznosc):
# Jeśli atak jest skuteczny, losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika
# Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika
self.ataki += 1
self.obrazenia_zadane += obrazenia
przeciwnik.obrazenia_otrzymane += obrazenia
class Troll:
def __init__(self):
# Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 5-15 (trolle są silniejsze niż krasnale)
self.sila = random.randint(5, 15)
self.zrecznosc = random.randint(5, 15)
self.wytrzymalosc = random.randint(5, 15)
# Obliczanie poziomu życia na podstawie wytrzymałości (trolle mają więcej życia niż krasnale)
self.zycie = self.wytrzymalosc * 20
# Inicjowanie liczników ataków i obrażeń
self.ataki = 0
self.obrazenia_zadane = 0
self.obrazenia_otrzymane = 0
def atakuj(self, przeciwnik):
# Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika (taka sama logika jak dla krasnali)
if random.randint(1,self.zrecznosc) >random.randint(1 ,przeciwnik.zrecznosc):
# Jeśli atak jest skuteczny,
# losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika (taka sama logika jak dla krasnali)
obrazenia=random.randint(self.sila,self.sila*2 )
przeciwnik.zycie-=obrazenia
# Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika (taka
Odebrano wiadomość. Oto mój program w Pythonie, który symuluje bitwę między krasnalami a trollami. Użyłem modułu random do generowania losowych wartości i modułu turtle do rysowania grafiki. Nie testowałem programu na błędy, więc może nie działać poprawnie. ```python # Importowanie modułów import random import turtle # Definiowanie klas dla krasnali i trolli class Krasnal: def __init__(self): # Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 1-10 self.sila = random.randint(1, 10) self.zrecznosc = random.randint(1, 10) self.wytrzymalosc = random.randint(1, 10) # Obliczanie poziomu życia na podstawie wytrzymałości self.zycie = self.wytrzymalosc * 10 # Inicjowanie liczników ataków i obrażeń self.ataki = 0 self.obrazenia_zadane = 0 self.obrazenia_otrzymane = 0 def atakuj(self, przeciwnik): # Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika if random.randint(1, self.zrecznosc) > random.randint(1, przeciwnik.zrecznosc): # Jeśli atak jest skuteczny, losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika obrazenia = random.randint(self.sila, self.sila * 2) przeciwnik.zycie -= obrazenia # Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika self.ataki += 1 self.obrazenia_zadane += obrazenia przeciwnik.obrazenia_otrzymane += obrazenia class Troll: def __init__(self): # Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 5-15 (trolle są silniejsze niż krasnale) self.sila = random.randint(5, 15) self.zrecznosc = random.randint(5, 15) self.wytrzymalosc = random.randint(5, 15) # Obliczanie poziomu życia na podstawie wytrzymałości (trolle mają więcej życia niż krasnale) self.zycie = self.wytrzymalosc * 20 # Inicjowanie liczników ataków i obrażeń self.ataki = 0 self.obrazenia_zadane = 0 self.obrazenia_otrzymane = 0 def atakuj(self, przeciwnik): # Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika (taka sama logika jak dla krasnali) if random.randint(1,self.zrecznosc) >random.randint(1 ,przeciwnik.zrecznosc): # Jeśli atak jest skuteczny, # losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika (taka sama logika jak dla krasnali) obrazenia=random.randint(self.sila,self.sila*2 ) przeciwnik.zycie-=obrazenia # Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika (taka
# Importowanie modułów
import random
import turtle
# Definiowanie klas dla krasnali i trolli
class Krasnal:
def __init__(self):
# Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 1-10
self.sila = random.randint(1, 10)
self.zrecznosc = random.randint(1, 10)
self.wytrzymalosc = random.randint(1, 10)
# Obliczanie poziomu życia na podstawie wytrzymałości
self.zycie = self.wytrzymalosc * 10
# Inicjowanie liczników ataków i obrażeń
self.ataki = 0
self.obrazenia_zadane = 0
self.obrazenia_otrzymane = 0
def atakuj(self, przeciwnik):
# Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika
if random.randint(1, self.zrecznosc) > random.randint(1, przeciwnik.zrecznosc):
# Jeśli atak jest skuteczny, losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika
obrazenia = random.randint(self.sila, self.sila * 2)
przeciwnik.zycie -= obrazenia
# Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika
self.ataki += 1
self.obrazenia_zadane += obrazenia
przeciwnik.obrazenia_otrzymane += obrazenia
class Troll:
def __init__(self):
# Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 5-15 (trolle są silniejsze niż krasnale)
self.sila = random.randint(5, 15)
self.zrecznosc = random.randint(5, 15)
self.wytrzymalosc = random.randint(5, 15)
# Obliczanie poziomu życia na podstawie wytrzymałości (trolle mają więcej życia niż krasnale)
self.zycie = self.wytrzymalosc * 20
# Inicjowanie liczników ataków i obrażeń
self.ataki = 0
self.obrazenia_zadane = 0
self.obrazenia_otrzymane = 0
def atakuj(self, przeciwnik):
# Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika (taka sama logika jak dla krasnali)
if random.randint(1,self.zrecznosc) >random.randint(1 ,przeciwnik.zrecznosc):
# Jeśli atak jest skuteczny,
# losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika (taka sama logika jak dla krasnali)
obrazenia=random.randint(self.sila,self.sila*2 )
przeciwnik.zycie-=obrazenia
# Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika (taka
Odebrano wiadomość. Oto mój program w Pythonie, który symuluje bitwę między krasnalami a trollami. Użyłem modułu random do generowania losowych wartości i modułu turtle do rysowania grafiki. Nie testowałem programu na błędy, więc może nie działać poprawnie. ```python # Importowanie modułów import random import turtle # Definiowanie klas dla krasnali i trolli class Krasnal: def __init__(self): # Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 1-10 self.sila = random.randint(1, 10) self.zrecznosc = random.randint(1, 10) self.wytrzymalosc = random.randint(1, 10) # Obliczanie poziomu życia na podstawie wytrzymałości self.zycie = self.wytrzymalosc * 10 # Inicjowanie liczników ataków i obrażeń self.ataki = 0 self.obrazenia_zadane = 0 self.obrazenia_otrzymane = 0 def atakuj(self, przeciwnik): # Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika if random.randint(1, self.zrecznosc) > random.randint(1, przeciwnik.zrecznosc): # Jeśli atak jest skuteczny, losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika obrazenia = random.randint(self.sila, self.sila * 2) przeciwnik.zycie -= obrazenia # Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika self.ataki += 1 self.obrazenia_zadane += obrazenia przeciwnik.obrazenia_otrzymane += obrazenia class Troll: def __init__(self): # Generowanie losowych wartości siły, zręczności i wytrzymałości z zakresu 5-15 (trolle są silniejsze niż krasnale) self.sila = random.randint(5, 15) self.zrecznosc = random.randint(5, 15) self.wytrzymalosc = random.randint(5, 15) # Obliczanie poziomu życia na podstawie wytrzymałości (trolle mają więcej życia niż krasnale) self.zycie = self.wytrzymalosc * 20 # Inicjowanie liczników ataków i obrażeń self.ataki = 0 self.obrazenia_zadane = 0 self.obrazenia_otrzymane = 0 def atakuj(self, przeciwnik): # Losowanie liczby od 1 do zręczności atakującego i porównywanie jej z liczbą od 1 do zręczności przeciwnika (taka sama logika jak dla krasnali) if random.randint(1,self.zrecznosc) >random.randint(1 ,przeciwnik.zrecznosc): # Jeśli atak jest skuteczny, # losowanie liczby punktów obrażeń od siły atakującego do dwukrotności siły atakującego i odejmowanie jej od życia przeciwnika (taka sama logika jak dla krasnali) obrazenia=random.randint(self.sila,self.sila*2 ) przeciwnik.zycie-=obrazenia # Zwiększanie liczników ataków i obrażeń zadanych przez atakującego oraz obrażeń otrzymanych przez przeciwnika (taka