打飞机代码改编版
#include
#include
//con==consoleÒâË?Ϊ?ØÖÆÌ???ioÔÚcÖÐÒâË?ΪÊäÈëÊä?ö??
//?Ê?ËÍ?ÎÄ?þµÄ?æÔÚ??ÊÇÉùÃ?Ò?ϵÁÐÊäÈëÊä?öº?ÊýµÄ?æÔÚ #include //?ê×?º?Êý?â ???üº?exit??????systemµÈº?Êý??
#include //?üº??Ë?ÌÐòÖÐÊ??äº?ÊýµÄÍ?ÎÄ?þ #define N 35
void print(int [][N]);//Êä?öº?Êý
void movebul(int [][N]);//×Óµ?ÒÆ??º?Êý
void movepla(int [][N]);//µÐ?úÒÆ??º?Êý
void setting();//ÉèÖú?Êý
void menu();//?˵?º?Êý
int his_doc();//?ñÈ?ÀúÊ??ÇÂ? ???ÁÈ?ÎÄ?þ?? int get_time();//?ñÈ?ϵÍ?Ê??ä
int get_score(int score);//?ñÈ? ÀúÊ??ÇÂ??????æÎÄ?þ?? int change_data(int *k);//?ÌÐò?ö?Ú???ÇÂ????æÌõ?þ?? int
scr[22][N],pl=9,plr=21,speed=3,density=30,score=0,death=0;//È??Ö?ä
Á??º?çÃæ??ÎÒ?ú?õÊ?Î????çÃæ?í?È??µÐ?úËÙ?È??µÐ?úÃÜ?È??µÃ?Ö??ËÀÍö
int main()
{int key=0;
int *p=&key;
menu();
int i=0,j=0;
scr[plr][pl]=1;
scr[0][5]=3;
while(1)
{if(kbhit())//?ØÖÆ?É?úÒÆ??ºÍ×Óµ?ÒÆ??µÄ?ÖË?µã switch(getch())//?ØÖÆ×óÓÒÒÆ??ºÍ?øÈë?˵? {case 'a':case 'A':
if(pl>0)
scr[plr][pl]=0,scr[plr][--pl]=1;break;
case 'd':case 'D':
if(pl<33)
scr[plr][pl]=0,scr[plr][++pl]=1;
break;
case 's':case 'S':
scr[plr][pl]=2;break;
case 'w':case 'W':
if(plr>0)
scr[plr][pl]=0,scr[--plr][pl]=1;
break;
case 'e':case 'E':
if(plr<21)
scr[plr][pl]=0,scr[++plr][pl]=1; break;
case 't':case 'T':
get_score(score),change_data(p); break;
case 27 :setting();
break;
}
if(++j%density==0)//?ØÖÆÉú?úµÐ?úµÄËÙ?È
{j=0;srand(time(NULL));//?úÉúËæ?úÊý
scr[0][rand()%35]=3;
}
if(++i%speed==0)//?ØÖƵÐ?úÒÆ??ËÙ?È??Ïà?ÔÓÚ×Óµ?ÒÆ??ËÙ?È*/
movepla(scr);
movebul(scr);
print(scr);
if(key==1)
break;
}
}
void print(int a[][N]){system("cls");
int i,j;
for(i=0;i<22;i++)
{a[i][34]=4;
for(j=0;j<35;j++)
{if(a[i][j]==0)
printf(" ");
if(a[i][j]==1)
printf("\5");//Êä?öÎÒ?ú if(a[i][j]==2)
printf("\4");//×Óµ?
if(a[i][j]==3)
printf("\3");//Êä?öµÐ?ú if(a[i][j]==4)
printf("|");
if(i==6&&j==34)
printf("???æÀúÊ??ÇÂ?Çë??T"); if(i==5&&j==34)
{printf("ÀúÊ?×î?ß?Ö?º") ;
printf("",his_doc());} if(i==4&&j==34)
{printf("µÇÂ?Ê??äΪ:"); printf("",get_time());} if(i==3&&j==34)
printf("µÃ?Ö?º%d",score);//ÏÔÊ?µÃ?Ö
if(i==2&&j==34)
printf("ËÀÍö?º%d",death); if(i==1&&j==34)
printf("ÉèÖÃ?ºEsc"); if(i==0&&j==34)
printf("copyright:µÚ?þ×é"); }
printf("\n");
}
}
void movebul(int a[][N]){int i,j;
for(i=0;i<22;i++)
for(j=0;j<35;j++)
{
if(a[0][j]==2)
a[i][j]=0;
if(a[i][j]==2)
{
if(a[i-1][j]==3)
score+=10,printf("\7"); a[i][j]=0,a[i-1][j]=2; }
}
}
void movepla(int a[][N]) {
int i,j;
for(i=21;i>=0;i--)
for(j=0;j<35;j++)
{
if(i==21&&a[i][j]==3) a[i][j]=0;
if(a[i][j]==3)
a[i][j]=0,a[i+1][j]=3; }
if(a[plr-1][pl]==3&&a[plr][pl]==1)
death++;
}
void setting()
{
int sw=0,i,j;
system("cls");
do
{
sw=0;
printf("\n ÇëÑ?ÔñµÐ?úÃÜ?È?º1.?ó2.ÖÐ3.Ð?0.ºÜÐ?>> ");
switch(getche()) {
case '0':density=10; break;
case '1':density=20; break;
case '2':density=30; break;
case '3':density=40; break;
default:printf("\n ?íÎó??ÇëÖØÐÂÑ?Ôñ...\n");
sw=1;
}
}
while(sw);
do
{
sw=0;
printf("\n µÐ?úµÄ?ÉÐÐËÙ?È?º1.?ì2.ÖÐ3.Âý>> ");
switch(getche()) {
case '1':speed=2; break;
case '2':speed=3; break;
case '3':speed=4; break;
default:printf("\n ?íÎó??ÇëÖØÐÂÑ?Ôñ...\n");
sw=1;
}
}
while(sw);
for(i=0;i<22;i++)
for(j=0;j<35;j++)
scr[i][j]=0;
scr[plr][pl=9]=1;
printf("\n ??ÈÎÒâ?ü???æ...");
getch();//?Ë??ÆðÔÝÍ?×?ÓÃ??ÎÞʵ?ÊÔËËãÒâÒå
}
void menu()
{printf("˵Ã??º?ËÓÎÏ?ΪµÚ?þ×é?Ä?à?æ??\n??A D
?ØÖÆÎÒ?ú×óÓÒ?ÉÐÐ??W ??Éä×Óµ?\n ÉèÖÃ?ºÇë??Esc\n ?ªÊ?ÓÎÏ??ºÈÎÒâ?ü\n
by cÓïÑÔʵ?ù ??µÚ?þ×é?? \n\n"); //printf(" ",his_doc()); if(getch()==27)
setting();
}
int his_doc()
{FILE *fp;
char ch;
fp=fopen("D:\\ÎÒµÄCÓïÑÔÎĵµ\\?úÂë2015\\?ÇÂ?.txt","r+");
if(fp==NULL)
{printf("ÎÄ?þ?ò?ªÊ??Ü??ÇëÈ?ÈÏÎÄ?þÊÇ?ñ?æÔÚ??\n");
exit(0);}
while(!feof(fp))
{ch=fgetc(fp);
putchar(ch);}
fclose(fp);}
int get_time()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime ); printf ( "%s", asctime (timeinfo) ); }
int get_score(int score)
{
FILE *fp;//??Á?ÎÄ?þÖ?Õë
fp=fopen("?ÇÂ?.txt","w+");//ÒÔ?ò?ªÎÄ?þ?ÇÂ?.txt
fseek(fp,0,SEEK_SET);//ÎÄ?þÖ?ÕëÏÈ?ص?×î?õÎ?ÖÃ
fprintf(fp,"%d ",score);//?æ??scoreµÄÖµ
fclose(fp);//?Ø?ÕÎÄ?þ
}
int change_data(int *k)
{ *k=1;
return *k;}