Ein kleines Elfmeterschießen-Minispiel im Retro-Stil wie es Papa noch kennt
Autor: Ahmet-Rüchan Arican, 5341696
***
## Kurzbeschreibung
Das Spiel handelt hierbei um das klassische Elfmeterschießen, wie wir es im echten Fußball kennen. [Mehr Infos](https://de.wikipedia.org/wiki/Elfmeterschie%C3%9Fen"Wikipedia-Artikel")\
Nach der Wahl des Teams geht es auch schon los:\
Das Tor ist in 6 Flächen unterteilt: **links**, **rechts** und die **Mitte** jeweils **oben** und **unten**. In einer dieser Flächen schießen sie.
Der Torwart springt dabei in eine rein zufällig gewählte Position. Trifft der Nutzer, so bekommt er einen Punkt. Ansonsten
kriegt der Gegner einen.\
Nachdem der Spieler 5 Schüsse absolviert hat, wird gewechselt, d. h. nun ist der **Nutzer** der **Torwart** und der
**Computer** der **Schütze**, ihre Rolle sehen sie auch im Scoreboard.\
Wenn nach diesen 5 Schüssen (also insgesamt 10) immer noch kein Sieger feststeht, wird in die Playoff-Runde
gegangen. Das bedeutet der Nutzer wechselt immer ab, jeweils ein Schuss und anschließend einmal parieren. Somit
wird weiter gemacht bis ein Sieger feststeht. (141 Wörter)
***
## Screenshot zum Projekt
(*Die rot gekennzeichneten Grenzen können minimal von der Realität abweichen*)
privateintscore1,score2,round,generalRound,changedPlayer;//round: prüft auf 5 Schüsse pro Runde ;; generalRound: Sorgt dafür das 2x 5 Schüsse gemacht werden
publicvoidsetMyTeam(Teamin){
assertin!=null:"must enter a valid Team";
myTeam=in;
}
publicintgetCurrentPlayer(){
returnthis.currentPlayer;
}
publicintgetShootPos(){
returnshooter.getPosition();
}
publicintgetScore1(){
returnthis.score1;
}
publicint[]getGoal(){
returngoal;
}
publicintgetScore2(){
returnthis.score2;
}
publicbooleanisGameOver(){
returngameOver;
}
publicvoidsetShot(intpos){
assertpos<6:"Entry is out of range";
this.goal[pos]+=currentPlayer;
}
publicvoidsetGoalkeeper(intpos){
assertpos<7:"invalid Position";//die Zahl 6 ist absichtlich mit eingebunden als default-Wert bei einem ins Aus klicken
this.goal[pos]+=enemy;
}
publicintgetAngle(){
returngoalkeeper.getAngle();
}
publicvoidsetPosition(intpos){
assertpos<7:"position out of range";
if(currentPlayer==1){
shooter.setPosition(pos);
}else{
goalkeeper.setPosition(pos);
setGoalkeeper(pos);
}
}
//Ist für die Zufalls-Entscheidung des Gegners zuständig
publicvoidsetRandomPos(){
intpos=randomizer();
if(currentPlayer==1){
goalkeeper.setPosition(pos);
setGoalkeeper(pos);
}else{
shooter.setPosition(pos);
}
}
//Methode wird aufgerufen, wenn Nutzer ins Aus klickt, also außerhalb des Wertebereichs