Also ich hab damal nen Problem undzwar
versuche ich gerade eine überprüfung zu schreiben die mir überprüft ob das bild auf das ich geklickt habe das selbe Bild gespeichert hat wie eins nebendrann
Die bilder sind in einem Großen Quadrat angeordnet und zwar in 10x10 Bilder
da das ein Schiffeversenken werden soll soll halt abgefragt werden beim schiffe setzen ob man mebendrann schon ein schiff gesetzt hat, aber das funktioniert irgendwie nicht -.- immer wenn ich ein bild anklicke sagt mir meine eigene fehlermeldung das ich das Schiff da net setzen kann -.-
hier mal der Code
Beim onClick ereigniss
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Imagelist1.GetBitmap(1,bitmap); Image.Picture.Bitmap := bitmap ; if Check(Image,x,y) then begin image.Picture.Bitmap.TransparentColor := CLnone ; SetzenAN := SetzenAN - 1 ; end else begin Imagelist1.GetBitmap(3,bitmap); Image.Picture.Bitmap := Bitmap; MessageDlg('Du kannst hier Kein Schiff setzen'+inttostr(f)+','+xS+','+inttostr(y),MTinformation,[MbOk],0); end; |
udn jetzt die Funktion
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| Function Check(Image:TImage;x,y:Integer):Boolean ; var j,i : integer ; Image2 : Timage; begin For i := 1 to 10 do For j := 1 to 10 do begin image2 := Images[1,x,y] ; if x = i + 1 then begin if Image2.picture.bitmap = Image.picture.bitmap then Result := False else Result := True ; end; if x = i - 1 then begin if Image2.picture.bitmap = Image.picture.bitmap then Result := False else Result := True ; end; if y = j + 1 then begin if Image2.picture.bitmap = Image.picture.bitmap then Result := False else Result := True ; end; if y = j - 1 then begin if Image2.picture.bitmap = Image.picture.bitmap then Result := False else Result := True ; end; end; end; |