这次没有bug,所以这次是一个玩法更新,与3.1版本在玩法上不同,玩家可以自行选择版本游戏;
在玩法上,这次更像是贪吃蛇(好吧,其实我努力的让自己的第一个游戏不是贪吃蛇,但最终发现自己的游戏越来越像贪吃蛇);
在按下wasd键后,人物会自己向确定的方向移动,在摁下方向键(跳跃键)后会执行一次跳跃,然后向跳跃方向,执行普通移动;
这就是4.0版本(其实就是 想加上自己新学的函数)。
下面是游戏代码:
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <windows.h> int x=1,y=1,xx,yy,b[26][26]={0},jump=0,x2,y2; void candy() { while(1) { xx=rand()%26; if(xx==0) { xx=12; } yy=rand()%26; if(yy==0) { yy=12; } if(b[yy][xx]!=1&&(xx!=x||yy!=y)) { break; } } } void move(char a) { x2=x;y2=y; if(a=='w') { y--; } else if(a=='s') { y++; } else if(a=='a') { x--; } else if(a=='d') { x++; } else if(a==72&&jump!=0) { y--; y--; jump--; } else if(a==80&&jump!=0) { y++; y++; jump--; } else if(a==75&&jump!=0) { x--; x--; jump--; } else if(a==77&&jump!=0) { x++; x++; jump--; } if(x==0) { x=25; } if(y==0) { y=25; } if(x==26) { x=1; } if(y==26) { y=1; } } int main() { int i,j,num=0; char a; system("color BC"); srand((unsigned)time(NULL)); printf("PLEASE PRESS ANY KEY TO START THE GAME\n"); candy(); getch(); while(1) { Sleep(200); if(kbhit()!=0) { a=getch(); } else { if(a==72) { a='w'; } else if(a==80) { a='s'; } else if(a==75) { a='a'; } else if(a==77) { a='d'; } } system("cls"); move(a); if(x==xx&&y==yy) { candy(); num++; jump++; printf("\a"); } if(b[y][x]==0) { b[y][x]=1; } else if(b[y][x]==1&&(x!=x2||y!=y2)) { break; } for(i=1;i<=25;i++) { for(j=1;j<=25;j++) { if(j==x&&i==y) { printf("\f "); } else if(b[i][j]==1) { printf("%c ",'*'); } else if(j==xx&&i==yy) { printf("%c ",'$'); } else { printf("%c ",'.'); } if(j==25) { printf("\n"); } } } printf("YOU CAN JUMP %d\n",jump); printf("YOUR SCORE IS %d",num); } system("cls"); printf("GAME OVER\n"); printf("YOUR SCORE IS %d",num); return 0; }