首先是逻辑功能,这里先对游戏进行简化,将跳一跳分成三个部分,屏幕起点,力度判定,终点跳跃,转化为游戏需要引擎支撑,这里先只讨论规则部分。

对规则进行简化,玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。
  如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。
  现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。
输入格式
  输入包含多个数字,用空格分隔,每个数字都是1,2,0之一,1表示此次跳跃跳到了方块上但是没有跳到中心,2表示此次跳跃跳到了方块上并且跳到了方块中心,0表示此次跳跃没有跳到方块上(此时游戏结束)。
输出格式
  输出一个整数,为本局游戏的得分

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=1,score=0,num=0;//a存储输入数据,score为最终得分,num为连跳方块中心次数
    while(~scanf("%d",&a)&&a!=0)//数据输入还没完成且a!=0
        if(a==1){//如果a==1
            score+=a;//加上1分
            num=0;//连跳方块中心次数归零
        }else if(a==2)//a==2
            score+=2*(++num);//递增连跳方块中心次数,得分为该次数乘2
    printf("%d",score);
    return 0;
}
在深入游戏实现时发现这是个非常复杂的内容,不同于基于H5的 HTML+CSS+JavaScript,小程序的游戏实现复杂的太多,

  • 小游戏的代码目前只能运行在微信中;
  • 小游戏不提供浏览器绝大多数的 DOM API;
  • 小游戏无法像 H5 游戏刷新浏览器一样来重新进入游戏;
  • 小游戏毕竟还是个小程序,可以调用微信原生的接口,获取用户信息、分享、支付等
  • 小游戏的运行环境,在 iOS 上是 JavaScriptCore,在 Android 上是 V8,两者都是没有 BOM 和 DOM 的运行环境,没有全局的 document 和 window 对象。因此当你希望使用 DOM API 来创建 Canvas 和 Image 等元素的时候,会引发错误,这时我们可以使用 wx.createCanvas 和 wx.createImage 来封装一个 document,代码示例如下。
    var document = {createElement: function (tagName) {tagName = tagName.toLowerCase()if (tagName === 'canvas') {return wx.createCanvas()}else if (tagName === 'image') {return wx.createImage()}}
    }
    

    音频播放

    小游戏内只有一种音频播放的方式,即使用 InnerAudioContext 来播放。通过 wx.createInnerAudioContext() 接口可以创建一个音频实例 innerAudioContext ,通过这个实例可以播放音频,示例代码如下。

    var audio = wx.createInnerAudioContext()
    audio.src = url // src 可以设置 http(s) 的路径,本地文件路径或者代码包文件路径
    audio.play()
    // 在 iOS 系统上,默认遵循静音键设置。如果希望在静音时也能播放声音,可以设置 obeyMuteSwitch 为 false。audio.obeyMuteSwitch = false
    

    访问代码包文件

    代码包文件的访问方式是从项目根目录开始写文件路径

  • 垃圾回收

    通过调用 wx.triggerGC() 方法,可以加快触发 JavaScriptCore Garbage Collection(垃圾回收),从而触发 JavaScript 中没有引用的 Canvas、Image 回收,释放对应的实际纹理储存。但 GC 具体触发时机还要取决于 JavaScriptCore 自身机制,并不能保证调用 wx.triggerGC() 能马上触发回收,建议在每局游戏开始或结束触发一下。

  • 另外,

    在开发工具页面中,微信内置有一个飞机大战 Demo。工具栏的左侧包含模拟器、编辑器、调试器,分别控制主页面的三个窗口,中间部分包含编译和预览,其中预览可以生成二维码,在真机上测试。另外在折叠菜单中还有一些上传和测试等功能。基于模拟器对真正的游戏进行了体验。

微信小程序游戏跳一跳模拟相关推荐

  1. 小程序商店刷榜_微信小程序游戏跳一跳刷榜原理解析!

    最近微信出了一个"跳一跳"的小游戏,这个游戏其实在之前有手机端版本,无奈微信借助强大的用户把这游戏又拿起来弄火了,而且通过最新版的微信可以看出,微信已经开始重视小程序的入口释放了, ...

  2. 2017年最后一篇文章:微信小程序游戏跳一跳刷榜原理解析!

    最近微信出了一个"跳一跳"的小游戏,这个游戏其实在之前有手机端版本,无奈微信借助强大的用户把这游戏又拿起来弄火了,而且通过最新版的微信可以看出,微信已经开始重视小程序的入口释放了, ...

  3. python玩微信小程序游戏_用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  4. python玩微信小程序游戏_016 用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  5. 微信小程序python_用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  6. c语言代码游戏跳一跳,微信小程序《跳一跳》游戏里的编程小知识,你知道吗?...

    微信小程序<跳一跳>游戏里的编程小知识,你知道吗? 今日你跳了吗? 玩过的朋友都知道,跳一跳里的游戏操作非常简单,就用手指按住屏幕按住施放进行跳跃,整个游戏是个人都可以很轻松玩起来! 游戏 ...

  7. 微信小程序游戏「跳一跳」高分秘籍

    饱受争议的微信小程序从今年1月份上线到现在已经快一年了,被寄予厚望的小程序在这一年却并没有达到曾经预期的高度,反而是一直不温不火. 曾经有现象级的刷屏的小程序:匿名聊聊,本以为这会是小程序的新玩法.爆 ...

  8. 微信小程序界面跳转(2)——按钮

    微信小程序界面跳转(2)--按钮 步骤一:创建一个新界面catPage界面: 先在pages文件夹下创建一个新的文件夹:catPage.单击右键,创建page,page名称和文件夹名称一致.最后创建结 ...

  9. 微信小程序 不能跳转页面 跳转不生效

    微信小程序 不能跳转页面 跳转不生效 ,可能是用法不正确哦 wx.navigateTo(Object object) 保留当前页面,跳转到应用内的某个页面.但是不能跳到 tabbar 页面.使用 wx ...

最新文章

  1. 我把负载均衡讲出了花,领导却不给我涨工资
  2. 蚊子已经很可怕了,而这些吸血昆虫能让你感受真正的恐惧
  3. R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数
  4. Win32 API、VC++、C# 文件操作函数的初步比较
  5. softened softmax vs softmax
  6. 美国读本科出勤率低被休学,无法毕业怎么办
  7. WordPress分类列表函数:wp_list_categories用法及参数详解举例
  8. 应用电子技术插计算机科学,插本专业大全
  9. Silverlight 数据库 - Silverlight Database
  10. apple_Apple WWDC 2018主题总结
  11. 大数据Hadoop生态圈-组件介绍
  12. 第十一课:(2)在MINST-FASHION上实现神经网络的学习流程
  13. Mac安装 MySQL 及可视化工具
  14. JS中height、clientHeight、scrollHeight、offsetHeight区别
  15. 魅族开售跳票,创饥饿营销新高度?
  16. 《Qt5:键盘事件》
  17. 公交门户分析与统计系统
  18. 官网购买的个人版 ArcGIS Pro安装授权问题汇总(持续更新)
  19. 大数据之Linux命令
  20. 计算机毕业设计基于Android宠物领养救助系统app

热门文章

  1. 金蝶云星空与巨益OMS对接集成采购退料查询连通库存异动(ERP采购退料对接OMS库存异动)
  2. odoo13学习 odoo的视图
  3. [手把手]教你绘制全球热门航线和客流分布图
  4. 江苏自考计算机专业2020,2020年4月江苏自考A2080702计算机及应用考试安排(本科)...
  5. 一个人的周末,我在歌唱
  6. Equitech-Bio特色大鼠免疫球蛋白IgG
  7. 量化交易如何建立高效的交易系统(三)
  8. huggingface
  9. linux分区概念理解,磁盘分区基础和LINUX上硬盘分区设备号解释
  10. Tomcat配置SSL