Seite 1 von 2

B&W Computer Evaluation

Verfasst: So 22. Mär 2009, 22:43
von Blurio
Ahoyhoy,

bisher hab ich meine vom Computer ausgeführte Evaluation mit zwei for schleifen ineinander gebastelt.
Allerdings is mir heute aufgefallen, dass die ziemlichen unsinn macht, wenn man 2 oder mehr gleiche Zahlen im Code hat.

Beispiel: Solution wäre 1234. Guess ist 1111. Jetzt kommt als Evaluation 1 black 3 white raus. Mir fällt allerdings auch nich ein, wie ichs anders machen sollte?

Und nebenher: Wie erzeug ich zufallszahlen zwischen 0 und irgendnem Wert? Geht sowas?

Re: B&W Computer Evaluation

Verfasst: So 22. Mär 2009, 22:49
von salami
Zu den Zufallszahlen:
Schau dir mal die Klasse Random an. Da gibts eine Funktion, die genau sowas macht.

Re: B&W Computer Evaluation

Verfasst: So 22. Mär 2009, 23:42
von Tankwart
Die normale random Funktion gibt ja Werte zwischen 0 und 1 zurück, die kann man dann ja einfach z.b. mit 5 multiplizieren.
Bei dem anderen Problem kann ich dir leider auch nicht helfen, da häng ich selber noch dran :\

Re: B&W Computer Evaluation

Verfasst: So 22. Mär 2009, 23:44
von markusj
SIeh dir mal den Wikipedia-Artikel an, die Beispiele dort zeigen die Schwierigkeit des Bewertens - und geben einen guten Denkanstoß.

mfG
Markus

Re: B&W Computer Evaluation

Verfasst: Mo 23. Mär 2009, 05:02
von Thomas
ich geb mal noch nen kleinen tipp:
du musst sicherstellen dass eine zahl immer nur einmal überprüft wird, d.h. wenn eine stelle im code ein schwarzes staebchn verursacht darf sie später nicht noch ein weißes verursachen

Re: B&W Computer Evaluation

Verfasst: Mo 23. Mär 2009, 13:06
von Blurio
Hm, ok, bisher hab ichs so, dass erst die weißen erzeugt werden, und wenn dann ein Schwarzes an einer Stelle ist wird ein weißes wieder abgezogen.

Re: B&W Computer Evaluation

Verfasst: Mo 23. Mär 2009, 15:46
von DaVinci
Blurio hat geschrieben:Und nebenher: Wie erzeug ich zufallszahlen zwischen 0 und irgendnem Wert? Geht sowas?
Tankwart hat geschrieben:Die normale random Funktion gibt ja Werte zwischen 0 und 1 zurück, die kann man dann ja einfach z.b. mit 5 multiplizieren.
Versuch's mal hiermit:

Code: Alles auswählen

import java.util.Random;
Random randGen = new Random();
int foo = randGen.nextInt(MasterMind.COLOR_COUNT);
Und in C (und den meisten C-basierten Sprachen) würde das in etwa so aussehen:

Code: Alles auswählen

srand();//seed random generator
int foo = rand() % COLOR_COUNT;

Re: B&W Computer Evaluation

Verfasst: Mo 23. Mär 2009, 17:28
von Thomas
ja aba eine zahl darf ja z.b. auch nicht 2 weiße staebchen erzeugen. musst quasi jede zahl abhaken die schon ma vorkam und zwar sowohl beim eingegeben code als auch beim überprüften code. somit müsste eigentlich klar sein wies geht ;)

Re: B&W Computer Evaluation

Verfasst: Di 24. Mär 2009, 20:13
von Blurio
Ah, danke, das hat gut geholfen.
Habs jetzt raus.

Edith meint, wohl doch nicht :S

Re: B&W Computer Evaluation

Verfasst: Di 24. Mär 2009, 22:42
von Thomas
du fängst mit den schwarzen stäben an und hakst sowohl im code als auch bem vergleichscode die stellen ab die gleich sind, dann machst du weiter mit den weißen stäben wo du nur bisher nicht abgehake zahlen vergleichst und zwar jede mit jeder bei ner übereinstimmung beide abhaken. wie du abhakst is dir überlassen, nur überprüf halt bevor du vergleichst und ochzählst ob die beidens tellen nicht vllt abgehakt sind. so müsste es gehn