不二如是 发表于 2016-11-25 14:48:40

0 0 7 7 - 小天才剪刀石头布 - 【战】

本帖最后由 不二如是 于 2016-11-25 16:21 编辑



这个游戏,可以说是控制模块的集大成者!

各种判断眼花缭乱,但却非常经典哈~

程序一开始,玩家在左侧选择一个动作,剪刀、石头、布

电脑随机产生一个,动作。

判断输赢~

玩家赢,提示“U win”

玩家输,提示“U loss”

平局,提示“Try again”

程序不难,但是这个逻辑判断流程一定要理清~

好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


[*]绿旗

当玩家按下绿旗时,只会触发结果角色!




[*]舞台

舞台在这个程序里,是重点哈~

为啥呢,因为他像一个中间节点一点,控制其他模块的运行!

怎么控制呢?

通过各种指示性广播!

看一下,程序有这些角色:



当玩家选择了一个手势时,会发送一个广播'start'



说明下,程序规定:

石头Rock = choice =1

布Paper = choice = 2

剪刀 Scissor = choice = 3

当背景接收到广播后,开始脚本:



-> 广播新游戏(New Game)
(主脚本跳入这个子脚本,就是进入玩家角色)

-> 判断输赢模块

-> 广播展示结果(ShowResult)

-> 广播游戏结束(Game Over)



[*]广播新游戏

当玩家角色接收到'NewGame'消息,执行用户选择脚本:



电脑脚本同玩家一样,只是要产生随机性:



好了,现在广播NewGame全部被接收'消化'了,进入判断。


[*]判断输赢

判断就是用来判断输赢平局的哈~

国际术语,稍微普及下:

win、loss、tie




[*]广播输出结果

此时便进入了,展示结果的时间啦!

在这些角色中,只有一开始那个结果角色,会接收这个广播哈:



[*]广播游戏结束

隐藏这哥三儿哈:



这也就解释了,为啥接收到NewGame广播时,要显示哈~

注意:

所有角色变化都是通过造型变化哈,很简单不做解释了。



新手·ing 发表于 2017-4-20 16:58:53

不错~{:10_256:}
页: [1]
查看完整版本: 0 0 7 7 - 小天才剪刀石头布 - 【战】