10.7


Ich denke, dass alle Leute, die sich hier über das fehlende n Gedanken machen, ihre Aufgabenstellung-entsprechende Lösung schon abgegeben haben.


naja, bei mir wird dem konsolenspieler kein einziges mal gesagt, was das N ist. ist das der aufgabe entsprechend :wink: ?


Ja, weil in der Aufgabenstellung nicht gefordert wird, dem Spieler das n mitzuteilen. Oder wie heißt es so schön: „Broken As Designed“


hiho,
ich frage mich, wie ich in mein feld[] z.b. feld[0] also unterste zeile meine Symbols reinbekommen. Also wenn ein Spieler nun festgelegt hat, in welche Spalte er sein Steinchen fallen lassen möchte, dann muss ich dass ja meinem StringArray sagen, dass er an dieser Stelle das Symbol X oder 0 setzen soll.

Weiterhin würd mich mal interessieren wie ihr das gelöst habt. Wir sollen ja mit einem normalen Array arbeiten, so wie ich das verstanden habe. Wobei ein mehrdimensionales Array meiner Meinung nach zweckmäßiger wäre, bzw. ich würd mir denke ich einfacher tun.
Gibt es eine möglichkeit in meiner untersten zeile, feld[0].charAt(Spaltennummer) = X zu machen oder etwas ähnliches?

merci


Meiner Meinung nach gilt: MehrDimensionalesArray extends Array

desweiteren:

[quote=Übungsblatt10]Hinweis: Die interne Repräsentation der notwendigen Daten darf/muss selbst gewählt werden. Ebenso ist eine
strukturierte Aufteilung in unterschiedlicheMethoden sinnvoll.[/quote]
(ist kleingedruckt, vielleicht hast dus ja deshalb übersehen ;-))


ich hab in meinem spielfeld ein char[][] array verwenden, welches dann in einer zusätzlichen methode in ein string[] array umgewandelt wird. das wird dann an den spieler uebergeben.

hmpf, ich bin einfach zu langsam…


danke euch beiden.

@Kleingedrucktes: Ich neige dazu Hinweise grundsätzlich zu überlesen, was mir mein Leben dadurch nicht unbedingt einfacher macht :wink:


Kann in mir einer sagen wie ich da vorgehen soll? Keinen Plan 8-(


hmm,

wie schnell sind denn eure dinger so? wenn ich 2 zufallsspieler gegeneinander spielen lasse auf nem 30x30 feld, 15gewinnt, dann dauert das schon deutlich länger, als man eigentlich will :confused:

wohl nicht die besten prüfmethoden gefunden ;D


ähm, also wenn ich 2 zufall mit den selben parametern arbeiten lasse, dann circa eine sekunde, geschätzt…? finde ich jetzt nicht dramatisch


Ein 15-Gewinnt-Spiel mit 30x30 Feldern mit zwei Zufallsspielern braucht bei mir durchschnittlich 0,2 Sekunden.


Haha geil,

bei mir hats so 1-2mins gedauert, jetzt mit kleiner verbesserung dauerts im schnitt so 10secs :smiley:

naja zum glück ist die aufgabenstellung nicht, ein performantes 4gewinnt zu schreiben :wink:


So weit wie ihr wäre ich auch gerne, aber das wird dieses Jahr wohl nix mehr (Haha, Brüller ;)).
Wieviele Zeilen Code habt ihr denn?


Hmm,

ohne Kommentare ist die NGewinnt atm 120 Zeilen, aber ich weiß noch nicht ob ich schon fertig bin, überlese gern das ein oder andere der Aufgabenstellung…

so jetzt bin ich zwar bei ca. 1 sec für das 30x30 feld, aber wie man da noch deutlich drunter sein kann is mir ein rätsel

edit: mir fällt grad ein, dass man das gewinnkriterium ja nur einmal pro 2 zuege testen muesste, damit waers dann doch noch schneller…


da ja intelligenterweise die Anzahl der zu in Reihe bringenden Symbole nicht mit übergeben wird und man ja auf eine set methode zurückgreift, kann ich davon ausgehen, das beim Testen spieler a immer der KonsolenSpieler ist und spieler b immer der PC? Weil irgendwie ist das außenrumgekote dämlich und bin schon am überlegen ob ich den Spieler dann nicht einfach im Dunkeln lasse (ist ja schließlich nirgends verlangt dass es ihm gesagt wird und der Rest ist die Schuld vom Interfaceersteller (wobei die Änderung wohl wirklich nicht das Kraut fett gemacht hätte…)).


Gewinner 30x30x15: null
Zeit: (s): 0.495361697s

Auf 0,2 komm ich leider nicht, aber ich find meinen Gewinnsituation-Löser toll genug lol

Mal was anderes. Habt ihr im Zufallsspieler ausser der ziehe()-Methode was implementiert? Ist ja eigentlich unnötig. Er muss ja nur wissen wie breit das Feld ist und dazu ne Zufallszahl returnen.


ict: ueberprüfst du einmal oder zweimal in der whileschleife?

ich hab halt bei den methoden gewonnen usw noch n system.out.println drin, damit ich bei 2 zufallsgegnern weiß wer gewonnen hat, aber kA ob man die drinlassen darf oder rausnehmen muss


Ich prüfe nach jedem Zug. Sonst könnten ja plötzlich beide “gewonnen” haben. Oder?


Naja
wenn der erste O hat und der zweite X und es haben O und X (n) in einer Reihe, dann gewinnt O, insofern könnte man da etwas zeit sparen, wenn man denn wollte…

guten rutsch euch freaks auf jedenfall :wink:


Gut das ist wahr. Dann würde meine Check-Methode aber einige Überarbeitung brauchen, weil ich im moment nur die “Steine” in einem Umkreis von der letzten Einwurfstelle checke. Müsste mir dann also beide Züge merken und nacheinander checken. Ich denk ich lass es so :smiley:

Wünsche ich auch :slight_smile: