Wie viele Treffer?
Zeit für ein kleines Projekt! In diesem Checkpoint schreibst du ein ganzes Programm selbst, mit dem, was du in den ersten drei Lektionen gelernt hast: Ausgabe, Variablen, Rechnen und Bedingungen.
Die Übungen hier sind ein bisschen anders als die bisherigen. Die Anweisungen sagen, was das Programm ausgeben soll, nicht wie du es schreibst. Es gibt viele richtige Wege, such dir also den aus, der für dich Sinn ergibt. Wenn du nicht weiterkommst, sieh in der Lektion nach, in der du gelernt hast, was du brauchst.
Das Projekt. Spiele gehören zu den Dingen, für die C++ am häufigsten verwendet wird. In drei Übungen schreibst du das Herzstück eines kleinen Rollenspiels: den Kampf zwischen einem Helden und einem Drachen. Dein Programm berechnet, wie der Kampf verläuft, wer ihn gewinnt und was der Held für den Sieg bekommt. Jede Übung setzt dort an, wo die vorige aufgehört hat: Der Editor beginnt mit einem fertigen Programm aus dem vorigen Schritt, das anders aussehen kann als deins. Das ist in Ordnung.
Die Daten. Die Variablen am Anfang von main beschreiben die Kämpfer: angriffHeld gibt an, wie viele Lebenspunkte der Held dem Drachen mit einem Treffer nimmt, lebenDrache, wie viele Lebenspunkte der Drache hat, und angriffDrache, wie viele Lebenspunkte der Drache dem Helden mit einem Angriff nimmt. In einem echten Spiel kämen diese Werte vom Spiel selbst. Hier bekommt das Programm sie aus den Variablen, und dein Code sollte mit den Variablen arbeiten, nicht mit ihren hineinkopierten Zahlen: Wenn du eine Variable änderst, soll das Programm trotzdem das richtige Ergebnis ausgeben. Um das zu prüfen, führt jede Übung dein Programm auch mit anderen Werten aus, und auch die muss es richtig berechnen.
Die Aufgabe. Der Held schlägt zuerst zu. Jeder Treffer nimmt dem Drachen angriffHeld Lebenspunkte, und der Drache ist besiegt, wenn seine Lebenspunkte auf 0 oder darunter sinken. Nach jedem Treffer, der ihn nicht besiegt, schlägt der Drache zurück. Mit 150 Lebenspunkten übersteht der Drache 6 Treffer zu je 23, denn 6 × 23 sind nur 138. Der 7. Treffer besiegt ihn. Der Drache schlägt also 6-mal zurück, und der Held verliert 6 × 18 = 108 Lebenspunkte. Das Programm gibt aus:
Nötige Treffer: 7
Angriffe des Drachen: 6
Erlittener Schaden: 108Ein Tipp: Denk an / und % aus der Lektion über Variablen. Das eine sagt dir, wie viele ganze Treffer in die Lebenspunkte des Drachen passen, das andere, ob danach noch Lebenspunkte übrig sind, für die ein weiterer Treffer nötig ist.
Achte auf einen Kampf, in dem die Treffer genau alle Lebenspunkte des Drachen nehmen. Bei angriffHeld = 25 nehmen 6 Treffer genau 150 Lebenspunkte, der Held braucht also nur 6 Treffer, und der Drache schlägt 5-mal zurück.
So schreibst du es:
Anweisungen
- 1
Gib aus, wie viele Treffer der Held braucht, um den Drachen zu besiegen, wie im Beispiel.
- 2
Gib darunter aus, wie oft der Drache zurückschlägt und wie viele Lebenspunkte der Held verliert.