![]() |
Memory in Delphi
Hallo ihr alle!
Ich habe eine Frage :) hat schonmal jemand von euch ein Memory in Delphi programmiert? Ich soll das als Schulprojekt machen und weiss noch nicht so direkt wie ich das machen soll :) Gruss Deven |
Re: Memory in Delphi
Ich würde mit TImages auf Panels arbeiten, die sichtbar werden, wenn man auf das panel klickt und wieder unsichtbar, wenn zwei gleichzeitig sichtbar sind und sie nicht übereinstimmen.
Zur Kontrolle würde ich ein zweidimensionales array nehmen (4x4 reicht anfangs), das mit jeweils zwei identischen werten randomized gefüllt wird. Anhand des Arrays würde ich dann auch die TImages mit den Bildern befüllen. |
Re: Memory in Delphi
huhu :)
danke das is schonmal ne gute idee! Aber was meinst du mit zweidimensionales Array? nene einfaches Array kenne ich ... Achja... und wie soll ich es machen wenn die anzahl der Karten variable sein soll? |
Re: Memory in Delphi
Dann musst du die Panels/Images zur Laufzeit erstellen, sonst wird es nicht gehen. Das array muss auch in der Größe variabel sein.
|
Re: Memory in Delphi
Stell dir ein zweidimensionales Array wie eine Tabelle vor, halt mit 2 Spalten...
|
Re: Memory in Delphi
ok
eine tabelle ... mehrere Spalten und mehrere Zeilen schätze ich meint ihr und was bringt mir das im zusammenhang mit memory? |
Re: Memory in Delphi
Genau.
Du könntest dort die Karten usw. reinschieben. Dann kannst du es im Programm besser verarbeiten... |
Re: Memory in Delphi
Das sieht dann in etwa so aus:
Array:
Code:
Du hast dann die Zeile und Spalte von dem Panel, wo der User draufklickt - wie in einem Koordinatensystem - oben links ist 1,1.
0 1 2 3
0 [a] [h] [c] [e] 1 [c] [g] [h] [b] 2 [f] [d] [a] [d] 3 [g] [b] [e] [f] Das Array geht dann von 0 - 3 wie Spalten auch bezeichnet sind. Du kannst dann z.B. das erste c mit (0,2) ansprechen. |
Re: Memory in Delphi
hallo :)
kann mir noch jemand sagen wie man ein zweidimensionales array programmiert ?_? :oops: |
Re: Memory in Delphi
Delphi-Quellcode:
type zweidim = array of array of integer;
procedure MakeMatrix; var matrix: zweidim; x,y: Integer; begin x := 5; // länge erste dimension y := 5; // länge zweite dimension setLength(matrix, x, y); // array initilisieren // der einzelne x/y - Wert wird dann so angesprochen x := 0; y := 4; matrix[x,y] := 1; // dies würde dem 'untersten' Element in der ersten spalte eine 1 zuweisen end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 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