俄羅斯方塊小遊戲的H5和Android版

運行界面截圖

部分代碼截圖

    var Audio = {
        BA: gm("#Background-AudioPlayer")[0],
        SA: gm("#Score-AudioPlayer")[0],
        GA: gm("#GameOver-AudioPlayer")[0]
    };
	
    function Game() {

        this.scoreEle = gm("#scores");
        this.timer = null;
        this.map = null;
        this.block = null;
        var that = this;

        this.init = function () {
            var content = "Welcome to tetris!";
            gm("#greeting").html(content);
        };

        this.start = function () {
            gm("#info").hide();
            that.scoreEle.val(0);
            that.map = new Map(12, 15);
            that.map.init();
            that.block = new Block(that.map.cols, that.map.rows, that.map.blockArray);
            that.block.newBlock();
            that.timer = window.setInterval(that.block.GoDown, 1000);
        };

        this.pause = function () {
            window.clearInterval(that.timer);
            that.timer = null;
            Audio.BA.pause();
            gm("document").keydown = null;
            var content = "<h2 style='margin:100px auto'>Game pause!</h2>";
            gm("#info").html(content).show();
        };

        this.resume = function () {
            gm("#info").hide();
            that.timer = window.setInterval(that.block.GoDown, 1000);
            Audio.BA.play();
        };

        this.addScore = function (value) {
            that.scoreEle.val(parseInt(that.scoreEle.val()) + value);
        };

        this.finish = function finish() {
            window.clearInterval(that.timer);
            gm("document").keydown = null;
            that.scoreEle.val(0);
            Audio.BA.pause();
            Audio.GA.play();
            window.alert("Game over!");
            window.location.reload();
            return;
        };

    }

 

內嵌自制Jquery

    this.gm = function (selector) {
        if (window == this) return new gm(selector);
        var doms, domWrapper = [];
        if (tagReg.test(selector)) {
            doms = document.createElement(selector.match(tagReg)[1]);
            domWrapper.push(doms);
        } else{
            doms = document.querySelectorAll(selector);
            for (var i = 0; i < doms.length; i++) {
                domWrapper.push(doms.item(i));
            }
        }
        return this.setArray(domWrapper);
    }

 

H5版直達:

http://yangjiegang.gitee.io/tetris

 

Android版下載:

https://download.csdn.net/download/yangjiegang8/12250658

 

參考

忘記源頭在哪裏了...有空找找看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章