2023.07.30 | admin | 122次围观
最近因为帮助大一的学妹做网页,又接触了一下前端方面的知识。(学妹已经成了女朋友!!!微信小测试h5源代码,嘻嘻)感谢自己当年认真学习,大三了好多东西还能拾起来,哈哈。我翻出了我当年写的代码,还真不少呢。今天复习复习,看一看那时候写的一个贪吃蛇的代码。当时用了一整天,跟着今日头条上推送给我的一个视频一点一点手敲的…… 两年半了,我记得这么清楚,是因为写这个太痛苦了,记忆犹新啊!!!大一手敲着不知道为什么的代码,一遍一遍的报错,一遍一遍的改错误……
现在感觉起来,装好插件的VS code配合上Chrome调试,真的是爽到爆啊。当时太年轻,不知道这么先进的工具,可能有人会说Sublime Text更好用,我承认,我选择VS code 仅仅因为是插件安装方便。
大概看了看这个贪吃蛇的代码,主要用了HTML5中的canvas(画布)实现游戏界面,蛇的控制逻辑用JavaScript。定时调用函数使得蛇动起来。代码简单易懂,分享出来,供初学者参考学习。省的手敲代码微信小测试h5源代码,遇到各种错误,学习的热情被各种八阿哥拒之门外,先让程序跑起来,带有兴趣的研究代码,效率应该更高吧。(个人观点,纯属扯淡)话不多说,直接上代码:
HTML页面内容:
贪吃蛇
javascript代码:
//获取绘制工具
/*
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");//获取上下文
ctx.moveTo(0,0);
ctx.lineTo(450,450);*/
var c=document.getElementById("canvas");
var ctx=c.getContext("2d");
/*ctx.beginPath();
ctx.moveTo(0,0);
ctx.lineTo(450,450);
ctx.stroke();
*/
var snake =[];//定义一条蛇,画蛇的身体
var snakeCount = 6;//初始化蛇的长度
var foodx =0;
var foody =0;
var togo =0;
function drawtable()//画地图的函数
{
for(var i=0;i<60;i++)//画竖线
{
ctx.strokeStyle="black";
ctx.beginPath();
ctx.moveTo(15*i,0);
ctx.lineTo(15*i,600);
ctx.closePath();
ctx.stroke();
}
for(var j=0;j<40;j++)//画横线
{
ctx.strokeStyle="black";
ctx.beginPath();
ctx.moveTo(0,15*j);
ctx.lineTo(900,15*j);
ctx.closePath();
ctx.stroke();
}
for(var k=0;k885||snake[snakeCount-1].y>585||snake[snakeCount-1].x<0||snake[snakeCount-1].y<0)
{
alert("You are dead,GAME OVER!!!");
window.location.reload();
}
}
document.onkeydown=function(e)
{
keydown(e);
}
window.onload = function()//调用函数
{
start();
setInterval(move,150);
drawtable();
}
下面是程序运行截图:
版权声明
本文仅代表作者观点。
本文系作者授权发表,未经许可,不得转载。
发表评论