Einzelnen Beitrag anzeigen

Genei

Registriert seit: 20. Dez 2007
2 Beiträge
 
#1

memoryspiel (problem beim mischen)

  Alt 8. Jan 2008, 17:13
hi, bekomme immer eine unerwartete fehlermeldung wenn ich versuche die karten vorher mischen zu lassen. Dann heißt es auf einmal, wenn ich eine karte "umdrehen" will: "Unbekannte bilddateierweiterung (.)" (Zeile 145)
kann mir da jemand weiter helfen?

*edit: hab den quelltext mal auf 3 paare beschränkt für eine bessere übersicht. bekomme aber immer noch den gleichen fehler, bloß in einer anderen zeile (zeile 88 ).*

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, jpeg;

type
  TForm1 = class(TForm)
    karte1: TImage;
    karte2: TImage;
    karte3: TImage;
    karte4: TImage;
    karte5: TImage;
    karte6: TImage;
    procedure FormCreate(Sender: TObject);
    procedure kartenClick(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  spieler: array [1..3] of string; // Kartenmotive
  platz: array [1..6] of integer; // Position auf dem Memoryfeld
  spieler1, spieler2: integer;
  deckblatt1, deckblatt2: string;
  zweitekarte: boolean = true;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

var k, zufall, anzahl: integer;
    pfad: string;
    //anzahl: array[1..6] of integer;
    nummer: array[1..6] of integer;

begin
 randomize;
 anzahl:= 6;

while anzahl > 0 do
 begin
  zufall := random(Anzahl)+1;
  Nummer[Anzahl] := Platz[zufall];
 for k := zufall to Anzahl-1 do
  begin
   Platz[k] := Platz[k+1];
  end;
 Anzahl := Anzahl - 1;
end;

 karte1.Picture.loadfromfile('images\hansawappen.jpg');
 karte2.Picture.loadfromfile('images\hansawappen.jpg');
 karte3.Picture.loadfromfile('images\hansawappen.jpg');
 karte4.Picture.loadfromfile('images\hansawappen.jpg');
 karte5.Picture.loadfromfile('images\hansawappen.jpg');
 karte6.Picture.loadfromfile('images\hansawappen.jpg');

 pfad := 'images\spieler\';

 spieler[1]:= pfad + 'spieler1.jpg';
 spieler[2]:= pfad + 'spieler2.jpg';
 spieler[3]:= pfad + 'spieler3.jpg';

 {platz[1]:=1;
platz[2]:=2;
platz[3]:=3;
platz[4]:=4;
platz[5]:=5;
platz[6]:=6;}


end;

procedure TForm1.kartenClick(Sender: TObject);
var i,k: integer;
begin
 zweitekarte:= not(zweitekarte);
 i:= strtoint(timage(sender).Name[6]);
 timage(sender).Picture.LoadFromFile(spieler[platz[i]]);
 deckblatt1:=timage(sender).name;

if zweitekarte
 then begin
  spieler1:= i;
  deckblatt1:= timage(sender).name;
 end
 else begin
  spieler2:= i;
  deckblatt2:= timage(sender).name;
 end;

if zweitekarte
 then
  if platz[spieler1] <> platz[spieler2]
   then begin
    showmessage('gesehen?');
     for k:= 0 to componentcount-1 do
      if (timage(components[k]).name= deckblatt1) or (timage(components[k]).name= deckblatt2)
       then timage(components[k]).Picture.LoadFromFile('images\hansawappen.jpg');
      end;

end;

end.
  Mit Zitat antworten Zitat