LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 学习EOSIO之井字棋游戏|EOSNation

学习EOSIO之井字棋游戏|EOSNation

2020-05-09 EOSNation 来源:区块链网络

本期学习EOSIO内容:井字棋游戏合约建立

那我们赶快跟着Lena一起来看看吧!

快速浏览一下EOSIO的“井字棋游戏合约”建立教程,这里对“井字棋”游戏合约搭建的整体过程,描述得可以说是十分详细。首先介绍了本教程的目标和井字棋游戏规则。我们将搭建一个标准的3x3的棋盘格,对决双方为房主和挑战者,并用“1”和“2”来分别代表房主和挑战者的棋子,没有棋子的格子则为“0”。相当于用一个一维数组代表井字棋盘。教程里举了一个例子,可以方便大家理解。

明白了游戏规则之后,我们可以想象一下,假如你要玩这个井字棋游戏,那么你会需要些什么功能呢?当然,你会想到创建游戏,移动棋子,退出游戏等。这样一来,我们就总结出了如下操作:创建(创建新游戏),重新开始(重新开始当前游戏,允许房主或挑战者执行此条),关闭游戏(关闭当前游戏,只允许房主执行此条),移动棋子(放置井字棋)。这些action明确了游戏的框架,也帮助游戏玩家与合约互动。写代码的过程就是实现这些功能的过程。

接下来就进入了代码编写环节。对于一个没有代码基础的新手,看到这里估计已经开始有些难以理解了。

什么是cleos?这条语句我要写在哪里?

这些问题我在这里做简单的回答。

开始这个井字棋游戏的搭建,首先需要搭建EOS开发环境。

EOSIO目前支持的开发环境有:

Amazon Linux 2

Centos 7

Ubuntu 16.04

Ubuntu 18.04

MacOS 10.14 (Mojave)或更高

对于使用Windows的用户,如果没有丰富的代码经验,那么很遗憾,想要尝试搭建环境可能会比较困难。虽然很难能够亲自实践,但是仍然可以通过EOSIO教程来对基于EOSIO的合约建立有所了解。

至于开发工具的选择,可以使用任何支持C++语言的工具。推荐的有:?Sublime Text、Atom Editor、CLion、Eclipse、Visual Studio Code

当您自行搭建完成EOS的开发环境之后,您就会接触到三个应用程序:

-?Nodeos,“node eos”的缩写,是EOS的核心守护进程,可以通过它运行一个节点,其实它就是挖矿客户端。在启动Nodeos之后,它自然就会产生区块。

-?Cleos,“client eos”的缩写,它是一个命令行程序。如果把nodeos看作是EOS系统的服务端,那么cleos就是访问EOS区块链的客户端,这个客户端是以命令行工具的形式呈现的。

-?Keosd,是在后端启动。它主要是管理钱包,可以创建私钥。

如果您在终端输入cleos,可以查看到cleos的一些子命令:

这里就不详细介绍了,大家可以自行寻找教程学习。在了解完这些基本内容之后,我们再来看井字棋的教程就会清楚很多了。

在“Contract account”这个步骤里,我们要将井字棋游戏合约push到一个名为tic.tac.toe的账户。我们将教程里给出的命令行在自己电脑的终端里执行。完成这个步骤之后,就进入了游戏搭建环节。

我们将用到的编程语言是C++。教程清楚的解释了我们需要创建的两个文件,以及它们的作用。对于这两个文件(tic.tac.toe.hpp和tic.tac.toe.cpp)的创建,教程都给出了非常详细的解释。几乎每一个关键部分都给出了代码注释。把整体的代码框架进行了拆分分析。

我们以“move”来举个例子。在“//”之后的每条注释都解释了以下部分的代码的作用,还有像“the next move should be made by”,”game doesn’t exists”,等等,这些是可以更改的。您可以将其替换成中文语句,也是没有问题的。并且当玩家遇到对应情况时,它们就会被显示出来。

在针对性讲解之后,教程还给出了完整的两个文件的代码内容。

可以说是非常详细,按照EOSIO的教程应该是可以十分轻松完成这两个文件的编写。

完成以上步骤之后,接下来就是编译和部署环节。同样我们在终端完成这两个动作。

最后就是来测试一下我们编写的井字棋游戏。同样在终端中进行创建游戏,放置棋子,查看游戏结果等等。教程中给出了测试的例子。

到这里整个教程就完美结束了。通过跟着教程的学习,我们不仅学到了怎么搭建一个小游戏,还对EOS命令有了一些了解。不论是开发人员还是代码新手,都可以在这里学习到关于EOSIO的知识

强烈推荐大家亲自去尝试一下!点击这里访问EOSIO开发者门户网站(https://developers.eos.io/),查看完整的井字棋教程(https://developers.eos.io/welcome/latest/tutorials/tic-tac-toe-game-contract/#gatsby-focus-wrapper)。

Lena(王琳娜)是EOS Nation的实习生,已经跟EOS Nation度过了快2年的时光!2015年,Lena在四川大学计算机学院开始了本科学习。现在已经通过保研继续在四川大学进行计算机科学与技术的硕士研究生学习。因为专业原因,她对区块链技术有着浓厚的兴趣,并且为能够成为EOS Nation的一份子并通过撰写和翻译文章做出贡献而感到骄傲!

英文版链接:https://eosnation.io/learning-eosio-with-lena-tic-tac-toe/

—-

编译者/作者:EOSNation

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...