文档详情

聂玉宽《拼图游戏》.doc

发布:2017-03-28约2.62千字共14页下载文档
文本预览下载声明
一、题目描述二、分析三、系统设计 1程序总体结构 图2 拼图的总体结构图 2.界面设计 图3 拼图游戏的界面 图4 拼图游戏的界面 图5 拼图游戏的界面 3.设计.重要数据的数据结构设计int matrix[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int inspect(int matrix[3][3])//判断成功 5.函数设计 文件中函数的功能如下: 文件名函数原型函数功能函数处理描述location(int) 计算位置 判断是否为可移动模块 inspect(int) 检查成功与否 检验是否完成游戏 四、、经过一个星期的上机实践学习,我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。 通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。功能说明#includestdio.h #includetime.h #includestdlib.h void main() { void print(int matrix[3][3]); //打印拼图 int location(int number,int matrix[3][3]); //计算位置 int inspect(int matrix[3][3]); //检查成功没 int i,temp,n,place,ninePlace,suffix1,suffix2,suffix3,suffix4; int matrix[3][3]={{1,2,3},{4,5,6},{7,8,9}}; srand((unsigned)time(NULL)); //把时间设为随机数种子 for(i=0;i10;i++) //循环十次随机打乱矩阵里面的数 { suffix1=rand()%3; suffix2=rand()%3; suffix3=rand()%3; suffix4=rand()%3; temp=matrix[suffix1][suffix2]; matrix[suffix1][suffix2]=matrix[suffix3][suffix4]; matrix[suffix3][suffix4]=temp; } printf(拼图游戏,有空位才能移动\n); print(matrix); while(inspect(matrix)) { printf(移动的数:); scanf(%d,n); place=location(n,matrix); //移动数的位置 ninePlace=location(9,matrix); //9的位置 if((place-ninePlace==1||place-ninePlace==-1||place-ninePlace==3||place-ninePlace==-3) !((place==3||place==4)(ninePlace==3||ninePlace==4)) !((place==6||place==7)(ninePlace==6||ninePlace==7))) //这个条件判断能不能移动 { //能移动就交换 temp=matrix[place/3][place-place/3*3-1];//根据位置知道下标 matrix[place/3][place-place/3*3-1]=matrix[ninePlace/3][ninePlace-ninePlace/3*3-1]; matrix[ninePlace/3][ninePlace-ninePlace/3*3-1]=temp; print(matrix); }else { printf(不能交换\n); } } printf(恭喜!您成功了!); scanf(%d,n); } int location(int number,int matrix[3][3]) //查找位置 { int j,k; for(j=0;j3;j++) { for(k=0;k3;k++) { if(matrix[j][k]==number) return j
显示全部
相似文档