#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <time.h>
const int H = 8; //地圖的高
const int L = 16; //地圖的長
char GameMap[H][L]; //游戲地圖
int key; //按鍵保存
int sum = 1, over = 0; //蛇的長度, 游戲結束(自吃或碰牆)
int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向
int dy[4] = {-1, 1, 0, 0};
struct Snake //蛇的每個節點的數據類型
{
int x, y; //左邊位置
int now; //保存當前節點的方向, 0,1,2,3分別為左右上下
}Snake[H*L];
const char Shead = '@'; //蛇頭
const char Sbody = '#'; //蛇身
const char Sfood = '*'; //食物
const char Snode = '.'; //'.'在地圖上標示為空
void Initial(); //地圖的初始化
void Create_Food(); //在地圖上隨機產生食物
void Show(); //刷新顯示地圖
void Button(); //取出按鍵,並判斷方向
void Move(); //蛇的移動
void Check_Border(); //檢查蛇頭是否越界
void Check_Head(int x, int y); //檢查蛇頭移動後的位置情況
int main()
{
Initial();
Show();
return 0;
}
void Initial() //地圖的初始化
{
int i, j;
int hx, hy;
system("title 貪吃蛇"); //控制台的標題
memset(GameMap, '.', sizeof(GameMap)); //初始化地圖全部為空'.'
system("cls");
srand(time(0)); //隨機種子
hx = rand()%H; //產生蛇頭
hy = rand()%L;
GameMap[hx][hy] = Shead;
Snake[0].x = hx; Snake[0].y = hy;
Snake[0].now = -1;
Create_Food(); //隨機產生食物
for(i = 0; i < H; i++) //地圖顯示
{
for(j = 0; j < L; j++)
printf("%c", GameMap[i][j]);
printf("\n");
}
printf("\n小小C語言貪吃蛇\n");
printf("按任意方向鍵開始游戲\n");
getch(); //先接受一個按鍵,使蛇開始往該方向走
Button(); //取出按鍵,並判斷方向
}
void Create_Food() //在地圖上隨機產生食物
{
int fx, fy;
while(1)
{
fx = rand()%H;
fy = rand()%L;
if(GameMap[fx][fy] == '.') //不能出現在蛇所佔有的位置
{
GameMap[fx][fy] = Sfood;
break;
}
}
}
void Show() //刷新顯示地圖
{
int i, j;
while(1)
{
_sleep(500); //延遲半秒(1000為1s),即每半秒刷新一次地圖
Button(); //先判斷按鍵在移動
Move();
if(over) //自吃或碰牆即游戲結束
{
printf("\n**游戲結束**\n");
printf(" >_<\n");
getchar();
break;
}
system("cls"); //清空地圖再顯示刷新吼的地圖
for(i = 0; i < H; i++)
{
for(j = 0; j < L; j++)
printf("%c", GameMap[i][j]);
printf("\n");
}
printf("\n小小C語言貪吃蛇\n");
printf("按任意方向鍵開始游戲\n");
}
}
void Button() //取出按鍵,並判斷方向
{
if(kbhit() != 0) //檢查當前是否有鍵盤輸入,若有則返回一個非0值,否則返回0
{
while(kbhit() != 0) //可能存在多個按鍵,要全部取完,以最後一個為主
key = getch(); //將按鍵從控制台中取出並保存到key中
switch(key)
{ //左
case 75: Snake[0].now = 0;
break;
//右
case 77: Snake[0].now = 1;
break;
//上
case 72: Snake[0].now = 2;
break;
//下
case 80: Snake[0].now = 3;
break;
}
}
}
void Move() //蛇的移動
{
int i, x, y;
int t = sum; //保存當前蛇的長度
//記錄當前蛇頭的位置,並設置為空,蛇頭先移動
x = Snake[0].x; y = Snake[0].y; GameMap[x][y] = '.';
Snake[0].x = Snake[0].x + dx[ Snake[0].now ];
Snake[0].y = Snake[0].y + dy[ Snake[0].now ];
Check_Border(); //蛇頭是否越界
Check_Head(x, y); //蛇頭移動後的位置情況,參數為: 蛇頭的開始位置
if(sum == t) //未吃到食物即蛇身移動哦
for(i = 1; i < sum; i++) //要從蛇尾節點向前移動哦,前一個節點作為參照
{
if(i == 1) //尾節點設置為空再移動
GameMap[ Snake[i].x ][ Snake[i].y ] = '.';
if(i == sum-1) //為蛇頭後面的蛇身節點,特殊處理
{
Snake[i].x = x;
Snake[i].y = y;
Snake[i].now = Snake[0].now;
}
else //其他蛇身即走到前一個蛇身位置
{
Snake[i].x = Snake[i+1].x;
Snake[i].y = Snake[i+1].y;
Snake[i].now = Snake[i+1].now;
}
GameMap[ Snake[i].x ][ Snake[i].y ] = '#'; //移動後要置為'#'蛇身
}
}
void Check_Border() //檢查蛇頭是否越界
{
if(Snake[0].x < 0 || Snake[0].x >= H
|| Snake[0].y < 0 || Snake[0].y >= L)
over = 1;
}
void Check_Head(int x, int y) //檢查蛇頭移動後的位置情況
{
if(GameMap[ Snake[0].x ][ Snake[0].y ] == '.') //為空
GameMap[ Snake[0].x ][ Snake[0].y ] = '@';
else
if(GameMap[ Snake[0].x ][ Snake[0].y ] == '*') //為食物
{
GameMap[ Snake[0].x ][ Snake[0].y ] = '@';
Snake[sum].x = x; //新增加的蛇身為蛇頭後面的那個
Snake[sum].y = y;
Snake[sum].now = Snake[0].now;
GameMap[ Snake[sum].x ][ Snake[sum].y ] = '#';
sum++;
Create_Food(); //食物吃完了馬上再產生一個食物
}
else
over = 1;
}
❷ 課程設計:使用JavaScript製作一個網頁上的貪吃蛇游戲
<html>
<head>
<title>貪吃蛇 Snake v2.4</title>
<style>
body{
font-size:9pt;
}
table{
border-collapse: collapse;
border:solid #333 1px;
}
td{
height: 10px;
width: 10px;
font-size: 0px;
}
.filled{
background-color:blue;
}
</style>
</head>
<script>
function $(id){return document.getElementById(id);}
/**************************************************************
* javascript貪吃蛇 v2.4 <br />
* author: sunxing007 05/14/2009<br />
* 轉載請註明來自http://blog.csdn.net/sunxing007 謝謝!<br />
* v2.4修正了蛇身顏色可以隨著蛇前進而移動
**************************************************************/
//貪吃蛇類
var Snake = {
tbl: null,
/**
* body: 蛇身,數組放蛇的每一節,
* 數據結構{x:x0, y:y0, color:color0},
* x,y表示坐標,color表示顏色
**/
body: [],
//當前移動的方向,取值0,1,2,3, 分別表示向上,右,下,左, 按鍵盤方向鍵可以改變它
direction: 0,
//定時器
timer: null,
//速度
speed: 250,
//是否已經暫停
paused: true,
//行數
rowCount: 30,
//列數
colCount: 30,
//初始化
init: function(){
var colors = ['red','orange','yellow','green','blue','purple','#ccc'];
this.tbl = $("main");
var x = 0;
var y = 0;
var colorIndex = 0;
//產生初始移動方向
this.direction = Math.floor(Math.random()*4);
//構造table
for(var row=0;row<this.rowCount;row++){
var tr=this.tbl.insertRow(-1);
for(var col=0;col<this.colCount;col++) {
var td=tr.insertCell(-1);
}
}
//產生20個鬆散節點
for(var i=0; i<10; i++){
x = Math.floor(Math.random()*this.colCount);
y = Math.floor(Math.random()*this.rowCount);
colorIndex = Math.floor(Math.random()*7);
if(!this.isCellFilled(x,y)){
this.tbl.rows[y].cells[x].style.backgroundColor = colors[colorIndex];
}
}
//產生蛇頭
while(true){
x = Math.floor(Math.random()*this.colCount);
y = Math.floor(Math.random()*this.rowCount);
if(!this.isCellFilled(x,y)){
this.tbl.rows[y].cells[x].style.backgroundColor = "black";
this.body.push({x:x,y:y,color:'black'});
break;
}
}
this.paused = true;
//添加鍵盤事件
document.onkeydown= function(e){
if (!e)e=window.event;
switch(e.keyCode | e.which | e.charCode){
case 13: {
if(Snake.paused){
Snake.move();
Snake.paused = false;
}
else{
//如果沒有暫停,則停止移動
Snake.pause();
Snake.paused = true;
}
break;
}
case 37:{//left
//阻止蛇倒退走
if(Snake.direction==1){
break;
}
Snake.direction = 3;
break;
}
case 38:{//up
//快捷鍵在這里起作用
if(event.ctrlKey){
Snake.speedUp(-20);
break;
}
if(Snake.direction==2){//阻止蛇倒退走
break;
}
Snake.direction = 0;
break;
}
case 39:{//right
if(Snake.direction==3){//阻止蛇倒退走
break;
}
Snake.direction = 1;
break;
}
case 40:{//down
if(event.ctrlKey){
Snake.speedUp(20);
break;
}
if(Snake.direction==0){//阻止蛇倒退走
break;
}
Snake.direction = 2;
break;
}
}
}
},
//移動
move: function(){
this.timer = setInterval(function(){
Snake.erase();
Snake.moveOneStep();
Snake.paint();
}, this.speed);
},
//移動一節身體
moveOneStep: function(){
if(this.checkNextStep()==-1){
clearInterval(this.timer);
alert("Game over!\nPress Restart to continue.");
return;
}
if(this.checkNextStep()==1){
var _point = this.getNextPos();
var _x = _point.x;
var _y = _point.y;
var _color = this.getColor(_x,_y);
this.body.unshift({x:_x,y:_y,color:_color});
//因為吃了一個食物,所以再產生一個食物
this.generateDood();
return;
}
//window.status = this.toString();
var point = this.getNextPos();
//保留第一節的顏色
var color = this.body[0].color;
//顏色向前移動
for(var i=0; i<this.body.length-1; i++){
this.body[i].color = this.body[i+1].color;
}
//蛇尾減一節, 蛇尾加一節,呈現蛇前進的效果
this.body.pop();
this.body.unshift({x:point.x,y:point.y,color:color});
//window.status = this.toString();
},
//探尋下一步將走到什麼地方
pause: function(){
clearInterval(Snake.timer);
this.paint();
},
getNextPos: function(){
var x = this.body[0].x;
var y = this.body[0].y;
var color = this.body[0].color;
//向上
if(this.direction==0){
y--;
}
//向右
else if(this.direction==1){
x++;
}
//向下
else if(this.direction==2){
y++;
}
//向左
else{
x--;
}
//返回一個坐標
return {x:x,y:y};
},
//檢查將要移動到的下一步是什麼
checkNextStep: function(){
var point = this.getNextPos();
var x = point.x;
var y = point.y;
if(x<0||x>=this.colCount||y<0||y>=this.rowCount){
return -1;//觸邊界,游戲結束
}
for(var i=0; i<this.body.length; i++){
if(this.body[i].x==x&&this.body[i].y==y){
return -1;//碰到自己的身體,游戲結束
}
}
if(this.isCellFilled(x,y)){
return 1;//有東西
}
return 0;//空地
},
//擦除蛇身
erase: function(){
for(var i=0; i<this.body.length; i++){
this.eraseDot(this.body[i].x, this.body[i].y);
}
},
//繪制蛇身
paint: function(){
for(var i=0; i<this.body.length; i++){
this.paintDot(this.body[i].x, this.body[i].y,this.body[i].color);
}
},
//擦除一節
eraseDot: function(x,y){
this.tbl.rows[y].cells[x].style.backgroundColor = "";
},
paintDot: function(x,y,color){
this.tbl.rows[y].cells[x].style.backgroundColor = color;
},
//得到一個坐標上的顏色
getColor: function(x,y){
return this.tbl.rows[y].cells[x].style.backgroundColor;
},
//用於調試
toString: function(){
var str = "";
for(var i=0; i<this.body.length; i++){
str += "x:" + this.body[i].x + " y:" + this.body[i].y + " color:" + this.body[i].color + " - ";
}
return str;
},
//檢查一個坐標點有沒有被填充
isCellFilled: function(x,y){
if(this.tbl.rows[y].cells[x].style.backgroundColor == ""){
return false;
}
return true;
},
//重新開始
restart: function(){
if(this.timer){
clearInterval(this.timer);
}
for(var i=0; i<this.rowCount;i++){
this.tbl.deleteRow(0);
}
this.body = [];
this.init();
this.speed = 250;
},
//加速
speedUp: function(time){
if(!this.paused){
if(this.speed+time<10||this.speed+time>2000){
return;
}
this.speed +=time;
this.pause();
this.move();
}
},
//產生食物。
generateDood: function(){
var colors = ['red','orange','yellow','green','blue','purple','#ccc'];
var x = Math.floor(Math.random()*this.colCount);
var y = Math.floor(Math.random()*this.rowCount);
var colorIndex = Math.floor(Math.random()*7);
if(!this.isCellFilled(x,y)){
this.tbl.rows[y].cells[x].style.backgroundColor = colors[colorIndex];
}
}
};
</script>
<body onload="Snake.init();">
/*************************************************************<br />
* javascript貪吃蛇 v2.4<br />
* author: sunxing007 05/14/2009<br />
* 轉載請註明來自 <a href="http://blog.csdn.net/sunxing007">http://blog.csdn.net/sunxing007</a> 謝謝!<br />
**************************************************************/<br />
<table id="main" border="1" cellspacing="0" cellpadding="0"></table>
<input type="button" id="btn" value="開始/暫停" />點左邊按鈕或按Enter開始/暫停游戲<br />
<input type="button" id="reset" value="重新開始" /><br />
<input type="button" id="upSpeed" value="加速" />點左邊按鈕或按Ctrl + ↑加速<br />
<input type="button" id="downSpeed" value="減速" />點左邊按鈕或按Ctrl + ↓減速
<script>
$('btn').onclick = function(){
if(Snake.paused){
Snake.move();
Snake.paused = false;
}
else{
Snake.pause();
Snake.paused = true;
}
};
$("reset").onclick = function(){
Snake.restart();
this.blur();
};
$("upSpeed").onclick = function(){
Snake.speedUp(-20);
};
$("downSpeed").onclick = function(){
Snake.speedUp(20);
};
</script>
</body>
</html>
❸ 求C語言的貪吃蛇畢業論文
#include<stdio.h>#include<graphics.h>#include<stdlib.h>#include<dos.h>/*引用的庫函數*/#defineLEFT0x4b00#defineRIGHT0x4d00#defineDOWN0x5000#defineUP0x4800#defineESC0x011b/*宏定義鍵名*/#defineN200inti,key;intlevel;/*游戲等級*/intscore=0;/*得分*/intgamespeed;/*游戲速度*/structFood{intx;/*食物的橫坐標*/inty;/*食物的縱坐標*/intyes;/*判斷是否要出現食物的變數*/}food;/*食物的結構體*/structSnake{intx[N];inty[N];intnode;/*蛇的節數*/intdirection;/*蛇移動方向*/intlife;/*蛇的生命,0活著,1死亡*/}snake;/*蛇的結構體*/voidChoicelevle(void);/*選擇游戲等級*/voidInit(void);/*圖形驅動*/voidClose(void);/*圖形結束*/voidDRAW(void);/*游戲區域*/voidGameOver(void);/*結束游戲*/voidGamePlay(void);/*玩游戲具體過程*/voidPrScore(void);/*輸出成績*//*主函數*/voidmain(void){Init();/*圖形驅動*/Choicelevle();/*選擇游戲等級*/DRAW();/*游戲區域*/GamePlay();/*玩游戲具體過程*/Close();/*圖形結束*/}/*圖形驅動*/voidInit(void){intgd=DETECT,gm;initgraph(&gd,&gm,"\turboc2");/*初始化圖形系統*/cleardevice();/*清除圖形界面*/}/*選擇游戲等級*/voidChoicelevle(void){charname[20];setcolor(YELLOW);settextstyle(0,0,6);outtextxy(150,150,"Snake");setcolor(GREEN);settextstyle(0,0,1);outtextxy(200,250,"pleaseputinyourEnglishname:");outtextxy(200,270,"Choicelevlefrom1-9.");outtextxy(300,320,"name:yangzilong");/*製作人姓名*/outtextxy(300,350,"number:0902060226");/*製作人學號*/outtextxy(300,380,"class:computerscience0602");/*製作人班級*/getch();printf("pleaseputinyourname:");gets(name);printf("pleasechoicelevle:");scanf("%d",&level);gamespeed=100000-400*level-300*level*level;if(level>9||level<1){cleardevice();/*清除圖形界面*/setcolor(YELLOW);/*設置字體顏色*/settextstyle(0,0,2);/*設置字體類型*/outtextxy(150,200,"levelinputerror");/*顯示文本*/getch();level=1;}}voidDRAW(void){cleardevice();/*清屏*/setcolor(2);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/rectangle(45,45,465,325);}/*玩游戲具體過程*/voidGamePlay(void){setcolor(5);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/randomize();/*隨機數發生器*/food.yes=1;/*1表示需要出現新食物,0表示已經存在食物*/snake.life=0;/*活著*/snake.direction=1;/*方嚮往右*/snake.x[0]=320;snake.y[0]=240;/*蛇頭*/snake.x[1]=330;snake.y[1]=240;/*蛇的第二節位置*/snake.node=3;/*節數*/PrScore();/*輸出得分*/while(1)/*可以重復玩游戲,壓ESC鍵結束*/{while(!kbhit())/*在沒有按鍵的情況下,蛇自己移動身體*/{if(food.yes==1)/*需要出現新食物*/{food.x=rand()%360+70;food.y=rand()%250+60;while(food.x%10!=0)/*食物隨機出現後必須讓食物能夠在整格內,這樣才可以讓蛇吃到*/food.x++;while(food.y%10!=0)food.y++;food.yes=0;/*畫面上有食物了*/}if(food.yes==0)/*畫面上有食物了就要顯示*/{setcolor(GREEN);rectangle(food.x,food.y,food.x+10,food.y-10);}for(i=snake.node-1;i>0;i--)/*蛇的每個環節往前移動*/{snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];}/*1,2,3,4表示右,左,上,下四個方向,通過這個控制來移動蛇頭*/switch(snake.direction){case1:snake.x[0]+=10;break;case2:snake.x[0]-=10;break;case3:snake.y[0]-=10;break;case4:snake.y[0]+=10;break;}for(i=3;i<snake.node;i++)/*從蛇的第四節開始判斷是否撞到自己了,因為蛇頭為兩節,第三節不可能拐過來*/{if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]){GameOver();/*顯示失敗*/snake.life=1;/*蛇死*/break;}}/*如果蛇頭碰到牆壁,蛇頭從對面牆出來*/if(snake.x[0]<50){snake.x[0]=450;/*如果蛇頭越過左邊界,則從右邊界進入*/snake.y[0]=snake.y[0];/*縱坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.x[0]>450){snake.x[0]=50;/*如果蛇頭越過右邊界,則蛇頭從左邊界進入*/snake.y[0]=snake.y[0];/*縱坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.y[0]<60){snake.y[0]=320;/*如果蛇頭越過上邊界,則從下邊界進入*/snake.x[0]=snake.x[0];/*橫坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.y[0]>320){snake.y[0]=60;/*如果蛇頭越過下邊界,則從上邊界進入*/snake.x[0]=snake.x[0];/*橫坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}if(snake.life==1)/*如果蛇死就跳出內循環,重新開始*/break;if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以後*/{setcolor(0);/*把畫面上的食物東西去掉*/rectangle(food.x,food.y,food.x+10,food.y-10);/*用當前線型和顏色畫一矩形*/snake.x[snake.node]=-20;snake.y[snake.node]=-20;/*新的一節先放在看不見的位置,下次循環就取前一節的位置*/snake.node++;/*蛇的身體長一節*/food.yes=1;/*畫面上需要出現新的食物*/score+=10;/*每吃掉一食物,得分累加10分*/if(score%100==0){level++;gamespeed=100000-400*level-300*level*level;/*每吃掉10食物提升一級,速度加快*/PrScore();/*輸出新得分*/setcolor(YELLOW);/*設置字體顏色*/settextstyle(0,0,4);/*設置字體類型*/outtextxy(150,200,"LEVELUP");/*顯示文本*/if(level==10){level=1,gamespeed=100000-400*level-300*level*level;}delay(6000000);delay(6000000);delay(6000000);delay(6000000);delay(6000000);delay(6000000);delay(6000000);bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}PrScore();/*輸出新得分*/}setcolor(4);/*畫出蛇*/for(i=0;i<snake.node;i++)rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);delay(gamespeed);/*控制游戲速度*/setcolor(0);rectangle(snake.x[snake.node-1],snake.y[snake.node-1],snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);}/*endwhile(!kbhit)*//*用黑色去除蛇的的最後一節*/if(snake.life==1)/*如果蛇死就跳出循環*/break;key=bioskey(0);/*接收按鍵*/if(key==ESC)/*按ESC鍵退出*/break;elseif(key==UP&&snake.direction!=4)/*判斷是否往相反的方向移動*/snake.direction=3;elseif(key==RIGHT&&snake.direction!=2)snake.direction=1;elseif(key==LEFT&&snake.direction!=1)snake.direction=2;elseif(key==DOWN&&snake.direction!=3)snake.direction=4;}/*endwhile(1)*/}/*游戲結束*/voidGameOver(void){cleardevice();/*清屏*/PrScore();setcolor(RED);/*設置字體顏色*/settextstyle(0,0,4);/*設置字體類型*/outtextxy(200,200,"GAMEOVER");/*顯示文本*/getch();}/*輸出成績及游戲等級*/voidPrScore(void){charstr1[20];/*設置字元型數組*/setfillstyle(SOLID_FILL,0);bar(50,15,390,35);/*填充矩形框*/setcolor(6);/*設置文本顏色*/settextstyle(0,0,2);/*設置數組顯示位置*/sprintf(str1,"score%dlevel%d",score,level);/*顯示數組內容*/outtextxy(55,20,str1);setcolor(YELLOW);/*設置字體顏色*/settextstyle(0,0,2);/*設置字體類型*/outtextxy(250,400,"EXIT=ESC");/*顯示文本*/}voidClose(void){closegraph();}
❹ 基於Java的貪吃蛇游戲畢業論文全套(開題報告+論文+作品),幫對象找的。跪求啊。求大神同情啊。。
基於Java的貪吃蛇游戲畢業論文全套
我提供
❺ 求基於51單片機的貪吃蛇主體設計畢業設計論文[email protected]
貪吃蛇就是貪吃蛇
❻ 基於HTML5的貪吃蛇的設計與實現
第一個問題,是缺少引用文件,檢查一下是否本地有個js文件挪了位置
第二個問題,是語法格式問題,如果解決了第一個問題,第二個問題很可能也解決了。
❼ 基於cpld貪吃蛇游戲的設計論文
一篇論文的英文落款與中文落款內容上應共同,但不等於說詞語要一一對應。在許多狀況下,單個非實質性的詞能夠省掉或變化。我能給你範文。要不