Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:efi-2023:arkanoid [2024/04/26 07:17] – [Game-Loop] Ivo Blöchliger | lehrkraefte:blc:informatik:efi-2023:arkanoid [2024/04/30 07:49] (current) – [Vorgehen] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Arkanoid ====== | ||
| + | * Grundgerüst: | ||
| + | |||
| + | ===== Grafik mit SVG ===== | ||
| + | * Sehr flexibel, vektoriell, beliebig ausbaubar, kann mit z.B. [[https:// | ||
| + | * Kann mit CSS «gestyled' | ||
| + | * Gradienten, Hintergründe, | ||
| + | * Elemente können definiert (mit '' | ||
| + | |||
| + | |||
| + | ===== Game-Loop ===== | ||
| + | * Siehe https:// | ||
| + | * Variable '' | ||
| + | * Kollisionen: | ||
| + | * Ball/Wand (easy) | ||
| + | * Ball/Block (anspruchsvoller, | ||
| + | * Ball/Paddle | ||
| + | Wegen Rundungsfehlern reicht eine einfache Reflexion des Geschwindigkeitsvektors manchmal nicht aus (es wird danach gleich wieder eine Kollision festgestellt). Dazu gibt es zwei Lösungsansätze: | ||
| + | * Man verschiebt das Objekt, so dass sicher keine Kollision stattfindet. | ||
| + | * Man rechnet in der Zeit zurück, bestimmt den genauen Zeitpunkt der Kollision und dann die neue Position, wenn die Kollision schon vorher stattgefunden hätte. | ||
| + | |||
| + | ===== Vorgehen ===== | ||
| + | * Bringen Sie den Ball zum Bewegen, indem Sie die Methode '' | ||
| + | * Implementieren Sie die Kollision mit den Wänden. | ||
| + | * Die Grösse vom Spielfeld könnte in der Datei '' | ||
| + | * Implementieren Sie die Kollision mit dem Paddle. | ||
| + | * Implementieren Sie die Kollision mit den Blöcken. | ||
| + | * Viel Spass ;-) | ||
| + | * Weitere mögliche Schritte (in beliebiger Reihenfolge): | ||
| + | * High-Score einbauen. | ||
| + | * Grafik aufmotzen | ||
| + | * Weitere Blöcke definieren (z.B. solche die man 2x treffen muss, oder mit veränderter Abprall-Eigenschaften). | ||
| + | * Bonus-Objekte, | ||
| + | * Paddlegrösse variabel machen | ||
| + | * Geschwindigkeit anpassen | ||
| + | * Gravitation einführen | ||
| + | * Verschiedene Levels | ||