教你如何使用C语言编写简单小游戏(如何制作简单游戏,关键词优化)

时间:2024-04-28 20:49:17 作者 : 石家庄SEO 分类 : 关键词优化
  • TAG :

    %E6%95%99%E4%BD%A0%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99%E7%AE%80%E5%8D%95%E5%B0%8F%E6%B8%B8%E6%88%8F

//声明#include<stdio.h>#include<stdlib.h>#include<time.h>#include<conio.h>#include<windows.h>#define SIZE 4static int score=0;void putn(int n[][SIZE]);void getn(int n[][SIZE]);int isempty(int n[][SIZE]);int isfull(int n[][SIZE]);void math(int n[][SIZE],char c);void tow(int n[][SIZE]);void toa(int n[][SIZE]);void tos(int n[][SIZE]);void tod(int n[][SIZE]);//主函数int main(){ int i,j; int n[SIZE][SIZE]; char c=' '; for(i=0;i<SIZE;i++) { for(j=0;j<SIZE;j++) { n[i][j]=0; } } printf( "\n" " 2048(%dX%d) \n" " control:W/A/S/D \n" "press any key to begin \n" "\n",SIZE,SIZE); getch(); system("cls"); //n[0][1]=2048; //n[0][3]=2048; while(1) { if(isempty(n)) getn(n); putn(n); if(!isempty(n)&&isfull(n)) break; sleep(200); c=getch(); while(c!='w'&&c!='a'&&c!='s'&&c!='d') c=getch(); math(n,c); system("cls"); } printf(" Game Over!\n",score); return 0;}//函数void putn(int n[][SIZE]){ int i,j; for(i=0;i<SIZE;i++) { for(j=0;j<SIZE;j++) printf("| "); printf("|\n"); for(j=0;j<SIZE;j++) { if(n[i][j]==0) printf("| "); else printf("|%4d ",n[i][j]); } printf("|\n"); for(j=0;j<SIZE;j++) printf("|_____"); printf("|\n"); } printf("score: %d",score);}void getn(int n[][SIZE]){ int a,b; a=rand()%SIZE; b=rand()%SIZE; while(n[a][b]!=0) { a=rand()%SIZE; b=rand()%SIZE; } n[a][b]=2;}int isempty(int n[][SIZE]){ int i,j,count=0; for(i=0;i<SIZE;i++) for(j=0;j<SIZE;j++) if(n[i][j]==0) count++; return count;}int isfull(int n[][SIZE]){ int i,j,count=0; for(i=0;i<SIZE;i++) { for(j=1;j<SIZE-1;j++) { if(n[i][j]==n[i][j+1]||n[i][j]==n[i][j-1]) count++; } } for(j=0;j<SIZE;j++) { for(i=1;i<SIZE-1;i++) { if(n[i][j]==n[i+1][j]||n[i][j]==n[i-1][j]) count++; } } return count>0?0:1;}void math(int n[][SIZE],char c){ switch(c) { case 'w':tow(n);break; case 'a':toa(n);break; case 's':tos(n);break; case 'd':tod(n);break; default :; }}void tow(int n[][SIZE]){ int i,j,a; int m[SIZE]; for(a=0;a<SIZE;a++) m[a]=0;for(j=0;j<SIZE;j++){ for(a=0;a<SIZE;a++) { for(i=0;i<SIZE-1;i++) { if(n[i][j]==0) { n[i][j]=n[i+1][j]; n[i+1][j]=0; } } }}for(j=0;j<SIZE;j++){ for(a=0,i=0;i<SIZE;i++) { if(n[i][j]!=n[i+1][j]&&n[i][j]!=0||n[i][j]==2048) { m[a++]=n[i][j]; n[i][j]=0; } else if(n[i][j]==n[i+1][j]) { m[a++]=n[i][j]+n[i+1][j]; score+=m[a-1]; n[i][j]=0,n[i+1][j]=0; } } for(i=0;i<SIZE;i++) { n[i][j]=m[i]; m[i]=0; }}}void toa(int n[][SIZE]){ int i,j,a; int m[SIZE]; for(a=0;a<SIZE;a++) m[a]=0;for(i=0;i<SIZE;i++){ for(a=0;a<SIZE;a++) { for(j=0;j<SIZE-1;j++) { if(n[i][j]==0) { n[i][j]=n[i][j+1]; n[i][j+1]=0; } } }}for(i=0;i<SIZE;i++){ for(a=0,j=0;j<SIZE;j++) { if(n[i][j]!=n[i][j+1]&&n[i][j]!=0||n[i][j]==2048) { m[a++]=n[i][j]; n[i][j]=0; } else if(n[i][j]==n[i][j+1]) { m[a++]=n[i][j]+n[i][j+1]; score+=m[a-1]; n[i][j]=0,n[i][j+1]=0; } } for(j=0;j<SIZE;j++) { n[i][j]=m[j]; m[j]=0; }}}void tos(int n[][SIZE]){ int i,j,a; int m[SIZE]; for(a=0;a<SIZE;a++) m[a]=0;for(j=SIZE-1;j>=0;j--){ for(a=SIZE-1;a>=0;a--) { for(i=SIZE-1;i>0;i--) { if(n[i][j]==0) { n[i][j]=n[i-1][j]; n[i-1][j]=0; } } }}for(j=SIZE-1;j>=0;j--){ for(a=SIZE-1,i=SIZE-1;i>=0;i--) { if(n[i][j]!=n[i-1][j]&&n[i][j]!=0||n[i][j]==2048) { m[a--]=n[i][j]; n[i][j]=0; } else if(n[i][j]==n[i-1][j]) { m[a--]=n[i][j]+n[i-1][j]; score+=m[a+1]; n[i][j]=0,n[i-1][j]=0; } } for(i=SIZE-1;i>=0;i--) { n[i][j]=m[i]; m[i]=0; }}}void tod(int n[][SIZE]){ int i,j,a; int m[SIZE]; for(a=0;a<SIZE;a++) m[a]=0;for(i=SIZE-1;i>=0;i--){ for(a=SIZE-1;a>=0;a--) { for(j=SIZE-1;j>0;j--) { if(n[i][j]==0) { n[i][j]=n[i][j-1]; n[i][j-1]=0; } } }}for(i=SIZE-1;i>=0;i--){ for(a=SIZE-1,j=SIZE-1;j>=0;j--) { if(n[i][j]!=n[i][j-1]&&n[i][j]!=0||n[i][j]==2048) { m[a--]=n[i][j]; n[i][j]=0; } else if(n[i][j]==n[i][j-1]) { m[a--]=n[i][j]+n[i][j-1]; score+=m[a+1]; n[i][j]=0,n[i][j-1]=0; } } for(j=SIZE-1;j>=0;j--) { n[i][j]=m[j]; m[j]=0; }}}需要注意的是:srand((unsigned) time(0);rand();是固定形式,不要更改任何一个字符!如果不能编译,请把sleep(200);注释掉,如果提示不能找到system("cls");请把system("cls")更换为clrscr();

本文:教你如何使用C语言编写简单小游戏的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:用PS做的网页设计如何做成动态网站效果下一篇:

18 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18