飞机大战

飞机大战

w为向上移动,a为向左移动,s为向下移动,d为向右移动,空格为发射子弹

隐藏光标函数

void hide_cursor(void){
	CONSOLE_CURSOR_INFO info={1,0};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&info);
}
//隐藏光标

飞机大战的主函数

int main(){
	int x=5;
	int y=10;
	int i,j;
	int is_fire=0;  //是否发射 
	int nx=y/2;     //靶子的位置 
	int is_killed=0;//是否被打掉
	 
	srand(time(NULL));//产生随机数种子 
	hide_cursor();//隐藏光标 
	system("mode con cols=60 lines=40");//设置屏幕为手机格式
	while(1){
		system("cls");
		if(is_killed==0){//没有被干掉,绘制靶子 
			for(i=0;i<nx;i++)
			printf(" ");
			printf("@\n");
		} 
		
		if(is_fire==0){ 
		   for(i=0;i<y;i++)printf("\n");	
		}else{
			for(i=0;i<y;i++){
				for(j=0;j<x;j++)
				printf(" ");
				printf("  -\n");
				is_fire=0;
			}
			if(nx==x+2){
				is_killed=1;
				srand(time(NULL));	
			} 
			
		}
		
		
		//绘制飞机
		for(i=0;i<x;i++)printf(" "); 
		printf("  *\n");
		for(i=0;i<x;i++)printf(" "); 
		printf("*****\n");
		for(i=0;i<x;i++)printf(" "); 
		printf(" * *\n");
		
		if(kbhit()){//如果检测到键盘按键,返回1
		    int c= getch();//获取键盘值,不需要按回车
		    switch(c){
			case'a':x--;break;
			case'd':x++;break;
			case's':y++;break;
			case'w':y--;break;
			case' ':is_fire=1;break;
		   } 
		}
		Sleep(10);
	} 
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值