Thema: 4gewinnt

Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
719 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: 4gewinnt

  Alt 21. Mai 2017, 18:08
Zitat:
Nun kommt eine Fehlermeldung sobald ich auf meinen Button klicke (External:SIGSEGV) und es leitet mich nur zu einer stelle hin, zeigt aber nichts weiteres an.
Leider zeigt dein Codeausschnitt nicht, welche Werte i und j durchlaufen.

Deshalb: Hast du geprüft, ob "i*7+j+1" für alle i,j einen gültigen Index liefert?

Hast du dir überlegt auf list zu verzichten? Soweit ich sehe, gewinnst du durch list nix. Du könntest direkt auf deine Shapes zugreifen.

Damit du auf Umrechnungen wie i*7+j+1 verzichten kannst:
Du könntest deinen Shapes eventuell etwas intelligentere Namen geben. Ich meine damit: Du hast definiert
 arrayInt: array[1..6,1..7] of integer; Weise deinen Shapes Namen Shape<Zeile><Spalte> zu: Shape11, Shape12, Shape13,.... Shape67.

So färbst du dann deine Shapes ein:

Delphi-Quellcode:
if ( arrayInt[i,j]=1 ) then
( FindComponent( 'Shape' + inttostr(i)+inttostr(j) ) as TShape ).brush.color := clred
else
...

( Wie erwähnt: Die Eigenschaft Tag ist ab und zu auch ganz praktisch. )
Michael Gasser

Geändert von Michael II (21. Mai 2017 um 18:16 Uhr)
  Mit Zitat antworten Zitat