• 萌猿纵横字谜引擎实现过程


    1.全部txt文件的方法。这个方法没有参数,返回一个全局变量ranksint型),记录读到的txt文件数,作为关卡总数,并把读到的rankstxt文件中的数据放到两个字典中,字典“arrstorage”的key为关卡序数,值为一个字符串数组,字符串数组代表了一个关卡需要的矩阵(稍后首先,进入游戏之后,我们在app.js中写了一个从服务器指定地址获取一个文件夹中的解释这个矩阵的作用);字典“tipsstorage”中key与字典“arrstorage”的key保持一致,值为一个字符串。并把这两个字典置于缓存池中。txt文件格式如下图:

    0000000000000

    0000200003000

    0001abstract0

    0000r0000d000

    0000r0000d000

    0000a0000r000

    0000y0000e000

    000000000s000

    000000000s000

    0000000000000

    0000000000000

    0000000000000

    0000000000000

    1 ...抽象出来;提出;抽出v

    2 数组;一系列n

    3 编址;寻址v

     两个字典内容示例如下:

    Arrstorage = {1[‘0000000000000’, ‘0000200003000’, ‘0001abstract0’, ‘0000r0000d000’, ‘0000r0000d000’, ‘0000a0000r000’, ‘0000y0000e000’, ‘000000000s000’,

    ‘000000000s000’, ‘0000000000000’, ‘0000000000000’, ‘0000000000000’, ‘0000000000000’,]}

    Tipsstorage = {1: 1 ...抽象出来;提出;抽出v 2 数组;一系列n 3 编址;寻址v}

     2.点击开始游戏,进入ranks(主要包含ranks.jsranks.wxml,wxml中我们画了13X13input框。在ranks.js中,onLoad函数会读取缓存池中的关卡序数level(为int型),此时缓存池中没有数据,所以level==nulliflevel == null{ level = 1},接下来以level作为key我们读取缓存池中的arrstorage对应的值赋予在ranks.js中定义的arr,读取缓存池中的tipsstorage对应的值赋予在ranks.js中定义的tips。定义一个函数,函数参数为arr,我们根据arr这一矩阵中的值,决定是否隐藏input框。具体逻辑如下:

    ifarr[i][j] == 0

    {

       隐藏input框并不可选中且input框中无内容

    }

    else ifarr[i][j] >= 1 && arr[i][j]<=9

    {

       隐藏input框并不可选中input框内容为arr[i][j]

    }

    else

    {

       显示input框并可选中input框内容空

    }

     3.定义一个inputarr,并用arr进行初始化,每次输入框输入一个字符,将inputarr中对应位置的字符改变为输入的字符,点击确认时,对比inputarrarr两个数组,有不一样的就标红,全部一样则反馈过关(反馈还没写好)。

    4.关于选关,点击选择关卡,就会进入choose(包括choose.jschoose.wxml),选择的关卡会置入缓存池中,点击上一关或者下一关,会改变缓存池中的关卡序数(-1或者+1),然后调用onload。以下为游戏主界面:

    5.关于提示,提示是以level作为key从缓存池中拿到tipsstorage中对应的值,写入wxmltext框中,并将其设置为不可写。

     杨老师给了我关于游戏引擎的指导以及建议,建议如下:

    杨贵福:@Uncle Joker
    你实现的是 引擎,不是硬编码。@超神的新垣结衣 认为你硬编码,有他的道理。细节如下。

    1. 你们实现的是 游戏运行引擎。
    2. 关卡生成是手工的。@超神的新垣结衣 希望你把关卡生成也用引擎实现。一般地,关卡生成的工具称为 关卡生成器,生成器并不需要作为程序的一部分发布。即使有的游戏会把生成器也一并发布了,但是游戏运行并不需要生成器。
    3. 作为软件工程课程的一部分,关卡生成可以不必用代码实现,因为不是承诺的一部分。网上有不少可以用的,直接拿来用也可以。
    4. 游戏运行引擎,希望能更注重用户友好。建议用墨刀设计,找几位同学测试,估计你会发现大家对操作的预期和隐喻,与你想的不同。方便写代码不宜作为理由,方便用户才是目的。

  • 相关阅读:
    iOS4.3可显著选拔iPhone4和iPad速度
    传iPhone5回归金属机身 形状似touch4
    联发科月度收入跌至四年来冰点
    品评:上海电信业不可被摩登数据蒙住双眼
    分析师以为移动搜集运营商需开发数据赚钱新途径
    智能手机市场输家和赢家:Android手机厥后居上
    人大代表张新建:减速互联网及短信拘留立法
    思科任命尝试副总裁加里摩尔出任首席运营官
    运营商纷繁筹建移动付出公司
    2011年中国3G移动通讯市场瞻望与分析
  • 原文地址:https://www.cnblogs.com/unclejokermr/p/11765873.html
Copyright © 2020-2023  润新知