fix: craps, slot fixed checks, added logs
This commit is contained in:
parent
52f40c6b72
commit
94ad40bb4b
4 changed files with 27 additions and 1 deletions
|
@ -33,6 +33,17 @@ func _deploy(data interface{}, isUpdate bool) {
|
|||
func PlayCraps(bet int, firstSum int, secondSum int) {
|
||||
ctx := storage.GetContext()
|
||||
playerOwner := runtime.GetScriptContainer().Sender
|
||||
|
||||
if bet <= 0 {
|
||||
panic("Invalid bet amount")
|
||||
}
|
||||
|
||||
zaCoinHash := storage.Get(ctx, zaCoinHashKey).(interop.Hash160)
|
||||
playerBalance := contract.Call(zaCoinHash, "balanceOf", contract.ReadStates, playerOwner).(int)
|
||||
if playerBalance < bet {
|
||||
panic("Insufficient funds")
|
||||
}
|
||||
|
||||
isWin := isWinner(firstSum, secondSum)
|
||||
if (isWin){
|
||||
changePlayerBalance(ctx, playerOwner, bet)
|
||||
|
@ -49,6 +60,7 @@ func isWinner(firstSum int, secondSum int) bool {
|
|||
sum := 0
|
||||
for i:=0; i<2; i++ {
|
||||
crap := (runtime.GetRandom() % 6) + 1
|
||||
runtime.Log("Crup number " + string(i+1) + " Rundom number " + string(crap))
|
||||
runtime.Notify("Crup number", i+1)
|
||||
runtime.Notify("Random number", crap)
|
||||
sum += crap
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"name":"SlotMashine","abi":{"methods":[{"name":"_deploy","offset":0,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"onNEP17Payment","offset":328,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"rollSlot","offset":95,"parameters":[{"name":"bet","type":"Integer"}],"returntype":"Void","safe":false}],"events":[{"name":"wheelNumber","parameters":[{"name":"int","type":"Integer"}]},{"name":"value","parameters":[{"name":"int","type":"Integer"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":"*"}],"supportedstandards":[],"trusts":[],"extra":null}
|
||||
{"name":"SlotMashine","abi":{"methods":[{"name":"_deploy","offset":0,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"onNEP17Payment","offset":548,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"rollSlot","offset":95,"parameters":[{"name":"bet","type":"Integer"}],"returntype":"Void","safe":false}],"events":[{"name":"wheelNumber","parameters":[{"name":"int","type":"Integer"}]},{"name":"value","parameters":[{"name":"int","type":"Integer"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":"*"}],"supportedstandards":[],"trusts":[],"extra":null}
|
|
@ -34,6 +34,17 @@ func _deploy(data interface{}, isUpdate bool) {
|
|||
func RollSlot(bet int) {
|
||||
ctx := storage.GetContext()
|
||||
playerOwner := runtime.GetScriptContainer().Sender
|
||||
|
||||
if bet <= 0 {
|
||||
panic("Invalid bet amount")
|
||||
}
|
||||
zaCoinHash := storage.Get(ctx, zaCoinHashKey).(interop.Hash160)
|
||||
playerBalance := contract.Call(zaCoinHash, "balanceOf", contract.ReadStates, playerOwner).(int)
|
||||
|
||||
if playerBalance < bet {
|
||||
panic("Insufficient funds")
|
||||
}
|
||||
|
||||
res := roll()
|
||||
if (res == 0){
|
||||
changePlayerBalance(ctx, playerOwner, -bet)
|
||||
|
@ -48,14 +59,17 @@ func roll() int {
|
|||
firstWheel := (runtime.GetRandom() % 8) + 1
|
||||
runtime.Notify("wheelNumber", 1)
|
||||
runtime.Notify("value", firstWheel)
|
||||
runtime.Log("WheelNumber 1, value="+string(firstWheel))
|
||||
|
||||
secondWheel := (runtime.GetRandom() % 8) + 1
|
||||
runtime.Notify("wheelNumber", 2)
|
||||
runtime.Notify("value", secondWheel)
|
||||
runtime.Log("WheelNumber 2, value="+string(secondWheel))
|
||||
|
||||
thirdWheel := (runtime.GetRandom() % 8) + 1
|
||||
runtime.Notify("wheelNumber", 3)
|
||||
runtime.Notify("value", thirdWheel)
|
||||
runtime.Log("WheelNumber 3, value="+string(thirdWheel))
|
||||
|
||||
if (firstWheel == secondWheel && firstWheel == thirdWheel){
|
||||
return firstWheel
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue