Hey NamenLozer, n paar Tipps gehen doch okay oder? Sind doch schon/fast schon Sommerferien...
Also ich hab hier son paar Probleme.
1. Ich verstehe nicht, was ihr mit "Wir haben nun das Problem, dass wir nicht darauf kommen, wie wir den vom PC generierten Code mit dem vom Spieler eingegeben Code vergleichen können." meint
2. Das Programm läuft bei mir nicht, weil irgendwie Bilder fehlen
3. Ich hab mir den Code mal angesehen. Wie wärs, wenn ihr die Grafische Oberfläche ein bisschen vom eigentlichen Spiel entkoppelt?
Beispiel:
Ihr macht euch n Array, ums mal sehr simpel zu machen z.B. array of String,
dort speichert ihr, welche Kugel auf welcher positon steht:
Delphi-Quellcode:
var MeinFeld,ComputerFeld:array[1..4] of string;
Position:integer;
//Am Anfang zeigt die Position auf die erste Kugel in eurer Reihe, also
Position:=1;
//Ich mach jetzt mal das Beispiel für das OnClick Event auf das Bild mit der Roten Kugel:
procedure TAuswahl.rotClick;
begin
Image0.Picture:=rot.Picture;
MeinFeld[Position]:='r' // das 'r' nur als Beispiel...
end;
//Wenn der Computer sich per Zufall seine Reihe Zusammenstellt, macht ihr das selbe, sodass wir jetzt 2 Arrays haben, nämlich das Computer Array und das Spieler Array:
//z.B. MeinFeld: ['r','b','g','s']
//Dann können wir erstmal überprüfen, ob Kugeln die richtige Farbe und die Richtige Position haben und wieviele Farben sonst noch richtig sind (ich kenn die Spielregeln nicht genau)
for i:=1 to 4 do
for j:=1 to 4 do
if MeinFeld[i]=ComputerFeld[j] then
begin
ComputerFeld[j]:=''; //damit eine Kugel nicht zweimal identifiziert wird
if i=j then showmessage('Kugel m. Farbe '+MeinFeld[i]+' an richtiger Pos. '+inttostr(i))
else showmessage('Übereinstimmende Farbe '+MeinFeld[i]);
end;
Ich hoffe ich konnte helfen, sonst könntet ihr bitte mal euer Problem etwas genauer schildern?
Mfg Alleinherrscher