吃糖果(自創小遊戲,不喜勿噴)
阿新 • • 發佈:2019-02-10
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <string.h> #include <time.h> #include <conio.h> #define gg 15 #define kk 50 int x=0,y=0; void mm(char a[gg+10][kk+10])//列印地圖 { int c,b; for(c=0;c<=gg;c++) { for(b=0;b<=kk;b++) { printf("%c",a[c][b]); } printf("\n"); } } int main() { int m,n,b,c,g=1,k=0,l; char i[gg+10][kk+10],j; srand(time(NULL)); for(b=0;b<=gg;b++) { for(c=0;c<=kk;c++) { i[b][c]=42; } } i[x][y]=2; m=rand()%gg; n=rand()%kk; i[m][n]=21; mm(i); HANDLE hOutput; COORD coord={0,0}; hOutput=GetStdHandle(STD_OUTPUT_HANDLE); getch(); while(1) { if(k>=10) l=10; else l=k; Sleep(100-l*10); if(kbhit()!=0) { j=getch(); } else { if(j=='w') { i[x][y]=42; x=x-1; if(x<0) x=0; i[x][y]=2; } else if(j=='s') { i[x][y]=42; x+=1; if(x>gg) x=gg; i[x][y]=2; } else if(j=='a') { i[x][y]=42; y-=1; if(y<0) y=0; i[x][y]=2; } else if(j=='d') { i[x][y]=42; y+=1; if(y>kk) y=kk; i[x][y]=2; } } if(i[m][n]==2) g--,k++; if(g==0) { m=rand()%gg; n=rand()%kk; i[m][n]=21; g++; } printf("已經吃到的糖果數:%d\n",k); SetConsoleCursorPosition(hOutput,coord); mm(i); } return 0; }