基础的消灭敌机的游戏

基础消灭敌机的小程序

这是一开始写的,比较菜。当然我现在也很菜……emmmm,纯粹做一个记录使用。
实现功能:1 消灭敌机
2 速度减慢
未实现功能:一堆,不列举
缺点: 1 界面闪烁
2 未隐藏光标
提示: 1 可以使用delay和for循环来实现停顿速度减慢

//简单的消除飞机小游戏

#include<stdio.h>
#include<stdlib.h>                          //清屏
#include<conio.h>                           //不需要回车
#include <windows.h>                        //缓慢移动,设置停顿


int main()
{

	int i, j;
	int x=5, y=0;
	char input;
	int isfiled = 0;
	int iskilled = 0;                        
	int score = 0;                           //计算分数
	
	srand(time(0));
    int nx = rand() % 40 + 4;               //为了获取移动靶子设置随机数
	int ny = rand() % 40 + 4;
	                     
		while (1)
	{
		system("CLS");                      //清屏
		
		if (!iskilled)                      //打中了则靶子消失
		{   
			for (i = 0; i < ny; i++)
				printf("\n");
			for (j = 0; j < nx; j++)        //利用随机数输出靶子
				printf(" ");
			printf("+\n");

		}
		else 
		{
			Sleep(20);
			for (j = 0; j < nx; j++)        //利用随机数输出靶子
				printf(" ");
			printf("+\n");
		}

		if (isfiled)
		{
                for (i = 0; i < y; i++)     //输出子弹头,如果输入空格键则输出子弹,若不输入空格,则不输出子弹
               {
				for (j = 0; j < x; j++)
					printf(" ");
				printf("  |\n");
				if (x + 2 == nx)           //判断有无击中靶子
				{
					iskilled = 1;
					score++;
					nx = rand() % 40 + 4;
					ny = rand() % 40 + 4;
				}
					
			   isfiled = 0;
  			   }
		}
		else {
			for (i = 0; i < y; i++)
				printf("\n");
			}

		for (j = 0; j < x; j++)       		//输出一个小飞机
            printf(" ");
		printf("  *\n");
		for (j = 0; j < x; j++)
			printf(" ");
		printf("*****\n");
		for (j = 0; j < x; j++)
			printf(" ");
		printf(" * *\n");

        //scanf_s("%c", &input,1);        //输入wasd来控制小飞机上下移动
		input = _getch();
		if (input == 'a')
			x--;
		if (input == 'd')
			x++;
		if (input == 'w')
			y--;
		if (input == 's')
			y++;

		if (input == ' ')                //通过空格键来实现子弹的发射
			isfiled = 1;

		printf("score:%d", score);


	}

	system("pause");
	return 0;


}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值