Skip to content

LukasGasp/flieger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dies ist das Informatik Projekt von Michael und Lukas

  • PROJEKTBEZEICHNUNG: Flieger
  • PROJEKTZWECK: Informatik Arbeit
  • VERSION: V.0.5.2
  • WIE IST DAS PROJEKT ZU STARTEN: BlueJ
  • AUTOREN: Michael, Lukas
  • BENUTZERHINWEISE: Sie müssen fliegen können

Spielidee:

Man steuert ein exakt 2000 kg schweres Flugzeug, welches eine Kraft von 30000 Newton aufbringen kann. Gemäß folgender Veröffentlichungen der NASA haben wir Formeln extrahiert, verarbeitet und implementiert.

Informatik.pdf

Man steuert dieses Flugzeug durch eine traumhafte Schneelandschaft. Um diese spannender zu machen (und den Arbeitsauftrag zu erfüllen) werden Schneemänner zufällig um den Spieler erzeugt. Das erste Element der Liste wird gelöscht und durch Zufall neu um den Spieler platziert. Der neue Scheemann wird ans Ende der Liste gehangen. Im laufe des Spiels kommen immer mehr Schneemänner dazu. (Bis zu 50). So gibt es Möglichkeit Speedruns zu machen.

Benutzerhinweise

Bitte 3D Brille tragen.

Steuerung:

Wir gehen davon aus, dass dem Spieler die Gesetzte der Aerodynamik bekannt sind. Hier eine kurze Erinnerung an Kräfte, welche auf ein Flugzeug wirken:

forces

Turbinen beschleunigen: o
Turbinen entschleunigen: l
Steuerung: w, a, s, d
Infos: + / - Programm schließen: z

Konsole

WIR EMPFEHLEN UNBEDINGT DIE KONSOLE OFFEN ZU HALTEN!
Wenn man im Hauptfenster + oder - drückt ändern sich die anezeigten Werte. Es gibt:

  • Koordinaten
  • Geschwindigkeiten
  • Beschleunigungen
  • Winkel

Diese Werte müssen ALLE vom Spieler im Auge behalten werden. Anderfalls kommt es zu einem kritischen Absturz.

Code-Einblick

Eine der Funktionen. Natürlich werden hier Gravitation, Auftrieb, Masse, etc. beachtet. Alles ist relativ,
  public double sidebeschl(){
      return (    power * Math.cos(Math.toRadians(alpha)) * Math.sin(Math.toRadians(beta))
                  - drag(vside)
                  - lift(vside) * (Math.sin(Math.toRadians(alpha)) * Math.cos(Math.toRadians(gamma)) * Math.sin(Math.toRadians(beta)) * Math.cos(Math.toRadians(beta)) + Math.sin(Math.toRadians(gamma)) * Math.cos(Math.toRadians(beta))  
                  ))
                  /masse;
  }

Probleme

Eine große Herausforderung war die GLOOP Bibliothek. Diese bietet KEINE möglichkeit die Kamera um ihre eigene Achse zu drehen. (Die rotieren Funktion funktioniert einfach nicht) Selbst das Kamera ausrichten bereitete Aufgrund dazu fehlender Funktionen (im Gegensatz zu Objekten) noch größere Probleme. Wir würden uns freuen für das nächste Projekt eine andere Bibliothek nutzen zu dürfen. Trotzdem vielen Dank, dass wir von Basis zu Gloop wechseln durften.

About

Informatik Projekt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages