Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Item():
- def __init__(self, name, price):
- self.name = name
- self.price = price
- def get_info(self):
- print(f'Item name: {self.name}')
- print(f'Price: {self.price}')
- def use(self):
- print(f'Using item {self.name}...')
- class HP_Potion(Item):
- def __init__(self, name, price, recoveredHP):
- super().__init__(name, price)
- self.recoveredHP = recoveredHP
- def upgrade(self):
- # self.recoveredHP *= 2
- self.recoveredHP = 2 * self.recoveredHP
- print(f'Upgraded potion {self.name}')
- def get_info(self):
- super().get_info()
- print(f'+{self.recoveredHP}HP')
- def use(self):
- super().use()
- print(f'Player recovered {self.recoveredHP} HP')
- stick = Item("Stick", 1)
- stick.get_info()
- stick.use()
- potion = HP_Potion("Lesser Health Potion", 20, 15)
- potion.get_info()
- potion.upgrade()
- potion.use()
- https://imgur.com/a/xyg6K8x
- Zad. 1
- Dodaj implementację klasy Weapon i Armor do kodu z dzisiejszych zajęć
- Stwórz przykładowy obiekt klas i przetestuj ich działanie (metody).
- Zad. 2
- Wymyśl jakąś klase przedmiotu dziedziczącą z klasy Item i zapisz jej implementację.
- Stwórz przykładowy obiekt klasy i przetestuj jego działanie (jego metody).
- ###################################
- ### ZADANIA DOMOWE DLA CHĘTNYCH ###
- ###################################
- # klasa Zwierzę
- class Zwierze():
- def __init__(self, wiek, imie):
- self.wiek = wiek
- self.imie = imie
- def wydajDzwiek(self):
- print(f"{self.imie} wydaje dzwiek")
- def jedz(self):
- print(f"{self.imie} je")
- '''
- Zad.1.
- Stwórz klasę Ptak i dodaj metodę lec(), klasa ma dziedziczyć po klasie
- Zwierze. Następnie dodaj kolejną klasę Orzel, dziedziczaca po Ptak, która ma
- mieć metodę poluj(), w której wywołamy metodę lec() z klasy nadrzędnej i dodamy dodatkowy tekst o polowaniu.
- Następnie stwórz obiekt klasy Orzel i wywołaj wszystkie metody.
- '''
- '''
- Zad.2.
- Dodaj do zadania o fugurach z poprzedniej lekcji(https://pastebin.com/tqprY2ka) klasę
- bazową Figura i umieść w niej metody odpowiedzialne za wyświetlanie obwodu i pola. Niech konstruktor klasy bazowej posiada pola obówd i pole i wyświetla je za pomocą odpowiedniej metody (metod).
- Następnie spraw aby Kolo i Prostokat dziedziczyły po tej klasie i usuń ich
- definicje metod pokaż_pole i pokaż_obowd z klas Koło i Prostokąt.
- Utwórz przykładowe obiekty Koło i Prostokąt i sprawd czy funkcje działają prawidłowo.
- '''
- '''
- Zad. dod. 1.
- Stwórz klasę Przedmiot(Item) zawierającą wartość przedmiotu, jego wagę oraz nazwę.
- Niech posiada też takie metody:
- - PokazInfo(ShowInfo) - wyświetlającą informację o przedmiocie
- - Użyj(Use) - która wypisuje informację o użyciu danego przedmiotu.
- '''
- '''
- Zad. dod. 2.
- Stwórz klasę Bohater (Hero) zawierającą imię bohatera, maksymalny udźwig, sakiewkę (ilość pieniędzy bohatera) oraz jego ekwipunek. Ekwipunek powinien być listą/słownikiem przedmiotów, które posiada bohater.
- Dodaj do bohatera metodę DodajPrzedmiot(AddItem) dodającą przedmiot do ekwipunku - niech dodaje ona przedmioty tylko jeśli nie przekroczyliśmy maksymalnego udźwigu.
- Dodaj do bohatera metodę sprzedaj przedmiot - niech sprawdza czy gracz posiada dany przedmiot w ekwipunku - jeśli tak niech zostanie usunięty z ekwipunku a jego wartość zwiększy zawartość sakiewki gracza.
- '''
- '''
- Zad. dod. 3.
- Dodaj do konstruktora klasy Przedmiot(Item) informacje do którego bohatera należy przedmiot (niech będzie zapamiętany w zmiennej obiektu).
- Dodaj do klasy Bohater(Hero) aktualną i maksymalną liczbę punktów życia bohatera.
- Dodaj klasę pochodną od klasy Przedmiot(Item) - MiksturaLeczenia(HealthPotion), niech posiada ona zmienną mówiącą ile punktów życia bohatera ona odnawia. Zmień sposób działania metody Użyj(Use) w metodzie MiksturaLeczenia(HealthPotion) tak aby odnawiała ona tyle życia bohatera ile ma zapisane (ale niech nie przekracza to maksymalnych punktów życia gracza).
- '''
- '''
- Zad. dod. 4.
- Dodaj nową klasę pochodną od klasy Przedmiot(Item) - Broń(Weapon). Niech posiada ona ilość punktów obrażeń.
- Dodaj metodę UstawCel(gracz) która będzie brała za argument cel ataku. Zmień sposób działania metody Użyj(Use) z broni tak aby zadawała obrażenia celowi.
- Dodaj w bohaterze zmienną broń na aktualną broń gracza i dodaj metodę ZałóżBroń(EquipWeapon) która ustawia jaką broń mamy założoną.
- Dodaj do Bohatera(Hero) metodę Atakuj(gracz) w której zaatakujemy drugiego gracza, czyli użyjemy metod UstawCel() oraz Use() z aktualnie założonej broni.
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement