xboxscene.org forums

Author Topic: Anybuddy Want To Do A Yahtzee Clone  (Read 621 times)

flattspott

  • Archived User
  • Hero Member
  • *
  • Posts: 1220
Anybuddy Want To Do A Yahtzee Clone
« on: October 03, 2004, 02:27:00 PM »

He what I got so far for a resourceless WIP. Like I said I a WIP. I was mainly doing the dice rolling,holding and drawing at the moment.

Stick it in $ActualPath$\whatever.xas to see it so far

CODE
// Yahtzee
MinimumBuild 1230

Set Mark 1
Set Players 1

:NewDice
For i = 1 To 5
   Set Hold%i% 0
Next

Gosub RollDice

Set dL1 115
Set dL2 173
Set dL3 231
Set dL4 288
Set dL5 345
Set Data1 0000000000001000000000000
Set Data2 0000001000000000001000000
Set Data3 0000001000001000001000000
Set Data4 0000001010000000101000000
Set Data5 0000001010001000101000000
Set Data6 0000001010010100101000000

:GameLoop
SetFunc Input IQPeekMsgID
If %Input% != "" Gosub InputHandler
Gosub DrawGame
Goto GameLoop

:InputHandler
IQWaitMsg Any
Switch %MSG_ID%
   Case UI_LF
 If# %Mark% != 1 Then
    Sub Mark 1
 EndIf
   EndCase
   Case UI_RT
 If# %Mark% != 5 Then
    Add Mark 1
 EndIf
   EndCase
   Case UI_SELECT
 If# %Hold{Mark}% == 0 Then
    Set Hold%Mark% 1
 Else
    Set Hold%Mark% 0
 EndIf
   EndCase
   Case MUSIC_NEXT
 Gosub RollDice
   EndCase
   Case UI_BACK
 Quit
   EndCase
EndSwitch
Return



:RollDice
For i = 1 To 5
   If# %Hold{i}% == 1 Goto NoRoll
   Set Dice%i% %($rand%6+1)%
   :NoRoll
Next
Return

:DrawGame
BeginDraw
Text 220 240 Center "Dice 1 : %Dice1% %Hold1%$EOL$Dice 2 : %Dice2% %Hold2%$EOL$Dice 3 : %Dice3% %Hold3%$EOL$Dice 4 : %Dice4% %Hold4%$EOL$Dice 5 : %Dice5% %Hold5%" Red

For i = 1 To 5
If# %Hold{i}% == 1 Then
   Gosub HoldIt%i%
   Goto Stop
EndIf
   Set globalLeft %dL{i}%
   Gosub Make%Dice{i}%
Set Z 0
For T = 0 To 4
   For L = 0 To 4
 SetFunc ToDraw Mid %Z% 1 %Array%
 If# %ToDraw% == 0 Then
    Box %(L*10+globalLeft)% %(T*10+100)% 10 10 White White
 Else
    Box %(L*10+globalLeft)% %(T*10+100)% 10 10 Red Red
 EndIf
 Add Z 1
   Next
Next
:Stop
Next

EndDraw
Return

:Make1
Set Array %Data1%
Return
:Make2
Set Array %Data2%
Return
:Make3
Set Array %Data3%
Return
:Make4
Set Array %Data4%
Return
:Make5
Set Array %Data5%
Return
:Make6
Set Array %Data6%
Return

:HoldIt1
Box 110 110 60 60 Orange Orange
Return
:HoldIt2
Box 168 110 60 60 Orange Orange
Return
:HoldIt3
Box 226 110 60 60 Orange Orange
Return
:HoldIt4
Box 283 110 60 60 Orange Orange
Return
:HoldIt5
Box 340 110 60 60 Orange Orange
Return









Logged