数独游戏开发——生成默认固定数字
  nNb480ZtZ6r0 2023年11月02日 39 0

  上次给大家讲了如何绘制游戏主界面及数字面板,今天接着往下面讲,如何生成默认固定数字。游戏开始之前,我们要在数字面板上随机初始化一些数字并显示出来,我们来看看该如何实现。

  首先看看html页面代码

数独游戏开发——生成默认固定数字_H5数独游戏开发

  runGame()函数增加了一行代码g_oGameObj.initGame();此函数负责调用生成随机数字的函数,我们接着看它的代码

数独游戏开发——生成默认固定数字_H5数独游戏开发_02

  g_oGameData.genereateFixed()函数是在固定位置生成随机数的函数,它的代码如下:

数独游戏开发——生成默认固定数字_H5数独游戏开发_03

  首先将保存数字的aFixed数组初始化,接下来逐行逐列生成随机数字,并验证每一行、每一列、每3×3方块内是否有重复数字,最后在每一行内随机删除2至5个数字。

数独游戏开发——生成默认固定数字_H5数独游戏开发_04

  我们再看看g_oGameObj.drawScene()函数的代码

数独游戏开发——生成默认固定数字_H5数独游戏开发_05

  加了一个g_oSpriteManage.draw()函数,在这个数独游戏中,将使用了图片且不需要与用户交互的绘制操作封装到一个叫gxsSpriteManage的类,下面让我们来瞧瞧它的代码

数独游戏开发——生成默认固定数字_H5数独游戏开发_06

  此类的init成员函数很简单,对初始化参数数组中的每一个gxsSprite对象依次执行init()函数并将它们添加到aSprites数组中。g_aSpritePara对象定义如下:

数独游戏开发——生成默认固定数字_H5数独游戏开发_07

  是一个gxsSprite类的对象数组,目前只有一个数组成员,即代表固定数字的g_oFixNum对象(继承gxsSprite类)。我们先看看gxsSprite类定义及成员函数

数独游戏开发——生成默认固定数字_H5数独游戏开发_08

  注意那个initParameter()函数,根据执行时绑定对象的不同调用不同子对象的initParameter()函数。最后看看gxsFixNumSprite类(继承自gxsSprite)的代码

数独游戏开发——生成默认固定数字_H5数独游戏开发_09

  最后看看initParameter()函数和draw()函数代码

数独游戏开发——生成默认固定数字_H5数独游戏开发_10

  draw()函数中我打了个懒主意,用一个g_oFixNum对象绘制所有固定的数字,在绘制之前先初始化固定数字的参数,然后再将它绘制出来。

数独游戏开发——生成默认固定数字_H5数独游戏开发_11

  最后将今天讲的内容录了视频,文章中没有讲到的地方大家可以看视频。

​数独游戏开发——生成默认固定数字​

  未完待续,敬请关注!后续更精彩,谢谢大家!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

nNb480ZtZ6r0