Autor Beitrag
hofnarr
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 26.04.06 12:19 
ja leute ich hab keine ahnung wie man yazee schreibt, aber ich will ein solch ähnliches Spiel Programmieren.

(kniffel bei und in der Schweit yazee sollte jeder kennen)

nun die Würfel werden durch die Randomize funktion generiert und werden in 6 labels herausgegeben. nun habe ich die schwierikeit, dass ich keine ahnung und vorallem keine Idee habe wie ich bei diesen 6 Labels überprüfen kann ob und vorallem welche zahl 3 mal vorkommt.

hat jemand eine idee? danke schon mal jetzt

Gruss
Hofnarr

Moderiert von user profile iconraziel: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 26.04.2006 um 13:50
Moderiert von user profile iconTino: Überflüssige Zeilenumbrüchen entfernt.
Moderiert von user profile iconTino: Titel erweitert.
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Mi 26.04.06 12:47 
Da hätt ich doch glatt ma die idee, dass du dich erstmal mit den grundlagen vertraut machst, denn deutlich mehr wirst du - soweit ich das bisher sehe - nicht brauchen...
such mal nach dem crashkurs von user profile iconchristian s., der wird dir schonmal weiterhelfen, hab den link gerade nicht da...
und dann versuchs erstmal und meld dich mit konkreten problemen zurück, dann kommst du am ehesten weiter.

gruß,
miri
starsurfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 334

Win 95, Win 98, Win XP, Win Vista, Linux
D5 Enterprise ,D2005, D6 Personal, Visual C++ Express 2005, C++ Builder 6 E, Dev-C++
BeitragVerfasst: Mi 26.04.06 12:54 
da nimmst du als erstes ein "array[0..5] of integer"... in den schreibst du nach ein anderer die Zahlen...


dann nimmst du noch ein "array[0..5] of integer" und gehst den array von vorhin durch...

Beispiel:

1ter array:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
[0]: 1 //enspricht 1 gewürfelte zahl
[1]: 2 //enspricht 2 gewürfelte zahl
[2]: 3 //enspricht 3 gewürfelte zahl
[3]: 2 //enspricht 4 gewürfelte zahl
[4]: 1 //enspricht 5 gewürfelte zahl
[5]: 2 //enspricht 6 gewürfelte zahl

2ter array:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
[0]: 2 //enspricht anzahl von augenzahl 1
[1]: 3 //enspricht anzahl von augenzahl 2
[2]: 1 //enspricht anzahl von augenzahl 3
[3]: 0 //enspricht anzahl von augenzahl 4
[4]: 0 //enspricht anzahl von augenzahl 5
[5]: 0 //enspricht anzahl von augenzahl 6


und im 2ten array steht dann das drinne was du suchst...

_________________
GEIZ IST GEIL! - Ihr Sozialamt
hofnarr Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 26.04.06 13:30 
hm... mit dem Array könnte ich schwierikeiten bekommen, da die zahlen ja variabel sind (da random) kann ich die zahlen nicht einfach reinschreiben... vieleicht schnall ich auch einfach nicht was du meinst... :(
M.p.3
Hält's aus hier
Beiträge: 10

WinXP Home SP 2
Delphi 7 PE, Delphi 2005 PE
BeitragVerfasst: Mi 26.04.06 14:02 
also ich wollt auch letztens sowas schreiben..hab aber so meine probleme gehabt..un es schleifen lassen..nja..auf jeden fall zu deinem projekt..das erschwert die ganze sache wahrscheinlich aber yahtzee bzw. kniffel wird mit 5 würfeln gespielt und nicht mit 6..nja mich würde trotzdem interessieren, wie das hier weitergeht
M.p.3
hofnarr Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 26.04.06 14:51 
nunja, dass es mit 5 statt 6 Würfel gespielt wird ist nebensache ^^ Ich hab das Problem bis jetzt nicht lösen können und schon bald ist feierabend ^^ Morgen muss ich dieses spielchen abgeben... falls ich es in dieser Stunde nicht mehr schaffe, werde ich es wohl auslassen müssen... also ich währe um noch ein wenig mehr hilfe sehr erfreut
Gruss
Hofnarr
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mi 26.04.06 15:09 
Da scheinen ja alle Info-Lehrer auf dieselbe Idee gekommen zu sein :wink:

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Mi 26.04.06 15:24 
Hi, grad mal so nen Einwurf:

Ich hab mich letztes Jahr auch mal just-for-fun dran gemacht ein Kniffel-Spiel zu programmieren.
Hab die EXE hier: www.horschdware.de/d...2005%20-%20light.rar

Source hab ich leider gerade nicht zur Hand, da unterwegs.
Ich stell das mal heute Abend hier rein, könnte vllt dem ein oder anderen was bringen.

@hofnarr
Das schwierigste am Kniffel ist - imho - die Aufschlüsselung danach WAS gewürfelt wurde. D.h. wurde gerade eine kleine Straße gewürfelt oder eine große oder ein Full House etc...
Das schreiben in arrays oder labels bzw. herausfinden wie oft eine bestimmte zahl vorkommt sollte dabei das geringste problem sein...

Moderiert von user profile iconTino: Link korrigiert.

edit: um herauszufinden wie oft eine zahl vorkommt:

Pseudocode:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
6 Counter erstellen
Prüfe auf Augenzahl 1 bis 6
{
  Counter für momentane Augenzahl 0 setzen

  Prüfe für würfel 1 bis 5
  {
     ist Augenzahl == würfel.Augenzahl dann
       Counter für momentane Augenzahl erhöhen
  }
}

_________________
Delphi: XE - OS: Windows 7 Professional x64
hofnarr Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 27.04.06 07:22 
@kroko
da haste recht ^^ ich will auch nicht, dass ihr mir die aufgabe löst... sondern helft, einen brauchbaren quelltext zusammenzuschreiben...

Horschdware
eine solche idee ging mir auch schon duch den kopf... aber ich schien einen fehler gemacht zu haben... hab ihn auf jedenfall nicht beheben können... ich werde bei gelegenheit noch den quelltext editen

EDIT: ich habe das feld nicht gefunden :oops:
aber ich kopiere ihn mal so rein:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if a=b and b=c then  //wenn 1.2.3. würfel überieinstimmen
lbl_pl1_3g.caption:=floattostr((a+b+c)*2)
else
if b=c and c=d then  // wenn würfel 2.3.4. übereinstimmen
lbl_pl1_3g.caption:=floattostr((b+c+d)*2)


der text geht beliebig weiter, bis alle möglichkeiten ausgeschöpft sind

Gruss Hofnarr

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Do 27.04.06 08:49 
Dir wird wahrscheinlich aufgefallen sein dass es recht viele möglichkeiten gibt.
Wenn du das logisch zusammenfassen kannst (schnapp dir ne tasse kaffee und etwas schokolade, dann gehts schneller) schreib dir das in eine kleine schleife rein udn du sparst dir haufenweise code.

_________________
Delphi: XE - OS: Windows 7 Professional x64
hofnarr Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 27.04.06 09:02 
^^ kaffe kann wunder wirken ^^ nö hatte grad nen energy drink ^^ geht schon ich weiss bloss nicht warum er das and nicht frisst... ich habe keinen plan was die fehlerausgabe soll:
er markiert das erste if und sagt :
[Error] main.pas(1146): ';' expected but 'IF' found und die zeile übhalb hat ein ; am ende *aaarrrghhh*
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Do 27.04.06 09:12 
magst mal den betreffenden teil posten?
ich tippe mal auf nen tippfehler deinerseits

_________________
Delphi: XE - OS: Windows 7 Professional x64