可视化大作业(3)

2019-03-03 21:22

武汉理工大学《可视化编程》课程设计说明书

3.9贪吃蛇的前行中的具体的算法和判断.

void CSnakeView::OnTimer(UINT nIDEvent) {

// TODO: Add your message handler code here and/or call default CDC *pDC=GetDC(); CString soure;

if(Snake[0].len==2)SetTimer(1,370,NULL); if(Snake[0].len==3)SetTimer(1,270,NULL); if(Snake[0].len==6)SetTimer(1,200,NULL); if(Snake[0].len==9)SetTimer(1,100,NULL);

soure.Format(\得分:%d!\ //撞界判断

if(Snake[0].x*20<=37||Snake[0].y*20<=37||Snake[0].x*20>=462||Snake[0].y*20>=462) { }

//蛇身相撞判断 if(Snake[0].len>3)

for(int sn=Snake[0].len-1;sn>0;sn--) {

11

KillTimer(1);

AfxMessageBox(soure); // s=0;

武汉理工大学《可视化编程》课程设计说明书

if(Snake[0].x*20==Snake[sn].x*20&&Snake[0].y*20==Snake[sn].y*20)

///////////////////////////////////////////////////////////////////////////

pDC->Rectangle(Snake[Snake[0].len-1].x*20,Snake[Snake[0].len-1].y*20,(Snake[Snake[0].len-1].x+1)*20,(Snake[Snake[0].len-1].y+1)*20);

12

}

{ }

KillTimer(1);

AfxMessageBox(soure); // s=0;

pDC->SelectStockObject(WHITE_PEN);

for(int i=Snake[0].len-1;i>0;i--) { }

//行走方向判断

if(Snake[0].direct==1)Snake[0].y--; if(Snake[0].direct==2)Snake[0].y++; if(Snake[0].direct==3)Snake[0].x--; if(Snake[0].direct==4)Snake[0].x++; pDC->SelectStockObject(BLACK_PEN);

CBrush DrawBrush=(RGB(100,100,100));

CBrush *Drawbrush=pDC->SelectObject(&DrawBrush);

Snake[i].x=Snake[i-1].x; Snake[i].y=Snake[i-1].y;

武汉理工大学《可视化编程》课程设计说明书

pDC->Rectangle(Snake[0].x*20,Snake[0].y*20,(Snake[0].x+1)*20,(Snake[0].y+1)*20);

pDC->SelectObject(DrawBrush);

//判断吃豆的条件,撞到就吃

if(Snake[0].x*20==Food.x*20&&Snake[0].y*20==Food.y*20) { }

//如果食物被吃了 就生成 if(Food.isfood==1) {

srand((unsigned)time(NULL)); do {

for(int isfo=Snake[0].len-1;isfo>=0;isfo--) Snake[0].len++; Food.isfood=1;

Snake[Snake[0].len-1].x=Snake[Snake[0].len-2].x; Snake[Snake[0].len-1].y=Snake[Snake[0].len-2].y;

if(Snake[0].x*20==Snake[isfo].x*20&&Snake[0].y*20==Snake[isfo].y*20)

while(Food.x*20<70||Food.y*20<70||Food.x*20>430||Food.y*20>430);

13

}

{ }

Food.x=rand()%; Food.y=rand()%;

武汉理工大学《可视化编程》课程设计说明书

pDC->Rectangle(Food.x*20,Food.y*20,(Food.x+1)*20,(Food.y+1)*20);

CView::OnTimer(nIDEvent); }

Food.isfood=0;

}

14

武汉理工大学《可视化编程》课程设计说明书

4.游戏运行的界面及相关的截图

15


可视化大作业(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:量子力学典型题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: