Update process_description.md

This commit is contained in:
Anastasia Avsyukevich 2025-01-20 18:48:23 +00:00
parent 04d692b15f
commit 12de68320f

View file

@ -1,20 +1,63 @@
## Описание функций, используемых в игре:
wallet1 - создает комнату
wallet2
wallet3
wallet4 - игроки
contract compile
contract deploy (получаем contractid)
игроки:
wallet2,
wallet3,
wallet4,
и далее
### Команды для деплоя контрактов комнаты и токенов:
```$ ./bin/neo-go contract compile -i contract.go```
```$ ./bin/neo-go contract deploy -i contract.nef -m contract.manifest.json -r http://localhost:20331 -w wallet1.json```
### Игровые команды
- *Создание комнаты хостом*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash createRoom countRoundWinners countGameWinners wallet1Hash```
##### Аргументы метода:
1. countRoundWinners - кол-во победителей раунда
2. countGameWinners - кол-во победителей игры
- *Вход участников в комнату* (на примере игрока wallet2)
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet2.json -g gas_payment contractHash joinRoom roomId wallet2Hash```
##### Аргументы метода:
1. roomId - ID комнаты, которое заранее передано игроку вне данной системы
##### Аналогично для:
wallet3 joinRoom
wallet4 joinRoom
- *Запуск игры хостом*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash startGame roomId wallet1Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
- *Публикация вопроса текущего раунда*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash askQuestion roomId tokenId wallet1Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
2. tokenId - ID токена. Так как вопросы хоста представляются в виде уникальных NFT-токенов, то мы передаем их ID
- *Старт вопроса текущего раунда*
invokeFunction wallet1.json contractid createRoom (аргументы хз) --wallet1
invokeFunction wallet2.json contractid joinRoom roomid --wallet2
wallet3 join
wallet4 join
invokeFunction wallet1.json contractid startGame roomid --wallet1
invokeFunction wallet1.json contractid setQuestion roomid (string) --wallet1
invokeFunction wallet1.json contractid startQuestion roomid --wallet1
invokeFunction wallet2.json contractid sendAnswer roomid (string) --wallet2
wallet3 sendAnswer
@ -35,11 +78,8 @@ getWinner
invokeFunction wallet1.json contractid endGame roomid --wallet1
### Описание основных действующих лиц и их действий:
![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.0.jpg)
![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.1.jpg)
![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.2.jpg)
![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.3.jpg)
![Описание основных действующих лиц и их действий](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3_activity_diagram.jpg)