美文网首页
写一个九格老虎机

写一个九格老虎机

作者: stois | 来源:发表于2016-03-29 14:31 被阅读156次

去年开始,抽奖活动的形式发生了一些变化。圆形的轮盘都已告别历史舞台,九格轮盘成为了主流。调研了一早上,这里出一个简化版。

首先用css画九个格子,如下

Paste_Image.png

这个东西的逻辑是,点击开始后,获得结束位置,随机分配一些圈数。
对于非连续的跳跃,使用setTimeout来控制旋转速度。

function roulette() {
       
        this._startbox = 0;         //起点位置
        this._endbox = 1;          //终点位置
        this._jumpnum = 24;        //路径中所经历的格子数
        this._self = this;
       
}
roulette.prototype.run = function() {
        var self = this._self,
            time = 500,
            jumpmax = this._jumpnum,
            jumpindex = 0,
            timer = null;
        function timerdo() {
            time = self.changeshowlist(jumpindex); //返回当前这一步的耗时
            self.showbox(jumpindex); //对显示进行控制
            jumpindex++;
            if (jumpindex >= jumpmax) {
                clearTimeout(timer);
                self._startbox = self._endbox;    //终点作为下次起点
                setTimeout(function() { console.log('finish'); }, 200);
            }
            else {
                timer = setTimeout(timerdo, time);
            }
        }
        timerdo();
    }
roulette.prototype.showbox = function(index) {
        var myIndex = ( (this._startbox + index) %  $('.blockContainer').length ) ;
        $('.blockContainer').css('backgroundColor', 'red');
        $('#'+myIndex).css('backgroundColor', 'black');
}

    //每次改变需要显示的box,返回速度
    roulette.prototype.changeshowlist = function(jumpindex) {
        var i,
            jumpmax = this._jumpnum;
        switch (jumpindex) {
            case 0:
                
                return 400;
            case 1:
                
                return 350;
            case 2:
                
                return 300;
            case 3:
                
                return 200;
            case jumpmax - 1:
                
                return 800;
            case jumpmax - 2:
                
                return 700;
            case jumpmax - 3:
               
                return 600;
            case jumpmax - 4:
                
                return 400;
            case jumpmax - 5:
               
                return 300;
            case jumpmax - 6:
                
                return 200;
            case jumpmax - 7:
                
                return 100;
            case jumpmax - 8:
                
                return 50;
            default:
               
                return 30;
        }
    }

重点是做出加速减速的感觉。其他没啥了。

相关文章

  • 写一个九格老虎机

    去年开始,抽奖活动的形式发生了一些变化。圆形的轮盘都已告别历史舞台,九格轮盘成为了主流。调研了一早上,这里出一个简...

  • javascript实现水果机小游戏

    水果机也叫老虎机,这个属于一种赌博类型游戏,玩家通过投币,来赌这把会出什么水果。我写的这款老虎机游戏。当下完赌注,...

  • vue 代码写 老虎机抽奖活动

    公司让用vue写几个活动,老虎机,大转盘,摇一摇,砸金蛋,翻牌等活动。记录下来。这个是我老虎机抽奖写好后的图片效果...

  • 爱心树与四叶草

    九格格墨墨

  • 初识slot游戏

    尽管很多人没有玩过老虎机游戏,但是大家或多或少都听说过老虎机游戏,或者说都被告知过,远离赌博,远离老虎机。那么老虎...

  • Thompson抽样算法原理

    1、回顾多臂老虎机 在多臂老虎机中,我们通过探索加利用的方法,预测多臂老虎机的奖励分布。 我们将生活中的问题转化成...

  • 老虎机

    《老虎机》 文 / 巧米 ———本文系作者虚构,无实指。请勿对号入座。入座者,有则改之,无则加勉! 老虎机我不懂请...

  • iOS--老虎机的抽奖实现

    除了转盘形式得抽奖,还有一种老虎机形式用的也比较多,今天我们就来实现下老虎机抽奖的实现

  • vue 组件老虎机 无依赖老虎机效果

    最近过活动要做个老虎机效果,发现网上找的几乎都是以前的jq写的,找了一个后看了看代码,感觉写了的比较麻烦,然后自己...

  • 从“老虎机”看“毅力”这件事

    老虎机,号称赌博界的“可卡因”,是人类历史上“毒性”最强的赌博品种。 围绕老虎机,你有没有思考过以下三个问题: 为...

网友评论

      本文标题:写一个九格老虎机

      本文链接:https://www.haomeiwen.com/subject/xzrslttx.html