Im Spiel CraftStar kann man Einheiten bauen, wobei jede Einheit eine gewisse Menge an Platz verbraucht. Maximal können 200 Einheiten gebaut werden. Die Einheiten sollen in einem Array gespeichert werden. Nun sollst du als Praktikant bei Schneesturm GmbH dieses Verhalten implementieren. Mit einer Funktion push
soll eine Einheit am Ende des Arrays von Einheiten eingefügt werden und durch eine Funktion pop
entfernt werden. Gebe am Ende jeder push/pop Operation die Anzahl an gebauten Einheiten. Manche Einheiten nehmen mehr als einen Platz oder spawnen zu zweit. Richte dich dabei an die folgende Tabelle:
Einheit | Platz |
---|---|
Drone | 1 |
Zergling* | 1 |
Baneling | 1 |
Queen | 2 |
Roach | 2 |
Hydralisk | 2 |
Mutalisk | 2 |
Corruptor | 2 |
Infestor | 2 |
Broodlord | 2 |
Swarmhost | 3 |
Viper | 3 |
Ultralisk | 6 |
*Zerglings spawnen zu zweit
Nun wollen wir die Einheiten nach Namen gruppieren. Genauer gesagt sollen alle Einheiten gleichen Namens in einem eigenen Array gespeichert werden. Entwickele geschickte Funktionen, um die Anzahl aller Einheiten zu prüfen.
Beispiel:
[['Drone' , 'Drone'] , ['zergling' , 'zergling'], ... ,['Ultralisk']]
Vergleichen Sie Ihre Implementierungen der push
und pop
Methoden aus Aufgabe 1 und 2. Dafür können Sie die time
Methode aus dem time
Modul (duh) nutzen, welches die Zeit in Sekunden seit 01.01.1970 um 00:00:00 Uhr (UTC) zurückgibt: https://docs.python.org/3/library/time.html#time.time
Hier ein Beispiel:
# time Methode aus dem time Modul importieren
from time import time
def coole_methode():
...
def main():
# Timestamp speichern...
zeit_in_sekunden_seit_1970 = time()
# Methode ausführen...
coole_methode()
# Zeitdifferenz bilden
zeit_für_coole_methode = time() - zeit_in_sekunden_seit_1970
# Zeitdifferenz ausgeben
print(zeit_für_coole_methode)
if __name__ == "__main__":
main()