🎮
ElrondBet.net
  • â„šī¸About ElrondBet.net
  • â–ļī¸Getting Started
  • 🎲GAMES INFO
    • 🃏Card Flip
    • đŸĒ¨RPS
    • đŸ¤ŧBattle Arena
    • đŸŽ¯Blackjack
    • 🌰NUTS Roulette
  • 🔑Transparency & Security
    • â˜‚ī¸NFT Insurance
    • âš–ī¸Fairness
  • 🤝Affiliate
    • 🧑‍🤝‍🧑Referral
  • â›ŊFees and Rewards
    • 🧀ElrondBet Fees
    • 🔁VIP Token Swap
    • đŸ–ŧī¸NFT Staking
  • 🔗USEFUL LINKS
    • Official Channels
    • Smart Contracts
Powered by GitBook
On this page
  • Card Flip SC Code:
  • RPS SC Code:
  • Battle Arena SC Code:

Was this helpful?

  1. Transparency & Security

Fairness

Card Flip SC Code:

 let mut rand_source = RandomnessSource::<Self::Api>::new();

        // Calculate a random number between 1 - 200 (x2), 1 - 300 (x3) and 1 - 400 (x4)
        let random_result = rand_source.next_u16_in_range(1, game_mode * 100 + 1);
        // The actual card is the rest from division + 1 since selected_card starts from 1
        let result = (random_result % game_mode + 1) as u8;

        // Caller LOST...
        if selected_card != result {
            self.distribute_tokens(collection, &token, &amount, false);

            return ( ManagedBuffer::from(b"unlucky"), result ).into();
        }

        // Caller WON!
        let multiplier = BigUint::from(game_mode as u32);
        let amount_won = &amount * &multiplier;

RPS SC Code:

let mut rand_source = RandomnessSource::<Self::Api>::new();

        // Calculate a random number between 1 - 300
        let random_result = rand_source.next_u16_in_range(1, 301);
        // The actual card is the rest from division + 1 since selected_card starts from 1
        let result = (random_result % 3 + 1) as u8;

        // Caller DRAW...
        if selected_card == result {
            self.distribute_tokens(collection, &token, &amount, true);

            return ( ManagedBuffer::from(b"draw"), result ).into();
        }

        // Caller LOST...
        if (1 == selected_card && 2 == result) // rock loses to paper
            || (2 == selected_card && 3 == result) // paper loses to scissors
            || (3 == selected_card && 1 == result) // scissors loses to rock
        {
            self.distribute_tokens(collection, &token, &amount, false);

            return ( ManagedBuffer::from(b"lose"), result ).into();
        }

        // Caller WON!
        let multiplier = BigUint::from(2u32);
        let amount_won = &amount * &multiplier;

Battle Arena SC Code:

 let mut rand_source = RandomnessSource::<Self::Api>::new();
        // Calculate a random number between 1 - 200
        let random_result = rand_source.next_u8_in_range(1, 201);

        // Caller LOST...
        if 0 == random_result % 2 {
            self.distribute_tokens(&game.creator, collection, &token, &amount_won);

            return ManagedBuffer::from(b"unlucky");
        }

        // Caller WON!
        self.distribute_tokens(&caller, collection, &token, &amount_won);
PreviousNFT InsuranceNextReferral

Last updated 2 years ago

Was this helpful?

🔑
âš–ī¸