扫雷程序-地雷位置生成
2012-04-09 07:00
267 查看
//过会儿再编辑得简洁点。 #include<stdio.h> #include<stdlib.h> #include<time.h> #define nMine 10 // Number of mines #define nRow 10 #define nCol 8 // "Mines" or "Not Mines" are marked by numbers. // 9 for mines, // and other numbers from 0 to 8 stands ... // for the number of the 8 surrownding locations. int main(void) { int MineLoc1D[nMine]={0}; int MineLoc2D[nRow+2][nCol+2]={0}; srand(time(NULL)); for(int p=0;p<nMine;p++) { MineLoc1D[p]=rand()%(nRow*nCol); // 1D // Avoid overlap for(int t=0;t<p;t++) { if(MineLoc1D[p]==MineLoc1D[t]) { p--; } } } for(int i=0;i<nMine;i++) { int tempR=0,tempC=0; // Converted to 2D tempR=(MineLoc1D[i]-1)/nCol; tempC=(MineLoc1D[i]-1)%nCol; // printf("%d,%d,%d\t",MineLoc1D[i],tempR,tempC); // Avoid an "edge" mine. MineLoc2D[tempR+1][tempC+1]=9; // Set as 'Mine's. // "Squares" of this vector are abandon. // To be modificated here. if(MineLoc2D[tempR][tempC]<9) ++MineLoc2D[tempR][tempC]; if(MineLoc2D[tempR][tempC+1]<9) ++MineLoc2D[tempR][tempC+1]; if(MineLoc2D[tempR][tempC+2]<9) ++MineLoc2D[tempR][tempC+2]; if(MineLoc2D[tempR+1][tempC]<9) ++MineLoc2D[tempR+1][tempC]; if(MineLoc2D[tempR+1][tempC+2]<9) ++MineLoc2D[tempR+1][tempC+2]; if(MineLoc2D[tempR+2][tempC]<9) ++MineLoc2D[tempR+2][tempC]; if(MineLoc2D[tempR+2][tempC+1]<9) ++MineLoc2D[tempR+2][tempC+1]; if(MineLoc2D[tempR+2][tempC+2]<9) ++MineLoc2D[tempR+2][tempC+2]; } for(int k=0;k<nRow+2;k++) { for(int j=0;j<nCol+2;j++) { printf("%d\t",MineLoc2D[k][j]); } printf("\n\n\n"); } // for(int j=0;j<nMine;j++) printf("%d\t",MineLoc1D[j]); system("PAUSE"); return 0; }
相关文章推荐
- 扫雷程序-地雷位置生成(类库版)2
- 扫雷程序-地雷位置生成(类库版)
- 扫雷程序-地雷位置生成(类库版)3
- MFC中修改dockpane的位置生成的程序却没有生效的问题解决
- 设置C++崩溃时生成Dump文件,重现程序崩溃位置等信息
- 编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的“随机步法”。程序必须随机地从一个元素“走到”另一个元素,每次都向上、向下、向左或向右移动一个元素位置
- MFC中修改dockpane的位置生成的程序却没有生效的问题解决
- c++程序崩溃生成dump文件确定错误位置方法
- c++程序崩溃生成dump文件确定错误位置方法
- Android程序调用本机googlemap,传递起始和终点位置,生成路线图
- 扫雷游戏制作全过程01 地雷生成及表示
- Visual Studio环境下生成dump文件及利用dump文件定位程序出错位置
- vc release错误追踪位置,程序不弹错直接退出,后生成日志文件。
- [OpenGL]课后案例05:生成正方形的程序
- 关于生成位图的程序
- SOE程序集在更换电脑后无法生成.soe
- Java程序生成exe可执行文件
- android基站定位程序获取地理位置
- 调用JNI的程序 生成JAR包后的部署问题
- GO语言学习笔记(一)一些基础常识以及实现生成随机密码小程序