Last active
October 15, 2021 08:13
-
-
Save Ch3shireDev/ada764e8772035ccd0783e0b14199928 to your computer and use it in GitHub Desktop.
marek-gra.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import yaml | |
| # Chcielibyśmy mieć następujący mechanizm: | |
| # 1. Gracz wkracza do lokacji i wyświetlają mu się konkretne możliwości. | |
| # 2. Zależnie od wybranej możliwości, gracz przechodzi do kolejnej, konkretnej lokacji. | |
| # 3. Powrót do punktu 1 z inną lokacją. | |
| # 4. Jest możliwość wczytywania historii z osobnego pliku. | |
| data = ''' | |
| - id: start | |
| opis: Wkraczasz do ciemnego lasu i idziesz przez dłuższy czas. Docierasz do rozstajów dróg. Jedna wiedzie na północ, druga na południe. | |
| wybory: | |
| - opis: Idź na północ | |
| id: puszcza-1 | |
| - opis: Idź na południe. | |
| id: puszcza-2 | |
| - id: puszcza-1 | |
| opis: Wkraczasz na północ do puszczy, robi się ciemno | |
| wybory: | |
| - opis: Zawróć | |
| id: start | |
| - id: puszcza-2 | |
| opis: Wkraczasz na południe puszczy, widzisz duże pole. | |
| wybory: | |
| - opis: Zawróć | |
| id: start | |
| ''' | |
| class Lokacja: | |
| def __init__(self, lokacja): | |
| self.id = lokacja['id'] | |
| self.opis = lokacja['opis'] | |
| self.wybory = lokacja['wybory'] | |
| def show(self): | |
| print(self.opis) | |
| print("Drogi:") | |
| for index, wybor in enumerate(self.wybory, start=1): | |
| print(f"{index}. {wybor['opis']}") | |
| choice = input("Twój wybór: ") | |
| choice = int(choice) - 1 | |
| return self.wybory[choice]['id'] | |
| # with open('zapis.yml', encoding='utf-8') as file: | |
| # tab = yaml.load(file, Loader=yaml.FullLoader) | |
| # file.close() | |
| tab = yaml.load(data, Loader=yaml.FullLoader) | |
| mapa = {element['id']: Lokacja(element) for element in tab} | |
| choice = 'start' | |
| while True: | |
| choice = mapa[choice].show() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment