根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx

上传人:b****6 文档编号:7566052 上传时间:2023-01-25 格式:DOCX 页数:21 大小:17.97KB
下载 相关 举报
根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx_第1页
第1页 / 共21页
根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx_第2页
第2页 / 共21页
根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx_第3页
第3页 / 共21页
根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx_第4页
第4页 / 共21页
根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx

《根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx》由会员分享,可在线阅读,更多相关《根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx(21页珍藏版)》请在冰豆网上搜索。

根据MSP430的游戏开发贪吃蛇和是男人就下一百层.docx

根据MSP430的游戏开发贪吃蛇和是男人就下一百层

uchara=0;

ucharbig=0;

ucharbig2=0;

ucharflg=0;

ucharlevelcnt=0;

uchardir_last=KEY_RIGHT;

voidtanchishe();//贪吃蛇实现函数

voidman();//是男人就下一百层实现函数

voidgamer()

{

charjt=36;

Set_Draw();

jiantou(20,jt,1);

drawpicfree(3,0,7,13,*mulu);

drawpicfree(2,15,7,28,*menutcs);

drawpicfree(2,30,4,43,*menuman);

//drawpicfree(2,45,9,58,*mubiao);

Delay(50000);

Delay(50000);

while

(1)

{

switch(key())

{case5:

if(jt>34)jt-=15;jiantou(20,jt+15,0);jiantou(20,jt,1);Delay(100000);break;

case3:

if(jt<32)jt+=15;jiantou(20,jt-15,0);jiantou(20,jt,1);Delay(100000);break;

case9:

if(jt==21)

gototcs1;

elseif(jt==36)

gotomn;

break;

//case0:

//goto;break;

}

 

}

mn:

man();

tcs1:

tanchishe();

}

 

voidtanchishe()

{intxx=0;

intyy=0;

uintspeed=22001;

Set_Drawq();

drawpicfree(0,0,15,63,*SNAKE);

track.trackend=3;

while

(1)

{

if(a)

LPM3;

uinti,j;

keypad.key=key();

//----------------------keypadcase-----------------------

switch(keypad.key)

{case11:

{if(speed>1000)speed-=1000;

elseif(speed>500)speed-=500;break;

}

case10:

speed+=1000;break;

case7:

if(flag.direction!

=KEY_LEFT)

flag.direction=KEY_RIGHT;

break;

case1:

//

if(flag.direction!

=KEY_RIGHT)

flag.direction=KEY_LEFT;

break;

case5:

if(flag.direction!

=KEY_DOWN)flag.direction=KEY_UP;break;

case3:

if(flag.direction!

=KEY_UP)flag.direction=KEY_DOWN;break;

case9:

{

//LCD_INT();

//LCD_CLR();

Set_Draw();

track.trackend=3;

bean.number=0;

xx=0;

yy=0;

flag.start=1;

flag.clear=1;

flag.direction=KEY_LEFT;

flag.gameover=0;

//speed=2000;

}

break;

case4:

if(flag.start==0)

{

//LCD_INT();

//LCD_CLR();

Set_Draw();

track.trackend=3;

bean.number=0;

xx=0;

yy=0;

flag.start=1;

flag.clear=1;

flag.direction=KEY_RIGHT;

flag.gameover=0;

//speed=2000;

}

break;

}

//---------------------------drawsnake-------------------------------------

//if(drawcnt>speed)

//{//if(flag.direction)

//drawRectangle(xx+0,yy+0,xx+3,yy+3,2,0);///////

//-----------------------------drawbeanbegin----------------------------

if(bean.number<1)

{

bean.coor[0]=rand()/1024*4;

bean.coor[1]=rand()/2048*4;

bean.number=1;

levelcnt++;

if(levelcnt==15)

{if(speed>2000)speed-=2000;

elseif(speed>500)speed-=500;

levelcnt=0;

flg=0;

WriteCom(0x01);//清屏

drawpicfree(0,0,15,63,*sj);

while(flg<8);

Set_Draw();

}

big++;

if(big==5)

big=0;

big2++;

if(big2==11)

big2=0;

}

if(flag.start)

{if(big==3)

drawRectangle(bean.coor[0]+0,bean.coor[1]+0,bean.coor[0]+3,bean.coor[1]+3,1,1);

elseif(big2==10)

drawyuan(bean.coor[0]+1,bean.coor[1]+0,bean.coor[0]+1,bean.coor[1]+3,2,1);

else

drawRectangle(bean.coor[0]+0,bean.coor[1]+0,bean.coor[0]+2,bean.coor[1]+2,1,1);

}

//------------------------------清楚头部---------------------------

switch(dir_last)

{caseKEY_RIGHT:

headright(xx,yy+0,0);

break;

caseKEY_LEFT:

headleft(xx,yy+0,0);

break;

caseKEY_UP:

headup(xx,yy,0);

break;

caseKEY_DOWN:

headdown(xx+0,yy,0);

break;

}

if(flag.direction)

{switch(flag.direction)

{caseKEY_RIGHT:

//drawRectangle(xx,yy-2,xx+7,yy+5,4,0);

shenx(xx,yy+0,1);break;

caseKEY_LEFT:

//drawRectangle(xx-4,yy-2,xx+3,yy+5,4,0);

shenx(xx,yy+0,1);break;

caseKEY_UP:

//drawRectangle(xx-2,yy-5,xx+5,yy+3,4,0);

sheny(xx+0,yy,1);break;

caseKEY_DOWN:

//drawRectangle(xx-2,yy,xx+5,yy+7,4,0);

sheny(xx+0,yy,1);break;

}}//drawsnakehead

//----------------------eatbean------------------------------------------

if(xx==bean.coor[0]&&yy==bean.coor[1])

{if(big==3)

track.trackend+=2;

elseif(big2==8)

track.trackend+=4;

elsetrack.trackend++;

bean.number--;

}

else

{

for(i=0;i

{

if(xx==track.track[i][0]&&yy==track.track[i][1]&&(xx!

=0&&yy!

=0))

{

if(flag.gameover==0)

{

Lcd_flash(500,5);

drawpicfree(0,0,15,63,*over);

flag.direction=KEY_HOLD;

flag.gameover=1;

flag.start=0;

}

}

for(j=0;j<4;j++)

{

track.track[i][j]=track.track[i+1][j];//后一节获得前一节的坐标

}

}

}

//----------------------savesnaketrack--------------------------

track.track[track.trackend-1][0]=xx+0;

track.track[track.trackend-1][1]=yy+0;

track.track[track.trackend-1][2]=xx+3;

track.track[track.trackend-1][3]=yy+3;

//}

//---------------------------------------------

//drawcnt=0;

//------------------------movesnake----------------------------

switch(flag.direction)

{

caseKEY_RIGHT:

//headright(xx+0,yy+0,0);

xx+=4;

//drawRectangle(xx,yy,xx-1,yy+3,2,0);

headright(xx,yy+0,1);

break;

caseKEY_LEFT:

//headleft(xx+4,yy+0,0);

xx-=4;

//drawRectangle(xx+4,yy,xx+7,yy+3,2,0);

headleft(xx,yy+0,1);

break;

caseKEY_UP:

//headup(xx,yy,0);

yy-=4;

//drawRectangle(xx,yy+4,xx+3,yy+7,2,0);

headup(xx,yy,1);

break;

caseKEY_DOWN:

yy+=4;

//drawRectangle(xx,yy-4,xx+3,yy-1,2,0);

headdown(xx+0,yy,1);

break;

}

//------------------------------drawbeanend----------------------------------------

if(track.track[0][0]||track.track[0][1]||track.track[0][2]||track.track[0][3])

{

if(flag.direction)

{drawRectangle(track.track[0][0],track.track[0][1],track.track[0][2],track.track[0][3],2,0);

if(big!

=4&&big2!

=9)

{

drawRectangle(track.track[1][0],track.track[1][1],track.track[1][2],track.track[1][3],2,0);

if(track.track[1][0]==track.track[2][0]+4)

{//shenx(track.track[1][0],track.track[1][1],0);

tailleft(track.track[1][0],track.track[1][1],1);

//drawRectangle(track.track[0][0]+3,track.track[0][1],track.track[0][2]+3,track.track[0][3],2,0);

}

elseif(track.track[2][0]==track.track[1][0]+4)

{//shenx(track.track[1][0],track.track[1][1],0);

tailright(track.track[1][0],track.track[1][1],1);

//tailright(track.track[0][0],track.track[0][1],0);

}

elseif(track.track[1][1]==track.track[2][1]+4)

{//sheny(track.track[1][0],track.track[1][1],0);

tailup(track.track[1][0],track.track[1][1],1);

//tailup(track.track[0][0],track.track[0][1],0);

}

elseif(track.track[2][1]==track.track[1][1]+4)

{//sheny(track.track[1][0],track.track[1][1],0);

taildown(track.track[1][0],track.track[1][1],1);

//taildown(track.track[0][0],track.track[0][1],0);

}//clearn(track.track[0][0],track.track[0][1],track.track[0][2],track.track[0][3],0);

}

}

}

//clearsnaketail

if(xx==128)xx=0;

if(yy==64)yy=0;

if(flag.direction==KEY_LEFT&&xx==-4)xx=124;

if(flag.direction==KEY_UP&&yy==-4)yy=60;

//if(xx==252)xx=124;

//if(yy==252)yy=60;

if(flag.start==0)flag.direction=KEY_HOLD;

if(flag.clear==1)

{

LCD_CLR();

flag.clear=0;

}

dir_last=flag.direction;

Delay(speed);

}

}

//***********************是男人就下一百层******************************

//*****************************2010.11.5******************************

//*******************************byone************************************

//******************************v0.1beta**********************************

voidman()

{ucharguanstart=1;

DCOCTL|=0X60;

ucharmannum=1;

ucharlife=5;

uchari=0;

ucharscocnt=0;

ucharguan=0;

uintguancnt=0;

uintcnt=0;

uintscore=0;

charxx=0,yy=0;

uintsban=3,sdown=2;

Set_Drawq();

ban.number=2;

drawpicfree(0,0,15,63,*manface);

while

(1)

{

if(a)

LPM3;

keypad.key=key();

//**********************************keypadcase************************************

switch(keypad.key)

{case11:

if(sban>5)speed-=1;

break;

case10:

sban+=1;break;

//***************************************startgame*************************************one

case9:

if(flag.start==0)

{

Set_Draw();

score=0;

guan=1;

xx=50;

yy=0;

flag.start=1;

flag.clear=1;

flag.gameover=0;

ban.number=2;

ban.coor[1][0]=rand()%46+33;

;

ban.coor[2][0]=rand()%46+33;

ban.coor[1][1]=40;

ban.coor[2][1]=20;

drawRectangle(ban.coor[1][0]+0,ban.coor[1][1],ban.coor[1][0]+16,ban.coor[1][1]+2,1,1);

drawRectangle(ban.coor[2][0]+0,ban.coor[2][1],ban.coor[2][0]+16,ban.coor[2][1]+2,1,1);

drawman(xx,yy,1);}

WriteCom(0x01);

drawpicfree(0,0,15,63,*manui);

drawpicfree(0,18,3,25,*clearnmin);

drawnum2(14,18,guan,1);

break;

}

//************************************************************************************

//*******************************************过关重画**********************************

if(guanstart==0)

{

//Set_Draw();

//score=0;

//guan=1;

xx=50;

yy=0;

guanstart=1;

//flag.clear=1;

//flag.gameover=0;

ban.number=2;

ban.coor[1][0]=rand()%46+33;

;

ban.coor[2][0]=rand()%46+33;

ban.coor[1][1]=40;

ban.coor[2][1]=20;

drawRectangle(ban.coor[1][0]+0,ban.coor[1][1],ban.coor[1][0]+16,ban.coor[1][1]+2,1,1);

drawRectangle(ban.coor[2][0]+0,ban.coor[2][1],ban.coor[2][0]+16,ban.coor[2][1]+2,1,1);

drawman(xx,yy,1);

WriteCom(0x01);

drawpicfree(0,0,15,63,*manui);

drawpicfree(0,18,3,25,*clearnmin);

drawnum2(14,18,guan,1);

}

//********************************************************************************

//-----------------------------drawbanbegin----------------------------

if(mannum<1)

{xx=rand()%56+33;

yy=4;

drawman(xx,yy,1);

mannum=1;

}

if(ban.number<3)

{

ban.coor[0][0]=rand()%46+33;

ban.coor[0][1]=62;

ban.number=3;

drawRectangle(ban.coor[0][0]+0,ban.coor[0][1],ban.coor[0][0]+16,ban.coor[0][1]+2,1,1);

}

/*big++;

if(big==15)

big=0;

big2++;

if(big2==35)

big2=0;*/

 

//**************************人走动**********************one

switch(keypad.key)

{case1:

if(xx>33)

{drawman(xx,yy,0);

xx-=2;

drawman(xx,yy,1);

}

break;

/*if((yy==ban.coor[0][1]-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1