基于MSP430的游戏开发.docx

上传人:b****6 文档编号:16077418 上传时间:2023-07-10 格式:DOCX 页数:24 大小:17.61KB
下载 相关 举报
基于MSP430的游戏开发.docx_第1页
第1页 / 共24页
基于MSP430的游戏开发.docx_第2页
第2页 / 共24页
基于MSP430的游戏开发.docx_第3页
第3页 / 共24页
基于MSP430的游戏开发.docx_第4页
第4页 / 共24页
基于MSP430的游戏开发.docx_第5页
第5页 / 共24页
基于MSP430的游戏开发.docx_第6页
第6页 / 共24页
基于MSP430的游戏开发.docx_第7页
第7页 / 共24页
基于MSP430的游戏开发.docx_第8页
第8页 / 共24页
基于MSP430的游戏开发.docx_第9页
第9页 / 共24页
基于MSP430的游戏开发.docx_第10页
第10页 / 共24页
基于MSP430的游戏开发.docx_第11页
第11页 / 共24页
基于MSP430的游戏开发.docx_第12页
第12页 / 共24页
基于MSP430的游戏开发.docx_第13页
第13页 / 共24页
基于MSP430的游戏开发.docx_第14页
第14页 / 共24页
基于MSP430的游戏开发.docx_第15页
第15页 / 共24页
基于MSP430的游戏开发.docx_第16页
第16页 / 共24页
基于MSP430的游戏开发.docx_第17页
第17页 / 共24页
基于MSP430的游戏开发.docx_第18页
第18页 / 共24页
基于MSP430的游戏开发.docx_第19页
第19页 / 共24页
基于MSP430的游戏开发.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于MSP430的游戏开发.docx

《基于MSP430的游戏开发.docx》由会员分享,可在线阅读,更多相关《基于MSP430的游戏开发.docx(24页珍藏版)》请在冰点文库上搜索。

基于MSP430的游戏开发.docx

基于MSP430的游戏开发

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);

=3;

while

(1)

{

if(a)

LPM3;

uinti,j;

=key();

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

switch

{case11:

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

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

}

case10:

speed+=1000;break;

case7:

if!

=KEY_LEFT)

=KEY_RIGHT;

break;

case1:

//

if!

=KEY_RIGHT)

=KEY_LEFT;

break;

case5:

if!

=KEY_DOWN)=KEY_UP;break;

case3:

if!

=KEY_UP)=KEY_DOWN;break;

case9:

{

//LCD_INT();

//LCD_CLR();

Set_Draw();

=3;

=0;

xx=0;

yy=0;

=1;

=1;

=KEY_LEFT;

=0;

//speed=2000;

}

break;

case4:

if==0)

{

//LCD_INT();

//LCD_CLR();

Set_Draw();

=3;

=0;

xx=0;

yy=0;

=1;

=1;

=KEY_RIGHT;

=0;

//speed=2000;

}

break;

}

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

//if(drawcnt>speed)

//{//if

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

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

if<1)

{

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

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

=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

{if(big==3)

drawRectangle[0]+0,[1]+0,[0]+3,[1]+3,1,1);

elseif(big2==10)

drawyuan[0]+1,[1]+0,[0]+1,[1]+3,2,1);

else

drawRectangle[0]+0,[1]+0,[0]+2,[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

{switch

{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==[0]&&yy==[1])

{if(big==3)

+=2;

elseif(big2==8)

+=4;

else++;

;

}

else

{

for(i=0;i<;i++)

{

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

=0&&yy!

=0))

{

if==0)

{

Lcd_flash(500,5);

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

=KEY_HOLD;

=1;

=0;

}

}

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

{

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

}

}

}

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

[][0]=xx+0;

[][1]=yy+0;

[][2]=xx+3;

[][3]=yy+3;

//}

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

//drawcnt=0;

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

switch

{

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[0][0]||[0][1]||[0][2]||[0][3])

{

if

{drawRectangle[0][0],[0][1],[0][2],[0][3],2,0);

if(big!

=4&&big2!

=9)

{

drawRectangle[1][0],[1][1],[1][2],[1][3],2,0);

if[1][0]==[2][0]+4)

{//shenx[1][0],[1][1],0);

tailleft[1][0],[1][1],1);

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

}

elseif[2][0]==[1][0]+4)

{//shenx[1][0],[1][1],0);

tailright[1][0],[1][1],1);

//tailright[0][0],[0][1],0);

}

elseif[1][1]==[2][1]+4)

{//sheny[1][0],[1][1],0);

tailup[1][0],[1][1],1);

//tailup[0][0],[0][1],0);

}

elseif[2][1]==[1][1]+4)

{//sheny[1][0],[1][1],0);

taildown[1][0],[1][1],1);

//taildown[0][0],[0][1],0);

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

}

}

}

//clearsnaketail

if(xx==128)xx=0;

if(yy==64)yy=0;

if==KEY_LEFT&&xx==-4)xx=124;

if==KEY_UP&&yy==-4)yy=60;

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

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

if==0)=KEY_HOLD;

if==1)

{

LCD_CLR();

=0;

}

dir_last=;

Delay(speed);

}

}

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

//*****************************one************************************

//******************************beta**********************************

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();

=2;

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

while

(1)

{

if(a)

LPM3;

=key();

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

switch

{case11:

if(sban>5)speed-=1;

break;

case10:

sban+=1;break;

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

case9:

if==0)

{

Set_Draw();

score=0;

guan=1;

xx=50;

yy=0;

=1;

=1;

=0;

=2;

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

;

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

[1][1]=40;

[2][1]=20;

drawRectangle[1][0]+0,[1][1],[1][0]+16,[1][1]+2,1,1);

drawRectangle[2][0]+0,[2][1],[2][0]+16,[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;

//=1;

//=0;

=2;

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

;

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

[1][1]=40;

[2][1]=20;

drawRectangle[1][0]+0,[1][1],[1][0]+16,[1][1]+2,1,1);

drawRectangle[2][0]+0,[2][1],[2][0]+16,[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<3)

{

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

[0][1]=62;

=3;

drawRectangle[0][0]+0,[0][1],[0][0]+16,[0][1]+2,1,1);

}

/*big++;

if(big==15)

big=0;

big2++;

if(big2==35)

big2=0;*/

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

switch

{case1:

if(xx>33)

{drawman(xx,yy,0);

xx-=2;

drawman(xx,yy,1);

}

break;

/*if((yy==[0][1]-1&&xx>=[0][0]&&xx<=[0][0]+16)||(yy==[1][1]-1&&xx>=[1][0]&&xx<=[1][0]+16)||(yy==[2][1]-1&&xx>=[2][0]&&xx<=[2]

for(i=0;i<3;i++)

{if(yy==[i][1]-4)

if(xx>=[i][0])

if(xx<=[i][0]+16)

{drawman(xx,yy,0);

xx-=2;

drawman(xx,yy,1);

gotofang1;break;

}

}

drawman(xx,yy,0);

xx-=2;

drawman(xx,yy,1);

}break;

fang1:

*/

case7:

if(xx<94)

{drawman(xx,yy,0);

xx+=2;

drawman(xx,yy,1);

}

break;}

/*

if((yy==[0][1]-1&&xx>=[0][0]&&xx<=[0][0]+16)||(yy==[1][1]-1&&xx>=[1][0]&&xx<=[1][0]+16)||(yy==[2][1]-1&&xx>=[2][0]&&xx<=[2]

//[0]+16))

{for(i=0;i<3;i++)

{if(yy==[i][1]-4)

if(xx>=[i][0])

if(xx<=[i][0]+16)

{drawman(xx,yy,0);

xx+=2;

drawman(xx,yy,1);

gotofang2;break;

}

}

drawman(xx,yy,0);

xx+=2;

drawman(xx,yy,1);

}

break;

}

fang2:

*/

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

//******************************************down*************************one

for(i=0;i<3;i++)

{if(yy==[i][1]-6)

if(xx>=[i][0])

if(xx<=[i][0]+16)

//if((yy==[0][1]-1&&xx>=[0][0]&&xx<=[0][0]+16)||(yy==[1][1]-1&&xx>=[1][0]&&xx<=[1][0]+16)||(yy==[2][1]-1&&xx>=[2][0]&&xx<=

{drawman(xx,yy+2,0);

yy=[i][1]-6;gotoa1;

}if(i==2)

{//if(cnt%sdown==1)

drawman(xx,yy,0);yy+=2;

}

}

a1:

drawman(xx,yy,1);

cnt++;

if(cnt==1000)

cnt=0;

if(cnt%sban==1)

{for(i=0;i<3;i++)

drawRectangle[i][0]+0,[i][1],[i][0]+16,[i][1]+2,1,0);

//if(cnt%sban==1)

for(i=0;i<3;i++)

{[i][1]-=2;

drawRectangle[i][0]+0,[i][1],[i][0]+16,[i][1]+2,1,1);

}

for(i=0;i<3;i++)

{if(yy==[i][1]-4)

if(xx>=[i][0])

if(xx<=[i][0]+16)

yy=[i][1]-6;

}

}

//{if(cnt%sdown==1)

//yy+=2;}

//[2][0]+16))

{//if(cnt%sban==1)

//yy+=2;

}

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

/********************************cleananddrawban******************************

for(i=0;i<3;i++)

{

drawRectangle[i][0]+0,[i][1]-2,[i][0]+16,[i][1],1,1);

}

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

//**

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2