编程实践,小游戏
- 游戏内容: 井字棋 或 贷款计算器 或 简单计算器 等等
- 技术限制: 仅允许使用 IMGUI 构建 UI
- 作业目的:
了解 OnGUI() 事件,提升 debug 能力
提升阅读 API 文档能力
提示:以下是本篇文章正文内容,下面案例仅供参考
完整 Assets 设计请移步 gitee:
https://gitee.com/beilineili/game3-d
1.游戏 UI 界面
首先使用 IMGUI 构建 UI 游戏界面。
阅读Unity官方文档,了解 IMGUI 中Label,Button的作用
-
Label
-
Button
-
在OnGUI() 中,分别使用GUI.Box(), Label(), Button() 来创建背景盒,文本框以及按钮。其中按钮的作用是按下后会重新开始游戏,在每一个游戏循环中都会调用这个函数。
- 接下来绘制整个井字棋游戏界面,以及标识轮到哪一位玩家下棋,并检查结束条件,看是否已经游戏结束,如果没有就按照轮次来在背景上画对应的标记 “O” 或 “X”
2.游戏胜利条件
- 分别判断每一行,每一列,以及对角线上是否已有三个相同的棋子,若是则游戏结束。
- 如果棋盘里有某一位还没有玩家标记,且没有一方玩家满足上文的胜利条件,则比赛还没结束
- 如果棋盘所有位置都满了,还没有玩家获胜,则双方平局
3.辅助函数
① 游戏重置函数 reset,用于重启新一轮游戏,将棋盘置空
![图片名称](https://i-blog.csdnimg.cn/blog_migrate/d1a7ae73042c37995439982a3c7777bc.png)
② 游戏结果展示函数 display
4. 游戏成果
① 初始界面
② 玩家1获胜
③ 平局