# Vier gewinnt: Bitte testen



## Reality (21. Jan 2005)

Hi,
ich habe hier eine ALPHA-Version von Vier gewinnt programmiert.
Es kann bis jetzt folgendes: Erkennt wer gewonnen hat. Kann verhindern, dass man vertikal gewinnt, kann verhindern, dass man horinzotal gewinnt, wenn man die Steine von links nach rechts oder von rechts nach links setzt.

Jo, das wars auch schon. :lol: Der Computer setzt die Steine übrigens zufällig.

http://mitglied.lycos.de/masterchan/VierGewinnt.jar

Anforderungen: JRE 1.5

Ein paar Anregungen wären nicht schlecht.

LG


----------



## Beni (21. Jan 2005)

Hey, nettes Spiel (hab gewonnen), aber der "neues Spiel"-Button funktioniert nicht.

Hm, beim ersten mal war er nicht ungeschickt, beim zweiten mal hat er einfach übersehen dass ich 4 nebeneinander legte. Lass ihn doch Situationen in denen er verliert erkennen (und er sollte entsprechend handeln).


----------



## Reality (21. Jan 2005)

Hi Beni! 


			
				Beni hat gesagt.:
			
		

> Hey, nettes Spiel (hab gewonnen), aber der "neues Spiel"-Button funktioniert nicht.


Ja, das mache ich erst am Schluß. Erst mal das Wichtigste.



> Hm, beim ersten mal war er nicht ungeschickt, beim zweiten mal hat er einfach übersehen dass ich 4 nebeneinander legte.


Das Problem ist, dass er die Situation nur erkennt, wenn wirklich exakt drei Steine *nebeneinander* liegen. Wenn du also ganz links ein Stein legst und ganz rechts und von außen nach innen Steine legst, dann er erkennt er das (noch) nicht.

LG


----------



## Reality (21. Jan 2005)

Verdammt! Ich merke auch gerade, dass da ein Bug beim Erkennungsmodus drin ist. ???:L


----------



## Reality (21. Jan 2005)

OK, hab den Bug behoben.

LG


----------



## DesertFox (21. Jan 2005)

Ausser, dass es vieeel zu einfach derzeit noch ist, ist es doch ziemlcih gut


----------



## Beni (21. Jan 2005)

Hm, schräge Kombinationen scheint er auch nicht zu kennen:


----------



## Reality (21. Jan 2005)

Ja, hab ich auch nie behauptet. 
Kommt aber alles noch.

LG


----------



## Reality (13. Mrz 2005)

So, ich hab heute mal ein bisschen weiter gemacht.
Jetzt erkennt er die schräge Kombination und man kann ein neues Spiel beginnen.

http://mitglied.lycos.de/masterchan/VierGewinnt.jar 

Die Steine dazwischen erkennt er immernoch nicht. Bin noch zu faul dazu, das einzuprogrammieren. Auch die KI ist noch zufallsgesteuert.

LG
Reality


----------



## Sanix (14. Mrz 2005)

Hast du die Sourcen beigelegt? Wäre noch interessant zu sehen, wie du das gemacht hast.


----------



## Reality (14. Mrz 2005)

Ich glaube, da würde vielen übel werden, weil das ziemlich schlampig programmiert ist.
Ich werde den Source nächste Woche veröffentlichen, da ich das für die Schule machen muss und der Sourcecode nicht vorher im Internet kursieren soll.

LG 
Reality


----------



## Reality (15. Mrz 2005)

So, habe jetzt einige Bugs behoben.
Außerdem, kann der Computer jetzt auch die Lücken zwischen dem ersten und dem vierten Stein erkennen und setzen.

http://mitglied.lycos.de/masterchan/VierGewinnt.jar

LG
Reality


----------



## Reality (15. Mrz 2005)

So, ich behaupte nun, dass man nicht ohne weiteres den Computer schlagen kann! :meld: 
Wer es schafft, soll bitte nen Screenshot machen.

http://mitglied.lycos.de/masterchan/VierGewinnt.jar 

LG
Reality


----------



## Beni (15. Mrz 2005)

Naja, soviel hatte mir die KI nicht entgegenzusetzen. Einmal konnte sie mich zwingen einen Zug zu machen, sonst hatte ich Zeit genug eine Falle aufzubauen. P.S. das war das erste Spiel :wink:


----------



## Reality (15. Mrz 2005)

NEEEIIINNNNN!!!!!  
Naja, die KI kann bis jetzt nur abwehren, aber aktiv setzen tut sie immernoch zufällig.
Der Tag wird kommen, wo... 

LG
R.


----------



## Beni (15. Mrz 2005)

Jaja, das sagen die Bösewichte in den Filmen auch immer :bae:


----------



## SebiB90 (15. Mrz 2005)

Reality hat gesagt.:
			
		

> NEEEIIINNNNN!!!!!
> Naja, die KI kann bis jetzt nur abwehren, aber aktiv setzen tut sie immernoch zufällig.


wenn der compi erkennen kann wo der gegner drei in einer reihe hat müsste der compi auch erkennen wenn 3 seiner eigenen steine in einer linie sind und wenn ja den 4. dazu packen oder?


----------



## Reality (15. Mrz 2005)

Genauso ist es, aber ich war ja erst mal damit beschäftigt Bugs zu entfernen und das "Gewinnen-Verhindern" zu verbessern, wo ich immernoch nicht fertig bin.

LG
Reality


----------



## Reality (7. Jan 2008)

Hi,
da ich per PN gefragt wurde den Source-Code zu veröffentlichen und es in diesem Thread auch versprochen hatte (ist drei Jahre her, ich weiß...), will ich das heute tun.

Ich möchte jedoch hinzufügen, dass die Qualität des Codes bestimmt alles andere als profesionell ist. Zu dem Zeitpunkt war ich noch Schüler und besaß nur ein paar Grundlagenkenntnisse.

Wer den Code verbessern will, der soll das tun. Aber ich bitte darum den Code wieder hier zu veröffentlichen, so dass jeder daraus lernen kann.

Wer Fragen hat, der soll Fragen. Allerdings sind meine Javakenntnisse etwas angestaubt und bin gerade dabei sie wieder aufzufrischen. Kann also nichts versprechen.

Ferner möchte ich noch Anfängern raten am Besten selbst ein Vier Gewinnt zu programmieren, um das Programmieren auch tatsächlich zu erlernen.
Die Möglichkeiten dies umzusetzen sind praktisch unendlich. Es gibt also in diesem Sinne kein Richtig und Falsch! Alles was man wissen muss um ein Vier Gewinnt zu programmieren ist, einerseits ein paar Grundlagenkenntnisse und andererseits muss man wissen, wie man mit Java Objekte malen kann. Alles andere ist wirklich ein Kinderspiel. Die größte Herausforderung sind eher die Algorithmen und eine intelligente KI. Das erfordert eher Selbstreflexion als ein Hardcore-Coder zu sein, der die komplette Java-API in und auswendig kann.

Hier also der Code zum Download:

Vier Gewinnt - Quellcode-Download

EDIT:
Ich habe mal in meinen alten PNs rumgewuchert und mich hatte tatsächlich jemand angeschrieben, dass ich ihm den Quellcode posten soll, da er die Umsetzung von Vier Gewinnt in der Schule als Projekt hat.
Ich kann nur jeden warnen sich selbst zu bescheißen. Es wird nämlich alles andere als leichter, wenn man plötzlich Informatik studiert oder eine Ausbildung als Fachinformatiker macht und plötzlich die basalsten Aufgaben nicht umgesetzt bekommt.
Außerdem ist es doch viel schöner zu sehen, dass man so etwas auch mehr oder weniger eigenständig programmieren kann bzw. den Quellcode versteht und keine Probleme hat ihn zu erweitern und zu verbessern als sich als falsche Ratte auszugeben der mit dem Quellcode nichts anfangen kann und das als sein eigenes ausgibt.

Liebe Grüße
Reality


----------



## Xams (8. Jan 2008)

Beim mir funktioniert es nicht, hab meinen Desktop als Hintergrung und beim Verschieben wird alles verzehrt.
Falls dich das noch interessiert.


----------



## Michi 13 (8. Jan 2008)

Würd es ja gerne testen, aber wie? (lol?)


----------



## Reality (10. Jan 2008)

Xams hat gesagt.:
			
		

> Beim mir funktioniert es nicht, hab meinen Desktop als Hintergrung und beim Verschieben wird alles verzehrt.
> Falls dich das noch interessiert.



Was genau funktioniert nicht?

Falls du Java 1.6 hast, musst du beim Compilieren die Kompatiblität mit Java 1.5 sicherstellen, sonst tauchen da tatsächlich grafische Probleme auf (zumindest bei mir). Kann mir das auch nicht erklären...

Liebe Grüße
Reality


----------



## Xams (13. Jan 2008)

die grafischen Probleme hab ich auch, das meinte ich


----------



## Guest (16. Jan 2008)

Ich hab vor ein paar Wochen ein Vier Gewinnt für die Uni programmiert:

download


----------



## Neolity (16. Jan 2008)

Also unvorstellbar schwer braucht vor allen Dingen unvorstellbar viel Zeit zum ziehen... 
Sonst gefällt mir das aber sehr gut!


----------



## PeterPani (12. Feb 2008)

Dafür das der Computergegner unvollstellbar schwer ist, ist der aber schlecht. Hab das mal gegen mein Programm spielen lassen und dein Programm hat 20/20 Partien verloren...


----------

