目 录
第 1章 《贪吃蛇》游戏与面向对象编程 1
游戏综述 1
游戏玩法 1
项目部署 2
入口文件 2
1.1 接到任务 2
1.2 3个模块 3
1.3 地图绘制 3
1.4 舞台主角 6
1.5 移动起来 7
1.6 不要“头铁” 10
1.7 画个圆圈 11
1.8 奖励食物 13
1.9 获取奖励 16
1.10 增加难度 18
1.11 一盆冷水 20
下一章剧透 21
我问你答 21
附件 22
第 2章 《大转盘》游戏——模块化与
组件化开发 23
游戏综述 23
游戏玩法 23
项目部署 24
入口文件 24
2.1 新的开始 24
2.2 命名空间 25
2.3 模块通信 26
2.4 组件化开发 31
2.5 模块基类 33
2.6 生命周期 34
2.7 定义模块 37
2.8 方法重载 40
2.9 项目启动 41
2.10 卸载模块 42
2.11 消息规范 43
2.12 绘制视图 44
2.13 加入玩家 46
2.14 大功告成 48
下一章剧透 49
我问你答 49
附件 49
第3章 《谁是卧底》与Socket服务 52
游戏综述 52
游戏玩法 52
项目部署 53
入口文件 54
3.1 公司活动 54
3.2 “国王”的诞生 54
3.3 与服务器交互 58
3.4 搭建城堡 59
3.5 “国王”有点忙 61
3.6 创建“子民” 66
3.7 扩展消息 68
3.8 添加样式 71
3.9 “国王”的“传令官” 75
下一章剧透 78
我问你答 79
附件 79
第4章 《五子棋》与参数注入服务 82
游戏综述 82
游戏玩法 82
项目部署 83
入口文件 84
4.1 五子棋大赛 84
4.2 创建项目 85
4.3 游戏模块 85
4.4 游戏操作方法 86
4.5 实现游戏消息 88
4.6 方法重载 91
4.7 参数注入 93
4.8 全局配置 95
4.9 全局消息 95
4.10 模块依赖 96
4.11 解析依赖 98
4.12 绘制棋盘 101
4.13 创建棋盘 107
4.14 添加棋手 108
4.15 发布消息 108
4.16 接收消息 110
4.17 事件模块 112
4.18 绑定交互 113
4.19 棋手下棋 114
4.20 胜负检测 114
4.21 检测算法 116
下一章剧透 121
我问你答 121
附件 121
第5章 《2048》与虚拟DOM 125
游戏综述 125
游戏玩法 125
项目部署 126
入口文件 126
5.1 火爆游戏——《2048》 127
5.2 青出于蓝而胜于蓝 128
5.3 虚拟DOM 128
5.4 绘制视图 130
5.5 地图模块 132
5.6 事件交互 135
5.7 核心算法 136
5.8 愉快体验 140
下一章剧透 140
我问你答 140
附件 141
第6章 《拼图》游戏与触屏事件 144
游戏综述 144
游戏玩法 144
项目部署 145
入口文件 145
6.1 说做就做 146
6.2 事件模块 147
6.3 注册全局消息 147
6.4 订阅事件 148
6.5 解析事件 149
6.6 事件对象 151
6.7 取消事件 152
6.8 滑动事件 152
6.9 轻拍事件 153
6.10 键盘事件 154
6.11 事件测试 155
6.12 渲染视图 157
6.13 修改方格 159
6.14 DOM服务 160
6.15 添加交互 161
6.16 游戏进度 163
6.17 绘制时间进度 164
6.18 游戏结束 166
下一章剧透 168
我问你答 168
附件 169
第7章 《赛车》游戏与游戏模块 172
游戏综述 172
游戏玩法 172
项目部署 173
入口文件 173
7.1 帧与游戏 174
7.2 游戏模块 175
7.3 游戏周期 176
7.4 游戏方法 178
7.5 测试游戏 180
7.6 初始化游戏界面 181
7.7 视图消息 184
7.8 让汽车动起来 185
7.9 切换赛道 187
7.10 轧过减速带 189
7.11 初始化障碍汽车 189
7.12 更新障碍汽车 191
7.13 订阅消息 192
下一章剧透 194
我问你答 194
附件 194
第8章 《连连看》、组件开发以及MVVM模式
中的数据双向绑定和自定义指令 197
游戏综述 197
游戏玩法 197
项目部署 198
入口文件 198
8.1 MVVM模式 199
8.2 组件生命周期 199
8.3 绑定数据 201
8.4 监听器消息 203
8.5 确定模板 205
8.6 模板编译 206
8.7 指令编译 207
8.8 事件指令 209
8.9 属性指令 209
8.10 功能指令 210
8.11 插值指令 211
8.12 脏值检测 212
8.13 组件销毁 213
8.14 绑定内容 213
8.15 绑定样式 215
8.16 数据双向绑定 215
8.17 显/隐指令 216
8.18 创建/删除指令 217
8.19 循环指令 217
8.20 《阿达连连看》 219
8.21 地图模块 220
8.22 视图模块 221
8.23 游戏交互 224
8.24 连接图片 226
8.25 连接算法 228
8.26 游戏进度 232
下一卷剧透 234
我问你答 234
资源整理 234
附件 235