原创作品,转载请注明来源http://www.cnblogs.com/zhber/p/4391336.html

估计没几个人会想到研究性学习搞加各种特效的贪吃蛇的吧

把这几周搞研究性学习的结果记录一下

本人负责html代码相关……数据库维护请转到app.htouko.com/snake/(为什么换服务器了?我也不知道……)

1.0:学会了用canvas画布画出好烂好烂的贪吃蛇界面……而且仅仅是界面……不过初学者嘛……不要在意这些细节

  1 <!doctype html>
  2 <html>
  3 <head>
  4         <meta charset="utf-8">
  5         <title>crazy_SNAKE</title>
  6         <style type="text/css">
  7             *{margin:0;padding:0;font-family: "Microsoft YaHei";}
  8             #page{margin-right:auto;margin-left:auto;margin-top:20px;height: 600px;width:980px;}
  9             #yard{width:auto;border:1px solid #c3c3c3;box-shadow:0 0 10px black;float:right;}
 10         </style>
 11         <script type="text/javascript">
 12         
 13             var cell_size=20;
 14             var Height=30;
 15             var Width=40;
 16             //const define
 17             
 18             var map=new Array()//地图状态
 19             for (var i=0;i<Height;i++)
 20             {
 21                 map[i]=new Array()
 22                 for (var j=0;j<Width;j++) map[i][j]=0;
 23             }
 24             var snake=[];//蛇的坐标
 25             var c=null;//绘图对象
 26             var direction=3;//方向
 27             var length=4;//长度
 28             var foodx=0;//食物坐标
 29             var foody=0;
 30             //var define
 31             function draw()
 32             {
 33                 c.clearRect(0,0,cell_size*Width,cell_size*Height);
 34                 c.strokestyle="black";
 35                 c.linewidth=1.0;
 36                 
 37 //======================================================================================横线竖线
 38                 for (var i=1;i<=Height;i++)
 39                 {
 40                     c.beginPath();
 41                     c.moveTo(0,i*cell_size);
 42                     c.lineTo(Width*cell_size,i*cell_size);
 43                     c.stroke();
 44                 }
 45                 for(var i=1;i<=Width;i++)
 46                 {
 47                     c.beginPath();
 48                     c.moveTo(i*cell_size,0);
 49                     c.lineTo(i*cell_size,Height*cell_size);
 50                     c.stroke();
 51                 }    
 52             }
 53             function init()
 54             {
 55                 for (var i=0;i<length;i++)
 56                 {
 57                     snake.unshift({x:i,y:0});
 58                     map[i][0]=1;
 59                 }
 60                 add_food();
 61                 draw();
 62             }
 63             function move()
 64             {
 65                 
 66             }
 67             
 68             function judge_eat()
 69             {
 70                 
 71             }
 72             
 73             function judge_dead()
 74             {
 75                 
 76             }
 77             
 78             function add_food()
 79             {
 80                 foodx=-1;
 81                 foody=-1;
 82                 while(!(foodx>=0&&foody>=0&&foodx<=Width&&foody<=Height&&map[foodx][foody]==0))
 83                 {
 84                     foodx=Math.floor(Math.random()*(Width-1));
 85                     foody=Math.floor(Math.random()*(Height-1));
 86                 }
 87             }
 88             window.onload=function()
 89             {
 90                 c=document.getElementById('screen').getContext('2d');
 91                 init();
 92             }
 93         </script>
 94     </head>
 95 
 96     <body>
 97         <div id="page">
 98             <div id="yard"><canvas id="screen" height="600px" width="800px"></canvas></div>
 99         </div>
100     </body>
101 </html>
crazy_snake_1.0

相关文章: