Skip to content

0xcodefive/03_BootCamp_Assignment

Repository files navigation

Игра Камень-Ножницы-Бумага на vanilla js

Игра состоит из двух вариантов: Игрок-Контракт и Игрок-Игрок

Игрок-Контракт

Игра поддерживает все кошельки на EVM, в которых доступно подключение BSC testnet (MetaMask, Coinbase и т.д.). Игрок может сыграть на tBNB и токен. Для проверки токенов происходит перекрёстное сравнение количества доступных токенов кошелька игрока и контракта с использованием api BSCscan. Игра использует ChainLink для получения случайных значений, определяющих исход игры. Игра оставляет комиссию за игру со всех игроков, кроме тех, кто имеет на своём кошельке NFT токены ZeroCode.

Игрок-Игрок

Игра поддерживает все кошельки на EVM, в которых доступно подключение BSC testnet (MetaMask, Coinbase и т.д.) Игрок может сыграть на tBNB и токен. У игрока есть варианты выбора: создать игру или присоединится к иной ранее созданной игре другого игрока. В процессе игры игрок должен указать свой уникальный код, благодаря которому производится хеширование выбора игрока и его безопасное хранение в блокчейне. Когда оба игрока сделали свой ход, у создателя игры есть время раскрыть свой ход и заставить контракт направить средства победителю. Если первый игрок не хочет раскрывать свой ход, тогда второй игрок по прошествии таймаута может завершить игру и не зависимо от выбора первого игрока забрать все средства себе. Это необходимо, т.к. первый игрок передает в игру хеш своего выбора на основе уникального кода, и никто кроме него не может знать, какой ход он сделал. В случае, если с игроком никто не сыграл в его игру, он может закрыть игру по таймауту и забрать свои средства. Игра оставляет комиссию за игру со всех игроков, кроме тех, кто имеет на своём кошельке NFT токены ZeroCode.