zoukankan      html  css  js  c++  java
  • HTML5 lufylegend引擎学习(一) -- 剪刀石头布小游戏

    网址:http://www.lufylegend.com/

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <title>A Little Game!</title>
      5         <meta charset="utf-8" />
      6         <style>
      7             html,body{
      8                 height:100%;
      9                 width: 100%;
     10                 margin: 0;
     11                 padding: 0;
     12             }
     13 
     14             body{
     15                 background-color: black;
     16             }
     17             #playground{
     18                 background-color: white;
     19                 position: absolute;
     20                 width: 800px;
     21                 height: 400px;
     22                 left: 50%;
     23                 top: 50%;
     24                 margin-left: -400px;
     25                 margin-top: -200px;
     26             }
     27         </style>
     28     </head>
     29     <body>
     30         <div id="playground"></div>
     31         <script type="text/javascript" src="js/lufylegend-1.10.1.js.js"></script>
     32         <script>
     33             var playerData = {
     34                 win : 0,
     35                 lose : 0,
     36                 dogfall : 0,
     37                 jiandan : 0,
     38                 shitou : 0,
     39                 bu : 0
     40             };
     41 
     42             var computerData = {
     43                 win : 0,
     44                 lose : 0,
     45                 dogfall : 0,
     46                 jiandan : 0,
     47                 shitou : 0,
     48                 bu : 0
     49             };
     50 
     51             var playground;
     52             var backlayer;
     53             var graphic;
     54             var loadManager ;
     55             var loadingProgress;
     56             var bitmapData;
     57             var title;
     58 
     59             var clicklayer;
     60             var jiandanBtn;
     61             var shitouBtn;
     62             var buBtn;
     63 
     64             var playerBitmap;
     65             var computerBitmap;
     66 
     67             var playStatus;
     68             var computerStatus;
     69             var winText1;
     70             var loseText1;
     71             var dogFallText1;
     72             var jiandanText1;
     73             var shitouText1;
     74             var buText1;
     75             var winText2;
     76             var loseText2;
     77             var dogFallText2;
     78             var jiandanText2;
     79             var shitouText2;
     80             var buText2;
     81 
     82             var imgList = Array();
     83             var imgData = [
     84                 { name : "title",path : "./images/title.png"},
     85                 { name : "bu",path : "./images/bu.png"},
     86                 { name : "jiandao",path : "./images/jiandao.png"},
     87                 { name : "shitou",path : "./images/shitou.png"}
     88             ];
     89 
     90             playground = document.getElementById("playground");
     91 
     92             init(50,"playground",800,400,main);
     93 
     94             function main()
     95             {
     96                 backlayer = new LSprite();
     97                 addChild(backlayer);
     98 
     99                 loadingProgress = new LoadingSample3();
    100                 backlayer.addChild(loadingProgress);
    101 
    102                 LLoadManage.load(imgData,function(p){
    103                     loadingProgress.setProgress(p);
    104                 },gameInit);
    105             }
    106 
    107             function gameInit(result)
    108             {
    109                 backlayer.removeChild(loadingProgress);
    110                 loadingProgress = null;
    111 
    112                 // 存储图片的数据
    113                 imgList.push(new LBitmapData(result["title"]));
    114                 imgList.push(new LBitmapData(result["jiandao"]));
    115                 imgList.push(new LBitmapData(result["shitou"]));
    116                 imgList.push(new LBitmapData(result["bu"]));
    117 
    118                 // 标题
    119                 title = new LBitmap(imgList[0]);
    120                 title.x = playground.clientWidth/2 - title.getWidth()/2;
    121                 backlayer.addChild(title);
    122 
    123                 // 三八线
    124                 backlayer.graphics.drawLine(1,"#06061F",[playground.clientWidth/2,title.getHeight(),playground.clientWidth/2,playground.clientHeight-title.getHeight()]);
    125 
    126                 // 显示玩家的名称
    127                 var computerText = new LTextField();
    128                 computerText.text = "电脑";
    129                 computerText.color = "#250012";
    130                 computerText.size = 17;
    131                 computerText.font = "Calibri Light";
    132                 computerText.x = playground.clientWidth/4 - computerText.getWidth()/2;
    133                 computerText.y = playground.clientHeight-title.getHeight();
    134                 backlayer.addChild(computerText);
    135 
    136                 var  playerText = new LTextField();
    137                 playerText.text = "玩家";
    138                 playerText.color = "#250012";
    139                 playerText.size = 17;
    140                 playerText.font = "Calibri Light";
    141                 playerText.x = (playground.clientWidth/4)*3 - playerText.getWidth()/2;
    142                 playerText.y = playground.clientHeight - title.getHeight();
    143                 backlayer.addChild(playerText);
    144 
    145                 // 放置剪刀、石头、布的图片
    146                 var jiandaoUp = new LBitmap(imgList[1]);
    147                 jiandaoUp.scaleX = 0.5;
    148                 jiandaoUp.scaleY = 0.5;
    149                 var jiandaoOver = new LBitmap(imgList[1]);
    150                 jiandaoOver.scaleX = 0.5;
    151                 jiandaoOver.scaleY = 0.5;
    152                 jiandanBtn = new LButton(jiandaoUp,jiandaoOver);
    153                 jiandanBtn.name = "jiandao";
    154                 jiandanBtn.x = 0;
    155                 jiandanBtn.y = 0;
    156 
    157                 var shitouUp = new LBitmap(imgList[2]);
    158                 shitouUp.scaleX = 0.5;
    159                 shitouUp.scaleY = 0.5;
    160                 var shitouOver = new LBitmap(imgList[2]);
    161                 shitouOver.scaleX = 0.5;
    162                 shitouOver.scaleY = 0.5;
    163                 shitouBtn = new LButton(shitouUp,shitouOver);
    164                 shitouBtn.name = "shitou";
    165                 shitouBtn.x = jiandanBtn.getWidth() + 10;
    166                 shitouBtn.y = 0;
    167 
    168                 var buUp= new LBitmap(imgList[3]);
    169                 buUp.scaleX = 0.5;
    170                 buUp.scaleY = 0.5;
    171                 var buOver = new LBitmap(imgList[3]);
    172                 buOver.scaleX = 0.5;
    173                 buOver.scaleY = 0.5;
    174                 buBtn = new LButton(buUp,buOver);
    175                 buBtn.name = "bu";
    176                 buBtn.x = shitouBtn.getWidth() + jiandanBtn.getWidth() + 20;
    177                 buBtn.y = 0;
    178 
    179                 clicklayer = new LSprite();
    180                 clicklayer.width = jiandaoUp.getWidth() * 3 + 30;
    181                 clicklayer.height = title.getHeight();
    182                 clicklayer.x = playground.clientWidth/2 - clicklayer.width/2;
    183                 clicklayer.y = playground.clientHeight - title.getHeight();
    184 
    185                 clicklayer.addChild(jiandanBtn);
    186                 clicklayer.addChild(shitouBtn);
    187                 clicklayer.addChild(buBtn);
    188                 backlayer.addChild(clicklayer);
    189 
    190                 // 显示统计数据
    191                 computerStatus = new LSprite();
    192                 computerStatus.graphics.drawRect(1,'#250012',[0,title.getHeight()+10,150,200],true,"#ffffff");
    193                 backlayer.addChild(computerStatus);
    194 
    195                 playStatus = new LSprite();
    196                 playStatus.graphics.drawRect(1,"250012",[playground.clientWidth-150,title.getHeight()+10,150,200],true,"#ffffff");
    197                 backlayer.addChild(playStatus);
    198 
    199                 initTextStatus();
    200 
    201                 // 监听事件
    202                 jiandanBtn.addEventListener(LMouseEvent.MOUSE_UP,onBtnClick);
    203                 shitouBtn.addEventListener(LMouseEvent.MOUSE_UP,onBtnClick);
    204                 buBtn.addEventListener(LMouseEvent.MOUSE_UP,onBtnClick);
    205             }
    206 
    207             function onBtnClick(e,btn)
    208             {
    209                 var player,computer;
    210 
    211                 switch(btn.name)
    212                 {
    213                     case "jiandao":
    214                             player = 1;
    215                             playerData.jiandan += 1;
    216                         break;
    217                     case "shitou":
    218                             player = 2;
    219                             playerData.shitou += 1;
    220                         break;
    221                     case "bu":
    222                             player = 3;
    223                             playerData.bu += 1;
    224                         break;
    225                 }
    226                 // 电脑随机出拳
    227                 computer = Math.ceil(Math.random()*3);
    228                 switch(computer)
    229                 {
    230                     case 1:
    231                             computerData.jiandan += 1;
    232                         break;
    233                     case 2:
    234                             computerData.shitou += 1;
    235                         break;
    236                     case 3:
    237                             computerData.bu += 1;
    238                         break;
    239                 }
    240 
    241                 // 显示出拳结果
    242                 computerBitmap = new LBitmap(imgList[computer]);
    243                 computerBitmap.x = playground.clientWidth/2 - computerBitmap.getWidth() - 10;
    244                 computerBitmap.y = playground.clientHeight/2 - computerBitmap.getHeight()/2;
    245                 backlayer.addChild(computerBitmap);
    246 
    247                 playerBitmap = new LBitmap(imgList[player]);
    248                 playerBitmap.x = playground.clientWidth/2 + 10;
    249                 playerBitmap.y = playground.clientHeight/2 - playerBitmap.getHeight()/2;
    250                 backlayer.addChild(playerBitmap);
    251 
    252                 // 平局
    253                  if(player == computer)
    254                  {
    255                      playerData.dogfall += 1;
    256                      computerData.dogfall += 1;
    257                  }
    258                  else if(player-1 == computer || player+2 == computer)  // 胜场
    259                  {
    260                         playerData.win += 1;
    261                         computerData.lose += 1;
    262                  }
    263                 else
    264                  {
    265                      playerData.lose += 1;
    266                      computerData.win += 1;
    267                  }
    268 
    269                 winText2.text = "Win : " + playerData.win;
    270                 loseText2.text = "Lose : " + playerData.lose;
    271                 dogFallText2.text = "DogFall : " + playerData.dogfall;
    272                 jiandanText2.text = "JianDao : " + playerData.jiandan;
    273                 shitouText2.text = "ShiTou : " + playerData.shitou;
    274                 buText2.text = "Bu : " + playerData.bu;
    275 
    276                 winText1.text = "Win : " + computerData.win;
    277                 loseText1.text = "Lose : " + computerData.lose;
    278                 dogFallText1.text = "DogFall : " + computerData.dogfall;
    279                 jiandanText1.text = "JianDao : " + computerData.jiandan;
    280                 shitouText1.text = "ShiTou : " + computerData.shitou;
    281                 buText1.text = "Bu : " + computerData.bu;
    282             }
    283 
    284             function initTextStatus()
    285             {
    286                 winText1 = new LTextField();
    287                 winText1.x = 10;
    288                 winText1.y = title.getHeight() + 15;
    289                 winText1.text = "Win : " + computerData.win;
    290                 computerStatus.addChild(winText1);
    291 
    292                 loseText1 = new LTextField();
    293                 loseText1.x = 10;
    294                 loseText1.y = title.getHeight() + 35;
    295                 loseText1.text = "Lose : " + computerData.lose;
    296                 computerStatus.addChild(loseText1);
    297 
    298                 dogFallText1 = new LTextField();
    299                 dogFallText1.x = 10;
    300                 dogFallText1.y = title.getHeight() + 55;
    301                 dogFallText1.text = "DogFall : " + computerData.dogfall;
    302                 computerStatus.addChild(dogFallText1);
    303 
    304                 jiandanText1 = new LTextField();
    305                 jiandanText1.x = 10;
    306                 jiandanText1.y = title.getHeight() + 75;
    307                 jiandanText1.text = "JianDao : " + computerData.jiandan;
    308                 computerStatus.addChild(jiandanText1);
    309 
    310                 shitouText1 = new LTextField();
    311                 shitouText1.x = 10;
    312                 shitouText1.y = title.getHeight() + 95;
    313                 shitouText1.text = "ShiTou : " + computerData.shitou;
    314                 computerStatus.addChild(shitouText1);
    315 
    316                 buText1 = new LTextField();
    317                 buText1.x = 10;
    318                 buText1.y = title.getHeight() + 115;
    319                 buText1.text = "Bu : " + computerData.bu;
    320                 computerStatus.addChild(buText1);
    321 
    322                 winText2 = new LTextField();
    323                 winText2.x = playground.clientWidth - 140;
    324                 winText2.y = title.getHeight() + 15;
    325                 winText2.text = "Win : " + playerData.win;
    326                 playStatus.addChild(winText2);
    327 
    328                 loseText2 = new LTextField();
    329                 loseText2.x = playground.clientWidth - 140;
    330                 loseText2.y = title.getHeight() + 35;
    331                 loseText2.text = "Lose : " + playerData.lose;
    332                 playStatus.addChild(loseText2);
    333 
    334                 dogFallText2 = new LTextField();
    335                 dogFallText2.x = playground.clientWidth - 140;
    336                 dogFallText2.y = title.getHeight() + 55;
    337                 dogFallText2.text = "DogFall : " + playerData.dogfall;
    338                 playStatus.addChild(dogFallText2);
    339 
    340                 jiandanText2 = new LTextField();
    341                 jiandanText2.x = playground.clientWidth - 140;
    342                 jiandanText2.y = title.getHeight() + 75;
    343                 jiandanText2.text = "JianDao : " + playerData.jiandan;
    344                 playStatus.addChild(jiandanText2);
    345 
    346                 shitouText2 = new LTextField();
    347                 shitouText2.x = playground.clientWidth - 140;
    348                 shitouText2.y = title.getHeight() + 95;
    349                 shitouText2.text = "ShiTou : " + playerData.shitou;
    350                 playStatus.addChild(shitouText2);
    351 
    352                 buText2 = new LTextField();
    353                 buText2.x = playground.clientWidth - 140;
    354                 buText2.y = title.getHeight() + 115;
    355                 buText2.text = "Bu : " + playerData.bu;
    356                 playStatus.addChild(buText2);
    357             }
    358         </script>
    359     </body>
    360 </html>

    学习记录,方便复习
  • 相关阅读:
    模块-和包
    re模块
    递归函数
    内置函数
    C++ 创建文件的方法
    C++多态的实现条件
    C++常见错误总结
    Http客户端跳转和服务器端跳转的区别
    struts1学习
    Java 核心读书笔记 第11章
  • 原文地址:https://www.cnblogs.com/jingjingdidunhe/p/6621312.html
Copyright © 2011-2022 走看看