Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Mastermind mit Bildern - Check-Problem

  Alt 29. Jun 2007, 21:32
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
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat