javascript實現(xiàn)水果機小游戲

水果機也叫老虎機,這個屬于一種賭博類型游戲绎谦,玩家通過投幣馆匿,來賭這把會出什么水果。我寫的這款老虎機游戲燥滑。當(dāng)下完賭注,壓注之后阿逃,開啟搖桿會隨機匹配一個水果出來铭拧,會對應(yīng)賭注增加/減少 。和真實老虎機還是有很多問題的恃锉。比如點擊搀菩,壓注之前搖桿隱藏,通殺破托。這里沒有肪跋,莊家角色沒有被匹配進(jìn)來,畢竟是三四個小時寫的東西土砂,回頭想想確實差了很多東西州既。不過效果看起來是不錯的谜洽。

laohu.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js實現(xiàn)老虎機游戲</title>
</head>
<style>
    table{
        margin-left:400px;
       /* border-collapse: collapse;*/
        border:1px solid #999;
        float: left;
    }
    table td{
        width:40px;
        height:40px;
        text-align: center;
        background: #ffffff;
        border: 5px solid #eee;
        padding: 5px;
        font-family: "微軟雅黑";
        font-style: normal;
        font-weight:bolder;

        font-size: 24px;
        color: red;

    }
   /* table td:first-child{
        border: 5px solid red;
    }*/
    table td img{
        width: 100%;
        height: 100%;;
    }
   .go{
       display: block;

       background: orange;
       color: #ffffff;
       font-family: "Times New Roman", Times, serif;
       font-size: 1em;
       text-align: center;
       margin: 10px auto;
       width: 150px;
       height:150px;
       line-height: 150px;
       border-radius: 50%;
       text-decoration: none;
       font-family: "Times New Roman", Times, serif;
       font-weight: bold;
       font-style: normal;
       font-size: 40px;;
   }
    .go:active{
        border:3px solid #999999;
    }
    #div1{
        width: 420px;
        height: 440px;
        border: 1px dashed #0eff45;
        float: left;
    }
    span{
        display: inline-block;
    }

    .title{
        display: inline-block;
        width: 130px;
        height: 30px;
        text-align: center;
        line-height: 30px;
        border-bottom: 1px solid red;
        font-weight: bold;
    }
    span.main{
        width: 130px;
        height: 40px;
        text-align: center;
        line-height: 30px;
        border-bottom: 1px solid #06581f;
    }
    .colorR{
        color: red;
        font-weight: bold;
    }
    span input{
        margin: 5px 0px;
        width: 100%;
        height: 90%;
    }
    .p1{
        margin-top: 30px;
        margin-left: 10px;
    }
    .p1 span{
        color: #FF0000;
        margin-right: 5px;
        font-size: 1em;
        font-weight: bold;
    }
    .p2{
        color: #999;
        font-size: 0.75em;
        margin-top: 25px;
        margin-left: 10px;
    }
    .yazhu{
        display: block;
        width: 200px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        border-radius: 5px;
        background: #0eff45;
        color: #ffffff;
        text-decoration: none;
        margin: 10px auto;
    }
    .yazhu:active{
        border: 3px solid #cccccc;
    }
</style>
<body>

<script>
    /**
     * 1:蘋果 2:蘋果梨 3:橘子 4:瓜子 5:杏仁 6:南瓜 7:花生
     * 8:香蕉
     * @type {*[]}
     */
    //搭建地圖數(shù)組 數(shù)據(jù)結(jié)構(gòu)
    var tiger =[
            [1,1,1,2,3,3,3],
            [1,0,0,0,0,0,4],
            [4,0,0,0,0,0,4],
            [6,0,0,0,0,0,4],
            [5,0,0,0,0,0,6],
            [4,0,0,0,0,0,7],
            [1,1,2,1,7,7,8]
    ];

    //搭建 表格地圖函數(shù)
     function tabArr(arr){
         var oTab =document.createElement("table");
         oTab.setAttribute("border","1");
         oTab.setAttribute("id","tab");
         for(var i =0;i<arr.length;i++){
             var atr =document.createElement("tr");
             oTab.appendChild(atr);
             for(var j =0;j<arr[i].length;j++){
                 var atd1 =oTab.getElementsByTagName("tr")[i];
                 var atd = document.createElement("td");
                 atd1.appendChild(atd);

                 if(arr[i][j]==1) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/pinguo.png)';
                 }
                 else if(arr[i][j]==2) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/pl.png)';
                 }
                 else if(arr[i][j]==3) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/juzi.png)';
                 }
                 else if(arr[i][j]==4) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/guazi.png)';
                 }
                 else if(arr[i][j]==5) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/xingren.png)';
                 }
                 else if(arr[i][j]==6) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/nangua.png)';
                 }
                 else if(arr[i][j]==7) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/huasheng.png)';
                 }
                 else if(arr[i][j]==8) {
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = '' +
                             '![](../javascript/jquery/img/xiangjiao.png)';
                 }
                 else if(arr[i][j]==0){
                     oTab.getElementsByTagName("tr")[i].getElementsByTagName("td")[j].innerHTML = ' ';
                 }
             }
         }
         document.body.appendChild(oTab);
          oTab.getElementsByTagName("tr")[2].getElementsByTagName("td")[2].innerHTML='中';
          oTab.getElementsByTagName("tr")[2].getElementsByTagName("td")[4].innerHTML='獎';
          oTab.getElementsByTagName("tr")[4].getElementsByTagName("td")[2].innerHTML='水';
          oTab.getElementsByTagName("tr")[4].getElementsByTagName("td")[4].innerHTML='果';
     }
    tabArr(tiger);
    //alert(document.getElementsByTagName("td").length);
    //搭建 環(huán)形跑道數(shù)組
    function huaXing(){
        //這個函數(shù),有待提升復(fù)用性
      var num =-1;
      var hArr =[];
        for(var i=0;i<1000;i++){
            if(num<6){
                num++;
                hArr.push(num);
            }
            else if(num>=6&&num<48){
                num+=7;
                hArr.push(num);
            }
        }
        //console.log(num) ==48 很好吴叶,我想要的數(shù)值
        for(var j =1000;j>0;j--){
            if(num<49&&num>42){
                num--;
                hArr.push(num);

            }
            if(j<=42){
                j-=6;
                hArr.push(j-1);
            }
        }
        return hArr;
    }
    var paodao =huaXing();
    //初始化 跑道第一個格子
   var MyTd = document.getElementsByTagName("td");
              MyTd[0].style.border='5px solid red';
    //alert(paodao.length)
    //跑馬燈跑道函數(shù)
    var timeId =null; // 定時器變量
    var iSpeed =50; //定時器時間
    function paomaFun(){
        var xunhuan=0;    //記錄當(dāng)前跑到哪里了
        var num =0;       // 跑多少次阐虚,第一輪定時器停止
        var MaNum =0;     //第二次定時器停止初始值
        var MathTg =Math.floor((Math.random()*20)*5);
        alert(MathTg)
       // var MathRodom =Math.floor(Math.random()*10); //將要停止。蚌卤。
        clearInterval(timeId);
            timeId=setInterval(function(){
                xunhuan++;
                num++;
                for(var i =0;i<MyTd.length;i++){
                    MyTd[i].style.border='';
                }
                MyTd[paodao[xunhuan]].style.border='5px solid red';
                if(xunhuan==paodao.length-1){
                    xunhuan=0;
                }
                 if(num==MathTg){
                     clearInterval(timeId);
                     iSpeed+=100;
                     clearInterval(t);
                     var t =setInterval(function(){
                          MaNum++;
                         xunhuan++;
                          for(var i =0;i<MyTd.length;i++) {
                              MyTd[i].style.border = '';
                          }
                          MyTd[paodao[xunhuan]].style.border='5px solid red';
                         if(xunhuan==paodao.length-1){
                              xunhuan=0;
                         }
                         if(MaNum==10){
                             clearInterval(t);
                             //當(dāng)跑完了实束,計算一個,當(dāng)前被選中td 在雙數(shù)組中的索引值
                             tdIndex(tiger)
                             iSpeed=50;
                         }
                     },iSpeed);
                 }
            },iSpeed);
    }
    // 統(tǒng)計所有賭注金額
    function yazhu(){
        var oDiv =document.getElementById("div1");
        var aInput =oDiv.getElementsByTagName("input");
        var totalSpan =document.getElementById("totalSpan").innerHTML;
        var str=0;
        for(var i =0;i<aInput.length;i++){
            str+=parseInt(aInput[i].value);
        }
        //alert(totalSpan)
        if(parseInt(totalSpan)>str&&str!=0){
            var str1 =parseInt(totalSpan)-str
            document.getElementById("totalSpan").innerHTML=str1;
            document.getElementById("chaqian").innerHTML='';
        }else if(str==0){
            document.getElementById("chaqian").innerHTML='請輸入您的賭注逊彭!';
        }else{
            document.getElementById("chaqian").innerHTML='余額不足咸灿!';
        }
    }
    //老虎機停止,查看當(dāng)前td的索引
    function tdIndex(arr){
        var oTab= document.getElementById("tab");
        var aTr =oTab.getElementsByTagName("tr");
        var totalSpans=document.getElementById("totalSpan").innerHTML;
        var aIpt =document.getElementById("div1").getElementsByTagName("input");
        var ijImg;
        oTab.getElementsByTagName("tr")[3].getElementsByTagName("td")[3].style.border='5px solid yellow';
        var pasIntTot =parseInt(totalSpans);
        for(var i =0;i<aTr.length;i++){
            var aTd =aTr[i].getElementsByTagName("td");
            for(var j =0;j<aTd.length;j++){
                if(aTd[j].style.border=='5px solid red'){
                    //alert(arr[i][j]); =====這里判斷一下侮叮,
                    if(arr[i][j]==1){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=parseInt(aIpt[4].value);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                        //alert(pasIntTot)
                    }
                    else if(arr[i][j]==2){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=(parseInt(aIpt[2].value)*3);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                        //alert(pasIntTot)
                    }
                    else if(arr[i][j]==3){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=parseInt(aIpt[4].value);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                       // alert(pasIntTot)
                    }
                    else if(arr[i][j]==4){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=parseInt(aIpt[4].value);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                       // alert(pasIntTot)
                    }
                    else if(arr[i][j]==5){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=(parseInt(aIpt[3].value)*4);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                        // alert(pasIntTot)
                    }
                    else if(arr[i][j]==6){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=(parseInt(aIpt[1].value)*3);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                        // alert(pasIntTot)
                    }
                    else if(arr[i][j]==7){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=parseInt(aIpt[4].value);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                        // alert(pasIntTot)
                    }
                    else if(arr[i][j]==8){
                        ijImg=aTd[j].innerHTML;
                        aTr[3].getElementsByTagName("td")[3].innerHTML=ijImg;
                        pasIntTot+=(parseInt(aIpt[0].value)*5);
                        document.getElementById("totalSpan").innerHTML=pasIntTot;
                        // alert(pasIntTot)
                    }

                }
            }
        }
    }

</script>
<div id="div1">
    <span class="title">水果</span>
    <span class="title">賭注</span>
    <span class="title">賠率</span>
    <span class="main">香蕉</span>
    <span class="main"><input type="text" value="0" /></span>
    <span class="main colorR">5倍</span>
    <span class="main">南瓜</span>
    <span class="main"><input type="text" value="0"/></span>
    <span class="main colorR">3倍</span>
    <span class="main">蘋果+梨</span>
    <span class="main"><input type="text" value="0"/></span>
    <span class="main colorR">3倍</span>
    <span class="main">杏仁</span>
    <span class="main"><input type="text" value="0"/></span>
    <span class="main colorR">4倍</span>
    <span class="main">其他水果</span>
    <span class="main"><input type="text" value="0"/></span>
    <span class="main colorR">1倍</span>
    <p class="p1">您當(dāng)前金額為:<span id="totalSpan">100000</span>$   
      <span id="chaqian"></span>
    </p>
    <p class="p2">注意事項:點擊壓注 ===> 開始搖桿 </p>
    <a href="javascript:yazhu();" class="yazhu">壓注避矢!</a>
</div>
<div style="clear: both"></div>
<a href="javascript:paomaFun();" class="go">搖桿</a>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市签赃,隨后出現(xiàn)的幾起案子谷异,更是在濱河造成了極大的恐慌,老刑警劉巖锦聊,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歹嘹,死亡現(xiàn)場離奇詭異,居然都是意外死亡孔庭,警方通過查閱死者的電腦和手機尺上,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圆到,“玉大人怎抛,你說我怎么就攤上這事⊙康” “怎么了马绝?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長挣菲。 經(jīng)常有香客問我富稻,道長,這世上最難降的妖魔是什么白胀? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任椭赋,我火速辦了婚禮,結(jié)果婚禮上或杠,老公的妹妹穿的比我還像新娘哪怔。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布认境。 她就那樣靜靜地躺著胚委,像睡著了一般。 火紅的嫁衣襯著肌膚如雪元暴。 梳的紋絲不亂的頭發(fā)上篷扩,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機與錄音茉盏,去河邊找鬼鉴未。 笑死,一個胖子當(dāng)著我的面吹牛鸠姨,可吹牛的內(nèi)容都是我干的铜秆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼讶迁,長吁一口氣:“原來是場噩夢啊……” “哼连茧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起巍糯,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤啸驯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后祟峦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罚斗,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年宅楞,在試婚紗的時候發(fā)現(xiàn)自己被綠了针姿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡厌衙,死狀恐怖距淫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情婶希,我是刑警寧澤榕暇,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站喻杈,受9級特大地震影響拐揭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奕塑,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望家肯。 院中可真熱鬧龄砰,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至固蚤,卻和暖如春娘汞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夕玩。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工你弦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人燎孟。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓禽作,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揩页。 傳聞我的和親對象是個殘疾皇子旷偿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 國家二胎政策一放開,身邊大肚子如雨后春筍般冒出來爆侣。這些響應(yīng)國家號召生二寶的父母萍程,大多數(shù)的想法是想給大寶生個兒時的玩...
    正好閑聊閱讀 440評論 0 1
  • 如何與我們的不良情緒做朋友 每個人都有不良情緒的時刻,抑或煩躁兔仰、抑或不知道自己想要什么茫负,什么都不想干,看書看不進(jìn)去...
    欣語的成長日常閱讀 523評論 0 2
  • 看了一半《解憂雜貨鋪》斋陪,感覺跟封面的引導(dǎo)語很不同朽褪,可能是注意的點不同吧。 每個故事都很長无虚,講述的都...
    悠米泐閱讀 216評論 0 0
  • 夜晚缔赠,靜謐,朦朧…… 一個人走在人流稀少的公園里友题,一陣風(fēng)吹過嗤堰,暖暖的,柔柔的度宦,像極了你的撫摸踢匣,你的暖語,腦海...
    阿勇的故事閱讀 775評論 0 0