• Keine Ergebnisse gefunden

Übungsstunde 7

N/A
N/A
Protected

Academic year: 2022

Aktie "Übungsstunde 7"

Copied!
26
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übungsstunde 7

Einführung in die Programmierung

(2)

Probleme bei Übung 6

[TODO Assistent]

(3)

Nachbesprechung Übung 7

(4)

Aufgabe 1 & 2: Linked List

DEMO

(5)

Aufgabe 3: Dominator (Bonus!)

Feedback nach der Korrektur direkt per SVN

(6)

Aufgabe 4: Self-avoiding Random Walks

(7)

WalkResult walk(int n) {

boolean trapped = false;

LinkedIntList directions = new LinkedIntList();

do {

int[] dirs = grid.unmarkedDirectionsFrom(posX, posY);

if (dirs.length > 0) { // check if there still exists unvisited junction int decision = rand.nextInt(dirs.length);

int chosenDirection = dirs[decision];

int[] dxs = { 0, 1, 0, -1 };

int[] dys = { -1, 0, 1, 0 };

posX += dxs[chosenDirection];

posY += dys[chosenDirection];

grid.mark(posX, posY); // mark visited directions.addLast(chosenDirection);

pathLength++;

} else {

trapped = true;

}

} while (!trapped && !grid.isAtBorder(posX, posY));

return new WalkResult(!trapped, pathLength, directions);

}

(8)

Vorbesprechung Übung 8

(9)
(10)

LinkedPersonList first:

last : size : 3

PersonNode next : prev : person:

PersonNode next : prev : person:

PersonNode next : prev : person:

Person ...

Person ...

Person ...

× ×

(11)
(12)

Kasse

Kasse

Kasse

(13)
(14)

PongGame

Spiel-Logik Methoden

● move()

● step()

● collides()

PongGui

Zeichnet

● Spielfeld

● Spieler (Balken, Punktestand)

● Ball

Reagiert auf Tastatur

● up/down, w/s Objekte

● Players: p1, p2

● Ball

(15)

a) Erstellen Sie zwei weitere Klassen Player und Ball, welche alle Informationen zu Spieler und Ball beinhalten.

Ein Spieler hat eine (px, py)-Position, eine Balkenlänge und einen Punktestand.

Ein Ball hat ebenfalls eine Position und zusätzlich eine (vx, vy)-Geschwindigkeit (in Pixel/Spielschritt).

public class Ball {

double x; // Position double y;

double vx; // Geschwindigkeit double vy;

public Ball( ... ){

// TODO }

}

(16)

Ändern Sie ausserdem den Konstruktor von PongGame, dass er zwei Player- und eine Ball-Instanz erstellt und in Feldern speichert. Der Ball soll zu Beginn des Spiels in der Mitte starten und eine zufällige Geschwindigkeit haben.

PongGame(int width, int height) { this.width = width;

this.height = height;

// erstelle Player- und Ball-Instanzen }

(17)

// PongGui

while(window.isOpen()) {

if(window.isKeyPressed("w")) { game.move(game.p1, true);

}

game.step();

drawPlayer(window, game.p1);

drawPlayer(window, game.p2);

drawBall(window, game.ball);

window.refreshAndClear(20);

}

// PongGame

void move(Player player, boolean up) {

// TODO }

(18)

// PongGame

public void step() {

// Berechne die neue Position des Balls }

Wie berechnet man die Position (x,y) im nächsten Schritt ?

(19)

Kollision

(20)

vx

vy

bevor Kollision

(21)

vx’

nach Kollision

vy’ = -vy

(22)
(23)

Kollision

(24)

Oops!

Ball.x < 0 p2.score += 1

(25)

PongGame

Spiel-Logik Methoden

● move()

step()

● collides()

PongGui

Zeichnet

● Spielfeld

● Spieler (Balken, Punktestand)

Bälle

Reagiert auf Tastatur

● up/down, w/s Objekte

● Players: p1, p2

LinkedBallList Alle Bälle

verschieben und auf Kollision testen

(26)

Zusatzübungen

Referenzen

ÄHNLICHE DOKUMENTE

Seit seiner Emeritierung engagiert er sich in der Sächsischen Akademie der Wissenschaften ehrenamtlich für die Forschung in Sachsen.. Als Vorsitzen- der des Fördervereins

Seit seiner Emeritierung engagiert er sich in der Sächsischen Akademie der Wissenschaften ehrenamtlich für die Forschung in Sachsen.. Als Vorsitzen- der des Fördervereins

Mit dem Lesestart-Set sollen Eltern zum Vorlesen motiviert und auf diese Weise mehr Kinder zum Lesen gebracht werden.. Dazu wer- den zwischen Ende 2011 und 2018 bundesweit

Akustisches Gedächtnis – unregelmäßige Verben mit –a im Stamm Karte 1 Die erste Wortgruppe wird dem Kind vorgelesen.. Das Kind wiederholt

Um dieses Spiel auch noch für die Klassenstufen 3 und 4 interessant zu gestalten, kann man vor Spielbeginn mit den Kindern ausmachen, dass man nur Wörter aus einem Wortfeld

Kannst du das unterstrichene Wort mit ihm oder ihn ersetzen1. Christina Cech, Oktober 2008

Beim Fußballspielen muss man nicht nur die Füße, sondern auch den Verstand einsetzen.. Nur so kann der Spieler den

gegenüber, gemäß, mit, nach seit, nächst, nebst, von, zu.. Vorwörter, die