井字棋还能这样玩?——来一盘特莱雅博弈吧

1

AI的那些事儿

Treasure in the heart

记得刚接触手机app开发是在选电脑课时,那时脑海里浮现的场景是这样的:一个程序员在电脑前死命地敲击着键盘,电脑荧屏上的代码像精灵一样一行行出现。然而打开这个平台后的工作基本靠鼠标完成,键盘被打入冷宫。

app inventor2中的编程方式被称为可视化编程,可视化(Visual)程序设计是一种全新的程序设计方法,它主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木式地构造应用程序的各种界面。这种编程方式虽然看起来不够高大上,却实实在在简化了编程工作,为像本人这样想要设计自己的应用但有没有电脑基础和时间的人带来了很大的便利。

2

卖菜的“淘宝”——Supreme Farm

Treasure in the heart

这是一个农场观光信息平台,农场主可以在这里发布他们的农场信息,用户则可以获取到农场主发布的信息,并与农场主交流。

这个应用是我和我的搭档合作完成的,虽然它是那样的不成熟,但它仍对我们有很大的意义,它标志着我们真正的入门。在开始这个项目之前,我们只会使用一些如按钮、文本输入框这样简单的组件,而像网络数据库这样比较复杂的组件完全没有接触过。

通过这个平台,我们一边学习一边做着项目,最后总算完成了项目.

3

技术篇—变态版井子棋

Treaia Game(特莱雅博弈)

Treasure in the heart

进阶版的井子棋游戏,棋盘一共有9*9八十一个格子,每一个大格子中的9个小格子就相当于一个独立的井子棋游戏,当这个小的井子棋被攻略就相当于传统井子棋中的一个小格子被攻略,大的井子棋被某一方攻略后游戏结束。靠网络或蓝牙连接对战。

看起来好像只是比传统井子棋的游戏时间更长一些,其实不然。游戏的设计者(我的一个同班同学)还设计了更复杂的大小盘之间的联动关系。你下的每一步棋都限制了对方下一步棋的着陆区域。为方便描述,我用坐标的形式呈现。

如你先下了(4,5),则你下的小格子决定了对方下棋的大盘区域,即对方只能在第5个大格子中下棋,对手下的坐标限定为(5,X),下一步你也只能下(X,Y),以此类推。

这个规则不仅对玩家是一个挑战,对编程的人也是一个挑战。

按钮的选择:开始时我想过设置81个按钮,不过很快就被否定了。完全看不清好伐,于是我就想到了如图的下棋方式,左边是9个大的按钮,右边则是一个画布中有9个按键精灵,代表着一个小的井子棋。

棋的赋值 :本机为1,对手的为2.

棋谱的显示:当某一方在右边井子棋步棋后,被选中的格子就会变换颜色,并且这一个井子棋盘会被包装的有颜色信息的图片,左边的棋盘的对应大格子的图片会被相应替换,以显示下棋步骤。

部分编程:这个应用的编程有一个很大的特点:竟似相同的代码可能被使用多次,就如点击不同的大格子执行的步骤都大致相同,但又有些区别。就如点击不同大格子后在右边棋盘中显示的颜色信息是不相同的。这样就要涉及到很多的“过程”的应用,如图:

在过程中,我们可以编如重复执行的步骤,但步骤的具体化是我们面临到的很大的一个问题,为此过程组件可以设置若干个变量,方便我们“具体化”。如图

要使用时就可以直接输入变量,如图

4

结束语

Treasure in the heart

尽管这个平台没有程序员用的那样高级,但我们还是能通过它完成大部分我们想要的功能。所以,大胆尝试,把自己的各种想法,通过这个平台实现吧!

文字:陆凯余 张惠明

编辑:张芷菲

审校:张芷菲 马涛

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180512G1HD7000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券