Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Snake mit verschiedenen Bildern je nach Richtung!? (https://www.delphipraxis.net/107233-snake-mit-verschiedenen-bildern-je-nach-richtung.html)

Torley 24. Jan 2008 15:16


Snake mit verschiedenen Bildern je nach Richtung!?
 
Ich habe mit Delphi 6 für die Schule Snake programmiert!
Für den Schlangenkörper, der bis zu 100 teilen lang sein kann, habe ich bisher runde bildchen genommen!
Mein Freund will nun mein Programm mit mehr Grafik aufpeppeln und will auch das ich die Schlange so gestellte, das je nach richtung ein anderes Bild benutz wird!

Ich habe es bereits mit einer TImagelist versucht und es hat auch geklappt aber ich nicht wirklich!
ich habe mit einer if-abfrage gefragt wo das vorherige "Stück" ist, wenn alles zutrifft soll dann jbild 0 kommen!

jetzt macht mir Delphi aber immer nur ein Schlangensück zu diesem bild und beachtet nicht die nächsten stücke!


Daten zum Programm:

bild
variable die immer hochzählt bis sie gleich (laengesnake) ist und dann wieder auf 1 geht!
mit bild verschieb ich immer das letzt bild der schlange nach vorne so das es aussieht als wenn sie läuft!

laengesnake
wenn man ein item aufsammelt wird zu laengesnake eins dazugezählt!

image
array of tImage [0..100]

Delphi-Quellcode:
  for i:=1 to 100 do
   if ((image[i].Top = image[i+1].Top)
    and(image[i].left= image[i+1].Left+17)
    and(image[i].Top = image[i-1].Top)
    and(image[i].left= image[i-1].Left-17))
    then imagelist1.getbipmap(0,image[i].picture.Bitmap);
kann mir da jemand helfen! es will einfach nicht so wie ich!

Larsi 24. Jan 2008 15:20

Re: Snake mit verschiedenen Bildern je nach Richtung!?
 
kannste mir das snake game mal per pn oder so schicken??? Bitte bitte bitte :)

Herzlich Willkommen in der DP :dp:

also du kannst das doch so machen dass immer wenn du mit der schlange an die wand kommst dass dann einfach gesagt wird image1.picture := esd andrfasdf.jpg oder so oder???



MFG Lars Wiltfang

DeddyH 24. Jan 2008 15:28

Re: Snake mit verschiedenen Bildern je nach Richtung!?
 
Gehst Du wirklich bei jedem Richtungswechsel alle 100 Images durch? Ich würde mir den Index des letzten zu aktualisierenden Images merken (dürfte direkt nach dem Richtungswechsel 0 sein), OnTimer (oder wie Du es auch machst) hochzählen und gezielt das nächste Image laden.

@Larsi:
Zitat:

Zitat von Larsi
image1.picture := esd andrfasdf.jpg

Erst denken, dann posten, gell? :mrgreen:

Torley 24. Jan 2008 15:40

Re: Snake mit verschiedenen Bildern je nach Richtung!?
 
Larsi

wenn ich an die wand komm mus das bild nichtmehr geändert werden weils dann aus ist!

deddy

ich geh immer die schlangenstücke durch die schon dran hängen! also beim prüfen ob man sich selbst beißt!


das ganze ist in einen timer eingebaut der alle 100ms die schlange nach vorne bewegt!
mit den pfeiltasten bewergt sie sich nach links, rechs...

wenn ich jetzt ein schlangenmuster als schlange nehme das sieht das nicht grade schön aus wen sie nach oben läuft und die schlangenstücke aber links und rechts von jedem schlangenstzück vom bild her passen!

ich dachte auch daran das bild welches von hinten nach vorne geholt wird zu prüfen mit der abfrage aber ich bekomm immer fehler meldungen!

das müsste dan so sein ungefähr

if ((image[bild].left = image[bild-1*].left+17)
and(image[bild].top = image[bild-1*].top))
then ...

*{-um das nächste bild zu wählen aber wenn bild 1 ist wär bild-1 0 was nicht geht}

DeddyH 24. Jan 2008 15:48

Re: Snake mit verschiedenen Bildern je nach Richtung!?
 
Dann fang mit Deiner Schleife doch bei 2 an, dann geht das auch :zwinker:

DP-Maintenance 24. Jan 2008 16:34

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Fragen / Anregungen zur DP" nach "VCL / WinForms / Controls" verschoben.
Meinst Du wirklich, dass Deine Frage etwas mit der DP selbst zu tun hat?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz