郭小郭的专栏

#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 m,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,i,m,r);}else if(ch=='a'){i=-1;fun(a,i,m,r);}else if(ch=='d'){i=1;fun(a,i,m,r);}else if(ch=='4'){printf("您已退出游戏,请下次再玩!\n");exit(0);}for(i=0;i<m;i++){if(a[i]==0)printf(" ");elseprintf("%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(" ");elseprintf("%2d ",a[i]);if((i+1)%r==0)putchar(10);}printf("共走:%d步!\n",step);move(a,m,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; }

,享受每一刻的感觉,欣赏每一处的风景,这就是人生。

郭小郭的专栏

相关文章:

你感兴趣的文章:

标签云: