Folgendes ist die Prozedur, die die neuen Muenzen auf das Spielfeld malt.
Dazu kommt draw_coin, die wiederrum die Beschriftung auf die Münzen malt.
Und Del_bets, die die Grafiken löscht.
Zur Funktion:
Man muss sich vorstellen, dass es jeweils 2 runde und 2 eckige Münzen der Farbe rot (player1) und das gleiche der Farbe rosa gibt.
Diese Münzen sind unbeschriften und nicht sichtbar.
Beim Click auf den Tisch wird geprüft ob der Einsatz ok ist und dann in der Table_click Prozedur die Coin_draw aufgerufen und den Wert des Einsatzes auf die linke leere Münze (Rund bei <100 und Eckig bei > 100 ... vgl. Jetons bei Roulette).
Diese Münze wird auf den Tisch gemalt und dann wird die 2. leere Münze nochmal kopiert für das nächste Mal.
Entschuldigt, dass soviel auskommentiert ist, aber damit es läuft kann ich eben bisher nur eine Grafik auf dem Bildschirm haben (Gestern Mittag konnten es noch 2 sein ... *seltsamfind*)
Irgendjemand hatte etwas von bitmap.free oder so gesagt. Es scheint ja irgendeine LOKALE Variable riesig zu werden (vlt. die die die bilder speichert) ...
Ich wäre sehr dankbar für erklaerungen!
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: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| procedure TSpielflaeche.table_click(Sender: TObject); var bet,new,x,y :integer;
begin
...
...
new := croupier.show_bets(bet);
if (croupier.show_bets(bet) > 0) then begin if croupier.show_active_player = 1 then begin if croupier.show_bets(bet) < 100 then begin Spielflaeche.Fakemuenze1.Canvas.Brush.Style:=bsClear; Spielflaeche.draw_coin(new,1); Spielflaeche.l_tisch.Canvas.Draw(x,y,Spielflaeche.Fakemuenze1.Picture.Graphic); Spielflaeche.Fakemuenze1.Picture.Graphic:=Spielflaeche.Fakemuenze2.Picture.Graphic; end else begin end; end else if croupier.show_active_player = 2 then begin if croupier.show_bets(bet) < 100 then begin end else begin end; end; end; end; |
Die Beschriftung der Münzen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TSpielflaeche.draw_coin(Value,coin:Integer); begin case coin of 1 : Spielflaeche.Fakemuenze1.Canvas.TextOut(3,5,IntToStr(Value)); end; end; |
hier zum entfernen der münzen
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TSpielflaeche.b_delbetClick(Sender: TObject); begin croupier.delete_bets(activeplayer); l_tisch.Repaint; end; |