• JavaScript游戏之是男人就下100层


    不知不觉,就到了11月份了,其实我为啥要写js游戏,觉得游戏更能引起共鸣。11月份开篇之作:是男人就下100层,相信大家都玩过。

    这次的游戏的编写难度比之前的都高很多。本次鄙人用了js的继承以及设计模式的工厂模式,也算是一个突破。。。 

    游戏的大致设计思路:

    1,玩家类Player:一个人能左右移动,以及上下移动的小人。

    拥有的基本方法:{

    左右移动 : 单纯的键盘左右移动,

    向下移动 : 属于向下加速度移动,每次移动都会加一个重力加速度的值,

    向上移动 : 其实是跟着方块一起向上移动, 匀速向上运动,

    弹跳 : 就是玩家先向上一个减速度运动,然后,当速度小于1时,像下加速度运动 

    2,方块基类BlockBase:所有方块的基类,拥有公共的方法以及接口。

    拥有的基本方法:{

    移动 : 方块的向上匀速移动,

    检测玩家是否在方块上  : 判断玩家是否停留在方块上 

    以及一些抽象的接口函数,只有名字,需要在子类中实现,具体看源码。

    3,各种子类,如 普通方块类NormalBlcok、弹跳方块类FlipBlock等

    继承的实现方式如下:

    在构造函数中:BlockBase.call(this);继承非prototype的属性与方法

    在函数外部:子类方块.prototype = new BlockBase(); 继承基类的prototype的属性与方法

    4, 工厂类BlockFactory:负责生产方块,以及击中处理方块

    拥有的基本方法:{

    生成方块 :  重点的方法,就是随机生成一块方块 

    其实我也不知道怎么说,还是看源码吧。里面我注释得很具体了。

    还有,bug肯定是会有的,希望大家谅解。。。 

    最后献上预览吧。希望大家多多拍砖,能让我多些提高。最好在代码的编写上。 完整源码>>

     方向左右控制移动,界面是做得比较丑。。。大家见谅。

    目前:0
  • 相关阅读:
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
    RocketMQ-Console安装及RocketMQ命令行管理工具介绍
    RocketMQ之一:RocketMQ整体介绍
    Prometheus 监控之 zookeeper
    详解MySQL数据类型
    Linux2:Linux目录结构
    再谈AbstractQueuedSynchronizer3:基于AbstractQueuedSynchronizer的并发类实现
    再谈AbstractQueuedSynchronizer2:共享模式与基于Condition的等待/通知机制实现
    Java虚拟机15:再谈四种引用状态
    再谈AbstractQueuedSynchronizer1:独占模式
  • 原文地址:https://www.cnblogs.com/floyd/p/1868323.html
Copyright © 2020-2023  润新知