下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> int step=0; voID map()//游戏菜单函数。 { printf("▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n"); printf("█ 拼 图 游 戏 █\n"); printf("█ 1. 3×3 █\n"); printf("█ 2. 4×4 █\n"); printf("█ 3. 5×5 █\n"); printf("█ 4. 退出 █\n"); printf("▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n"); } voID fun(int *a,int t,int m,int r) { int i; int g; for(i=0;i<m;i++) { if(i%r==(r-1)&&(i+t)%r==0)//让数组不能跨行转换。 continue; if(i%r==0&&(i+t)%r==(r-1)) continue; if(a[i+t]==0 && (i+t)>=0 && (i+t)<m) { g=a[i]; a[i]=a[i+t]; a[i+t]=g; step++; return ; } } } voID move(int *a,int r) {//上下左右移动函数。 char ch; int i,j; while(ch=getch()) { system("cls"); if(ch=='w') { i=-r; fun(a,i,m,r); } else if(ch=='s') { i=r; fun(a,r); } else if(ch=='a') { i=-1; fun(a,r); } else if(ch=='d') { i=1; fun(a,r); } else if(ch=='4') { printf("您已退出游戏,请下次再玩!\n"); exit(0); } for(i=0;i<m;i++) { if(a[i]==0) printf(" "); else printf("%2d ",a[i]); if((i+1)%r==0) putchar(10); } printf("共走:%d步!\n",step); } } voID map_x(int m,int r) { int i=1,j,a[25],n; srand(time(NulL)); printf("拼图游戏开始了:\n"); while(i<m) { n=1+rand()%(m-1); for(j=1;j<i;j++) { if(n==a[j]) break; } if(j==i) { a[i]=n; i++; } } a[0]=0; for(i=0;i<m;i++) { if(a[i]==0) printf(" "); else printf("%2d ",a[i]); if((i+1)%r==0) putchar(10); } printf("共走:%d步!\n",step); move(a,r); } int main() { int i,n; char ch; map();//显示菜单。 printf("请选择所玩游戏的级别:\n"); ch=getch(); while(ch!='1' && ch!='2' && ch!='3' &&ch!='4') { printf("输入有误,请重新输入:\n"); ch=getch(); } switch(ch) { case '1': map_x(9,3); break; case '2': map_x(16,4); break; case '3': map_x(25,5); break; case '4': printf("您已退出游戏,请下次再玩!\n"); exit(0); break; } return 0; } //对于确定的循环一般用for;而不确定的循环则用while.
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的纯C语言写的拼图游戏源码全部内容,希望文章能够帮你解决纯C语言写的拼图游戏源码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)