![]() |
Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewinnt!
Hallo,
habe folgendes Problem und komme überhaupt kein STück voran. Habe ein Würfelspiel gebastelt was auf einen Klick auf den Würfel(TImage) würfelt. Das klappt auch schon. Mein problem ist beim Übergang zum nächsten Spieler. IRgendwie kann ich dann das OnClick Ereigniss nicht mehr ausführen er macht einfach nichts. Wäre schön wenn mit jemand Tipps geben kann, wie ich weitermachen soll.
Delphi-Quellcode:
Dankeschöön
unit UMain;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus, jpeg, mmSystem; type TMain = class(TForm) gb_spieler1: TGroupBox; gb_spieler3: TGroupBox; gb_spieler2: TGroupBox; gb_spieler4: TGroupBox; lbl_aktpktspieler1: TLabel; lbl_gespktspieler1: TLabel; lbl_aktpktspieler2: TLabel; lbl_gespktspieler2: TLabel; lbl_aktpktspieler3: TLabel; lbl_gespktspieler3: TLabel; lbl_aktpktspieler4: TLabel; lbl_gespktspieler4: TLabel; MainMenu1: TMainMenu; Star1: TMenuItem; Informationen1: TMenuItem; Einstellungen1: TMenuItem; Highscore1: TMenuItem; Beenden1: TMenuItem; Spielregelmn1: TMenuItem; Entwickler1: TMenuItem; img_wuerfel: TImage; lbl_status: TLabel; btn_dasreicht: TButton; procedure Einstellungen1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure img_wuerfelClick(Sender: TObject); procedure btn_dasreichtClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } wuerfelauge,spielerid, spielende,aktpktspieler1, gespktspieler1, aktpktspieler2, gespktspieler2, aktpktspieler3, gespktspieler3, aktpktspieler4, gespktspieler4:integer; wuerfelarray : array[1..6] of string; end; var Main: TMain; implementation uses UEinstellungen; {$R *.dfm} //Prozedur Spieler 2------------------------------------------------------------ procedure spielerzwei(); begin Main.gespktspieler1 := Main.gespktspieler1+Main.aktpktspieler1; Main.lbl_gespktspieler1.Caption := IntToStr(Main.gespktspieler1); Main.aktpktspieler1:=0; Main.lbl_aktpktspieler1.Caption := inttostr(Main.aktpktspieler1); Main.spielerid := Main.spielerid+1; Main.img_wuerfel.Enabled := true; end; //Ende Spieler 2---------------------------------------------------------------- // Würfel Prozedur STart-------------------------------------------------------- procedure wuerfeln(); var i: Integer; begin SndPlaySound( 'Wuerfeln.WAV', SND_ASYNC ); for i := 0 to 35 do begin Main.wuerfelauge := Random(6)+1; Main.img_wuerfel.Picture.LoadFromFile(Main.wuerfelarray[Main.wuerfelauge]); Main.img_wuerfel.Refresh; Application.ProcessMessages; sleep(50); end; end; //Ende Prozedur Würfeln--------------------------------------------------------- // Button das reicht! klicken--------------------------------------------------- procedure TMain.btn_dasreichtClick(Sender: TObject); begin //Wenn Spieler 1 klickt dann...------------------------------------------------- if (spielerid =1) then begin spielerzwei(); end; //Ende wenn Spieler 1 klickt---------------------------------------------------- //Wenn Spieler 2 klickt dann...------------------------------------------------- if (spielerid =2) then begin gespktspieler2 := gespktspieler2+aktpktspieler2; lbl_gespktspieler2.Caption := IntToStr(gespktspieler2); aktpktspieler2:=0; lbl_aktpktspieler2.Caption := inttostr(aktpktspieler2); spielerid := spielerid+1; end; //Ende wenn Spieler 2 klickt---------------------------------------------------- end; procedure TMain.Einstellungen1Click(Sender: TObject); begin Einstellungen.Visible := true; end; procedure TMain.FormCreate(Sender: TObject); begin spielerid :=1; randomize; //Würfelarray deklarieren------------------------------------------------------- wuerfelarray[1] := 'wuerfel1klein.jpg'; wuerfelarray[2] := 'wuerfel2klein.jpeg'; wuerfelarray[3] := 'wuerfel3klein.jpeg'; wuerfelarray[4] := 'wuerfel4klein.jpeg'; wuerfelarray[5] := 'wuerfel5klein.jpg'; wuerfelarray[6] := 'wuerfel6klein.jpg'; //Ende Würfelarray-------------------------------------------------------------- end; procedure TMain.img_wuerfelClick(Sender: TObject); begin // Spieler 1 würfelt------------------------------------------------------------ if (spielerid =1) then begin wuerfeln(); if (wuerfelauge >0) And (wuerfelauge <6) then begin aktpktspieler1:= aktpktspieler1+wuerfelauge; lbl_aktpktspieler1.Caption := inttostr(aktpktspieler1); end else if (wuerfelauge=6) then begin aktpktspieler1 :=0; lbl_aktpktspieler1.Caption := inttostr(aktpktspieler1); sndPlaySound('Mauli.wav',SND_SYNC); spielerid := spielerid+1; lbl_status.Caption := Einstellungen.edit_spieler2.Text + ' ist an der Reihe'; btn_dasreicht.Click(); exit; end; end; //Ende Spieler 1 würfelt-------------------------------------------------------- //Spieler 2 würfelt------------------------------------------------------------- if (spielerid =2) then begin wuerfeln(); if (wuerfelauge >0) And (wuerfelauge <6) then begin aktpktspieler2:= aktpktspieler2+wuerfelauge; lbl_aktpktspieler2.Caption := inttostr(aktpktspieler2); end else begin aktpktspieler2 :=0; lbl_aktpktspieler2.Caption := inttostr(aktpktspieler2); sndPlaySound('Mauli.wav',SND_SYNC); spielerid := spielerid+1; lbl_status.Caption := Einstellungen.edit_spieler2.Text + ' ist an der Reihe'; btn_dasreicht.Click(); exit; end; end; //Ende Spieler 2 würfelt-------------------------------------------------------- end; end. |
Re: Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewi
Häng doch am besten das komplette Projekt mal an (*.dpr, *.dfm, *.pas, *.res), dann kann man sich einfach reindebuggen und muss sich nicht gedanklich mit dem kompletten Quellcode rumquälen.
|
Re: Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewi
Liste der Anhänge anzeigen (Anzahl: 1)
Ja stimmt hätte ich auch direkt machen können ;)
|
Re: Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewi
Ok, ich habs 4 mal versucht... die rar geht nicht... versuchs doch bitte nochmal mit ner zip oder so... ;)
|
Re: Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewi
Die rar geht doch :gruebel:
Aber der Code ist ein anderer als der gepostete?
Delphi-Quellcode:
procedure TMain.img_wuerfelClick(Sender: TObject);
begin if (Einstellungen.cb_spieler1.Checked = true) AND (spielerid =1) then begin wuerfeln(); if (wuerfelauge >0) And (wuerfelauge <6) then begin aktpktspieler1:= aktpktspieler1+wuerfelauge; lbl_aktpktspieler1.Caption := inttostr(aktpktspieler1); end else begin aktpktspieler1 :=0; lbl_aktpktspieler1.Caption := inttostr(aktpktspieler1); sndPlaySound('Mauli.wav',SND_SYNC); spielerid := spielerid+1; lbl_status.Caption := Einstellungen.edit_spieler2.Text + ' ist an der Reihe'; btn_dasreicht.Click(); end; end; end; |
Re: Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewi
Liste der Anhänge anzeigen (Anzahl: 1)
alle guten dinge sind 3 :)
|
Re: Würfelspiel--Wer zu erst gewisse Punktzahl erreicht gewi
egal hat sich erledigt läuft!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 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-2025 by Thomas Breitkreuz