扫雷课程设计报告 -(4)

2025-07-27

gezi2d(320+(j-1-m/2)*d,240+(i-1-n/2)*d,d); if(a[i][j]>0) {

shownum(320+(j-1-m/2)*d,240+(i-1-n/2)*d,d,a[i][j]); }

}

else drawlei(320+(j-1-m/2)*d,240+(i-1-n/2)*d,d,a[i][j]);

if(b[i][j]==-1)showflag(320+(j-1-m/2)*d,240+(i-1-n/2)*d,d);

if(b[i][j]==2)shownum(320+(j-1-m/2)*d,240+(i-1-n/2)*d,d,0); }

gbx=320+(ii-1-m/2)*d; gby=240+(jj-1-n/2)*d; drawGB(gbx,gby,d); } /*

随机布雷(randlei)函数用于随机布雷,且计算每个各自周围雷的个数

Int m : 横向各自的数量 要求是双数 Int n : 纵向格子的数量 要求是双数 Int num : 雷的个数 */

randlei(int m,int n,int num) {

int i,j,xx,yy,sum=0,t; srand(time(NULL)); do {

t=random(m*n); xx=t/m+1; yy=t%m+1; if(a[xx][yy]==0) {

a[xx][yy]=-1; sum++; }

}while(sum

if(a[i][j]!=-1) {

if(a[i-1][j-1]==-1)a[i][j]++; if(a[i-1][j]==-1)a[i][j]++; if(a[i-1][j+1]==-1)a[i][j]++; if(a[i][j-1]==-1)a[i][j]++; if(a[i][j+1]==-1)a[i][j]++; if(a[i+1][j-1]==-1)a[i][j]++; if(a[i+1][j]==-1)a[i][j]++; if(a[i+1][j+1]==-1)a[i][j]++; } } }

wangge(int m,int n,int d) {

int i,j;

setcolor(7); /*网格区域填充浅灰色底色*/ setfillstyle(1,7);

bar(320-m/2*d,240-n/2*d,320+m/2*d,240+n/2*d); setcolor(15);

for(i=320-m/2*d;i<320+m/2*d;i=i+d) /*小格子起点的横坐标序

列*/

for(j=240-n/2*d;j<240+n/2*d;j=j+d) /*小格子起点的纵坐标序列*/

;/* gezi3d(i,j,d); */ /*绘制一个立体效果的小格子*/ } /*

画雷(drawlei)函数用于绘制给定坐标位置的雷 雷画在格子的正中心

Int x : 雷所在格子左上角点横坐标 Int y : 雷所在格子左上角点纵坐标 Int d : 格子间的间距 */

drawlei(int x,int y,int d) { int r;

setcolor(0); /*雷颜色为黑色*/ for(r=d/4;r>0;r--)

circle(x+d/2,y+d/2,r); /*画多个小园形成雷外壳*/ line(x+d/2,y+3,x+d/2,y+d-3); /*画雷外壳上的刺*/ line(x+3,y+d/2,x+d-3,y+d/2); line(x+5,y+5,x+d-5,y+d-5); line(x+5,y+d-5,x+d-5,y+5);

} /*

显示数字(shownum)函数用于显示给定坐标位置的数字 数字显示在格子的正中心

lnt x : 数字所在格子左上角点横坐标 lnt y : 数字所在格子左上角点纵坐标 int d : 格子间的间距 int n : 要显示的数字 */

shownum(int x,int y,int d,int n) {

setcolor(0+n); /*数字颜色为黑色*/ settextstyle(SMALL_FONT,HORIZ_DIR,0); outtextxy(x+0.3*d,y+0.4*d,num[n]); } /*

显示旗子(showflag)函数用于显示给定坐标位置的标志为雷的小红旗

int x : 旗子所在格子左上角点横坐标 int y : 旗子所在格子左上角点纵坐标 int d : 格子间的间距 */


扫雷课程设计报告&nbsp;-(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:家庭教育先进工作者事迹材料

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

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