游戏截图
游戏说明
标准的W S A D 移动方式,空格射子弹,子弹数有限,击毁一架敌机+1。按P或Q暂停以及退出操作。
score:后是当前分数,zidan:是剩余的子弹数。
相关的游戏参数可在程序的宏定义处修改。
源程序
#include< conio. h>
#include< windows. h>
#include< ctime>
#include< iostream>
#include< algorithm>
using namespace std;
#define high 20
#define wide 27
#define dijisu 5
#define v0 24
#define ZZ 30
int wox, woy;
struct zidanjih
{
int y;
int x;
} zid[ high] , dij[ dijisu] ;
struct Rule
{
bool operator ( ) ( const zidanjih & S1 , const zidanjih & S2 )
{
return S1 . y> S2 . y;
}
} ;
int ming;
int score;
int speed;
int z;
char tu[ high] [ wide] ;
void pr ( )
{
HANDLE han= GetStdHandle ( STD_OUTPUT_HANDLE ) ;
COORD po;
po. X = 0 ;
po. Y = 0 ;
SetConsoleCursorPosition ( han, po) ;
for ( int i= 0 ; i< high; i++ )
{
for ( int j= 0 ; j< wide; j++ )
putchar ( tu[ i] [ j] ) ;
putchar ( '\n' ) ;
}
printf ( "score: %d \tzidan: %d \n" , score, z) ;
}
void start ( )
{
system ( "cls" ) ;
speed= v0;
memset ( zid, 0 , sizeof ( zid) ) ;
srand ( time ( NULL ) ) ;
for ( int i= 0 ; i< dijisu; i++ )
{
dij[ i] . y= - i;
dij[ i] . x= rand ( ) % ( wide- 2 ) + 1 ;
}
wox= wide/ 2 ;
woy= high- 2 ;