功夫猫小游戏

欢迎来到程序小院

功夫猫

复制代码
玩法:
对准对方猫点击鼠标左键进行扑街,碰到敌方猫扑街X1,不要让对方猫碰到自己,统计扑街次数,快去玩功夫猫吧^^。

开始游戏https://www.ormcc.com/play/gameStart/189

html

复制代码
<canvas id="gameCanvas"></canvas>

css

复制代码
h2.title{
  display: block;
  margin: 50px auto;
  text-align: center;
}
#gameCanvas canvas {
  image-rendering: optimizeSpeed;
  image-rendering: -moz-crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -o-crisp-edges;
  image-rendering: optimize-contrast;
  -ms-interpolation-mode: nearest-neighbor;
}

js

复制代码
var cc = cc || {};
cc._tmp = cc._tmp || {};
cc._LogInfos = {};
_p = window;
_p = Object.prototype;
delete window._p;
cc.newElement = function (a) {
    return document.createElement(a)
};
cc._addEventListener = function (a, b, c, d) {
    a.addEventListener(b, c, d)
};
cc._isNodeJs = "undefined" !== typeof require && require("fs");
cc.each = function (a, b, c) {
    if (a)if (a instanceof Array)for (var d = 0, e = a.length; d < e && !1 !== 
    b.call(c, a[d], d); d++); else for (d in a)if (!1 === b.call(c, a[d], d))break
};
cc.isCrossOrigin = function (a) {
    if (!a)return cc.log("invalid URL"), !1;
    var b = a.indexOf("://");
    if (-1 == b)return!1;
    b = a.indexOf("/", b + 3);
    return(-1 == b ? a : a.substring(0, b)) != location.origin
};
cc.async = {_counterFunc: function (a) {
    var b = this.counter;
    if (!b.err) {
        var c = b.length, d = b.results, e = b.option, f = e.cb, g = e.cbTarget, h = e.trigger, e = e.triggerTarget;
        if (a) {
            if (b.err = a, f)return f.call(g, a)
        } else {
            var k = Array.apply(null, arguments).slice(1), l = k.length;
            0 == l ? k = null : 1 == l && (k = k[0]);
            d[this.index] = k;
            b.count--;
            h && h.call(e, k, c - b.count, c);
            0 == b.count && f && f.apply(g, [null, d])
        }
    }
}, _emptyFunc: function () {
}, parallel: function (a, b, c) {
    var d = cc.async;
    if (void 0 !== c)"function" == typeof b && (b = {trigger: b}), b.cb = c || b.cb; else if (void 0 !==
        b)"function" == typeof b && (b = {cb: b}); else if (void 0 !== a)b = {}; else throw"arguments error!";
    var e = (c = a instanceof Array) ? a.length : Object.keys(a).length;
    if (0 == e)b.cb && b.cb.call(b.cbTarget, null); else {
        var f = {length: e, count: e, option: b, results: c ? [] : {}};
        cc.each(a, function (a, c) {
            if (f.err)return!1;
            var e = !b.cb && !b.trigger ? d._emptyFunc : d._counterFunc.bind({counter: f, index: c});
            a(e, c)
        })
    }
}, map: function (a, b, c) {
    var d = this, e = arguments.length;
    "function" == typeof b && (b = {iterator: b});
    if (3 === e)b.cb = c || b.cb; else if (2 > e)throw"arguments error!";
    "function" == typeof b && (b = {iterator: b});
    if (void 0 !== c)b.cb = c || b.cb; else if (void 0 === a)throw"arguments error!";
    var f = (e = a instanceof Array) ? a.length : Object.keys(a).length;
    if (0 === f)b.cb && b.cb.call(b.cbTarget, null); else {
        var g = {length: f, count: f, option: b, results: e ? [] : {}};
        cc.each(a, function (a, c) {
            if (g.err)return!1;
            var e = !b.cb ? d._emptyFunc : d._counterFunc.bind({counter: g, index: c});
            b.iterator.call(b.iteratorTarget, a, c, e)
        })
    }
}};
cc.path = {join: function () {
    for (var a = arguments.length, b = "", c = 0; c < a; c++)b = (b + ("" == b ? "" : "/") + arguments[c]).replace(/(\/|\\\\)$/, "");
    return b
}, extname: function (a) {
    return(a = /(\.[^\.\/\?\\]*)(\?.*)?$/.exec(a)) ? a[1] : null
}, mainFileName: function (a) {
    if (a) {
        var b = a.lastIndexOf(".");
        if (-1 !== b)return a.substring(0, b)
    }
    return a
}, basename: function (a, b) {
    var c = a.indexOf("?");
    0 < c && (a = a.substring(0, c));
    c = /(\/|\\\\)([^(\/|\\\\)]+)$/g.exec(a.replace(/(\/|\\\\)$/, ""));
    if (!c)return null;
    c = c[2];
    return b && a.substring(a.length -
        b.length).toLowerCase() == b.toLowerCase() ? c.substring(0, c.length - b.length) : c
}, dirname: function (a) {
    return a.replace(/((.*)(\/|\\|\\\\))?(.*?\..*$)?/, "$2")
}, changeExtname: function (a, b) {
    b = b || "";
    var c = a.indexOf("?"), d = "";
    0 < c && (d = a.substring(c), a = a.substring(0, c));
    c = a.lastIndexOf(".");
    return 0 > c ? a + b + d : a.substring(0, c) + b + d
}, changeBasename: function (a, b, c) {
    if (0 == b.indexOf("."))return this.changeExtname(a, b);
    var d = a.indexOf("?"), e = "";
    c = c ? this.extname(a) : "";
    0 < d && (e = a.substring(d), a = a.substring(0, d));
    d = a.lastIndexOf("/");
    return a.substring(0, 0 >= d ? 0 : d + 1) + b + c + e
}};

源码https://www.ormcc.com/

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

相关推荐
兔老大RabbitMQ4 分钟前
git pull origin master失败
java·开发语言·git
tt55555555555515 分钟前
C/C++嵌入式笔试核心考点精解
c语言·开发语言·c++
xiao助阵15 分钟前
python实现梅尔频率倒谱系数(MFCC) 除了傅里叶变换和离散余弦变换
开发语言·python
科大饭桶1 小时前
C++入门自学Day14-- Stack和Queue的自实现(适配器)
c语言·开发语言·数据结构·c++·容器
扛麻袋的少年2 小时前
7.Kotlin的日期类
开发语言·微信·kotlin
东风西巷2 小时前
Rubick:基于Electron的开源桌面效率工具箱
前端·javascript·electron·软件需求
钢铁男儿2 小时前
Python 正则表达式实战:解析系统登录与进程信息
开发语言·python·正则表达式
野生技术架构师3 小时前
2025年中高级后端开发Java岗八股文最新开源
java·开发语言
Miracle_G3 小时前
每日一个知识点:JavaScript 箭头函数与普通函数比较
javascript
unfetteredman3 小时前
Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
前端·javascript·vite