Sorry, ich bin ein wenig begriffsstutzig, hier noch einmal genauer, was ich habe und was ich gerne wissen würde:
Also ich habe zZ eine main-Methode, die gekürzt so aussieht:
Code:
public static void main(String[] args) throws InterruptedException
{
game = new Game();
while (game.running)
{
game.Update();
game.Render();
// und ein bisschen die FPS anpassen mit Thread.sleep
}
}
Meine Game-Klasse erbt von Canvas und erstellt im Konstruktor ein JFrame mit einem Panel, zu welchem sie sich selbst hinzufügt.
1. Kann die Game-Klasse weiterhin ein Fenster erzeugen?
Oder muss ich den ganzen Kram umschreiben, sodass Game immernoch von Canvas erbt, aber nicht mehr selbst das Fenster erzeugt, sondern dass es nur von main erzeugt wird, aber halt nicht von init im Falle eines Applets?
2. Kann ich den main-Loop jetzt einfach in init hauen oder muss die Game-Klasse auch noch Runnable implementieren, sodass ich sowohl in main als auch in init dann nur einen neuen Thread starte oder kommt beides auf's Gleiche hinaus, nur das mit dem Thread wäre schöner, da ich so nicht 2x den gleichen Code hätte?
3. Ich habe über fast alle Klassen Dateizugriffe verteilt, in Map werden Bilder geladen, in Player, in Menu, in Sounds werden Sounds geladen, etc. Wie bau ich da jetzt if-Abfragen ein, sodass dynamisch entschieden wird, ob ich IO-Methoden benutzen kann oder solch einen MediaTracker benutzen muss, also ob es sich um eine Applikation oder ein Applet handelt, um das komplette Projekt nicht zweimal haben zu müssen?
PS:
"Jaja ist mir schon klar, aber normalerweise habt ihr es dan doch schon in der Uni durchgemacht wenn eine Aufgabe dazu bekommst."
Naja, im ersten Semester ging es halt um den Programmiereinstieg anhand von Java, wo es nur um kleine Konsolenapplikationen ging.
Und jetzt im zweiten geht's um C im Selbststudium und da hatte ich eigentlich gehofft, dass ich Java nie wieder benutzen müsste, allerdings haben wir in einer anderen Vorlesung die Aufgabe, in Gruppen ein Spiel zu programmieren und dafür sollen wir dann Fenster und Applets und anderen Kram schreiben, der vorher noch nie angesprochen wurde.