Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 2 von 2 Treffern
Autor Beitrag
Thema: GUI mit Java Swing für MarioRun Klon
InformatikN00bine

Antworten: 0
Hits: 2.440
GUI mit Java Swing für MarioRun Klon 23.11.2017 12:00 Forum: Praktische Informatik


Hallo, ich muss einen MarioRun Klon bauen (Spieler kann nur springen drücken, Mario bleibt an gleicher X-Koordinate, es gibt Bodenblöcke zum drauf laufen und Sammelobjekte) und es soll zumindest schon GUI und Spiellogik getrennt haben.

Ich habe also überlegt, dass ich für das Fenster selbst eine Klasse Window schreibe, die von JFrame erbt. Das Fenster wird bei Spielstart gestartet. Für die verschiedenen Ansichten (Menü, Anleitung, Spiel) wollte ich je ein JPanel hinzufügen, was dann entsprechend buttons, text und das Spiel enthält.

Als Schnittstelle zum Spiel dachte ich daran, noch eine Klasse GuiController zu schreiben, die das window und den GameState (aus der Spiellogik) enthält..

Meint ihr, das ist eine vernünftige vorgehensweise? Ich habe keine Ahnung wie man sinnvoll objektorientiert und wartungsfreundlich programmiert unglücklich

Außerdem habe ich das Problem, dass ich meinem Window kein Panel hinzufügen kann. Bzw ich mache window.add(new JPanel()) und das Panel wird dann aber nicht angezeigt, egal ob ich es opaque setze, egal, ob ich danach das frame visible setze oder revalidiere und repainte... Ich verstehe einfach nicht, wie ich das programmieren soll, dass es gut programmiert ist und alles angezeigt wird. Ich habe verschiedene Tutorials angesehen, aber da wars immer direkt nur in einer Klasse alles und teilweise wurde da nur das panel zum frame geaddet und es hat funktioniert. Bei mir funktioniert es nicht und ich verstehe nicht warum unglücklich
Thema: Rekursive binäre Suche programmieren
InformatikN00bine

Antworten: 1
Hits: 2.764
Rekursive binäre Suche programmieren 19.04.2016 13:20 Forum: Algorithmen


Hallo, ich habe folgende Aufgabe:

Implementieren eine Suchfunktionalität, die aus einer sortierten Liste die Position
eines gegebenen Elementes k zuruckliefert, falls das Element vorhanden ist. Sonst ¨
gebe -1 zuruck. Nutzen Sie dabei folgendes Prinzip: ¨
1. Falls Liste leer, endet die Suche erfolglos, sonst betrachte A[m] an mittlerer
Position der Liste
2. Falls k = A[m] => fertig
3. Falls k < A[m] => durchsuche linke Teilliste nach demselben Verfahren
4. Falls k > A[m] => durchsuche rechte Teilliste nach demselben Verfahren
Hinweis: Es ist also eine rekursive Implementierung gefragt.

Bislang habe ich:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
public static int elementPosition(int[] arraySortiert, int k) {
		if (arraySortiert.length == 0) {
			return -1;
		}
		int half = arraySortiert.length/2;
		if(k==arraySortiert[half]) {
			return half;
		} else if(k<arraySortiert[half]) {
			return ?;
		} else {
			return ?;
		}
		return -1;
	}


Mein Problem ist nun, dass ich ja, wenn ich links weitersuche, dann zu arraySortiert.length/4 gehen müsste und wenn ich rechts weitersuche dann arraySortiert.length*3/4... links die richtige position könnte ich kriegen, indem ich einen neuen halb so langen array erstelle mit den ersten elementen aus dem ursprünglichen und im rekursiven aufruf den dann übergebe. aber für nach rechst suchen klappt das nicht...

oder muss ich bereits von vornherein die länge des arrays übergeben in die funktion? dann müsste ich die länge natürlich vorher schon wissen... ich hätte jetzt halt gedacht, dass ich nur den array und das k bekomme...
Zeige Beiträge 1 bis 2 von 2 Treffern