用C语言做很简单的飞机游戏

首先,可以通过第一步的,通过空格和换行来显示出飞机。

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int pox,poy;
	int x=20;
	int y=20;
	//可以定义一个input输入框,用于控制移动方向

	//加入while循环
	while(1)
	{
		//开始描绘出飞机模型,暂时用雪花点代替。
		for(pox = 0 ; pox < x; pox ++)
		{
			printf("\n");
		}
		for(poy =0 ; poy < y; poy++)
		{
			printf(" ");
		}
		printf("* \n");

		// x++;  //此x的功能是让雪花点向下移动。
	}
	

	system("pause");
}

第二部分:用雪花点代替飞机,并且,用wasd控制飞机的方向

#include <stdio.h>
#include <stdlib.h>
#include <conio.h> //此头文件包含:输入一个字符无需按回车键

int main()
{
	int pox,poy;
	int x=0;
	int y=5;
	//可以定义一个input输入框,用于控制移动方向
	char input;
	

	//加入while循环
	while(1)
	{
		//清屏,重新绘雪花点的位置
		system("cls");
		//开始描绘出飞机模型,暂时用雪花点代替。
		for(pox = 0 ; pox < x; pox ++)
			printf("\n");

		for(poy =0 ; poy < y; poy++)
			printf(" ");
		
		//雪花作为飞机
		printf("  *  \n");
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf(" *** \n");
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf("  *  \n");
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf(" * * \n");

		// x++;  //此x的功能是让雪花点向下移动。

		//scanf通过获取你输入的字符串进行移动雪花点。
		//scanf("%c",&input); //输入字符需要按回车键才能生效、
		input = getch();//不需要回车获取字符
		if(input=='w')
			x--;//雪花点向上移动

		if(input=='s')
			x++;//雪花点向下移动

		if(input=='a')
			y--;//向左

		if(input=='d')
			y++;//向右

	}
	

	system("pause");
}

 第三部:让飞机模拟发射子弹,子弹用竖线代替。

#include <stdio.h>
#include <stdlib.h>
#include <conio.h> //此头文件包含:输入一个字符无需按回车键

int main()
{
	int pox,poy;
	int x=10;
	int y=25;
	//可以定义一个input输入框,用于控制移动方向
	char input;
	// 是否发射子弹
	int isFired = 0;
	//
	//用加号代替靶子
	int king_y = 5;//这是靶子的y坐标。靶子用“+”表示
	//是否被击中
	int isKilled = 0;
	

	//加入while循环
	while(1)
	{
		//清屏,重新绘雪花点的位置
		system("cls");

		//如果没有击中靶子,则+存在
		if(isKilled == 0)
		{
			for(poy = 0; poy < king_y; poy++)
			{
				printf(" ");
			}
			printf("+\n");
		}

		//如果不开火,则不发射子弹
		if(isFired == 0)
		{
			for(pox = 0 ;pox <x ; pox ++)
			{
				printf("\n");
			}
		}
		else
		{
			for(pox = 0 ; pox < x; pox ++)
			{
				for(poy =0 ; poy < y; poy++)
				{
					printf(" ");
				}
				printf("  | \n");
			}
			if(king_y == (y+2))
			{
				isKilled = 1;
			}
			isFired = 0; //按一次空格发射一次子弹,重置为0;
		}
		

		
		

		//雪花作为飞机
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf("  *  \n");
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf(" *** \n");
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf("  *  \n");
		for(poy =0 ; poy < y; poy++)
			printf(" ");
		printf(" * * \n");

		// x++;  //此x的功能是让雪花点向下移动。

		//scanf通过获取你输入的字符串进行移动雪花点。
		//scanf("%c",&input); //输入字符需要按回车键才能生效、
		input = getch();//不需要回车获取字符
		if(input=='w')
			x--;//雪花点向上移动

		if(input=='s')
			x++;//雪花点向下移动

		if(input=='a')
			y--;//向左

		if(input=='d')
			y++;//向右

		if(input==' ')//空格作为开火键
			isFired = 1;

	}
	

	system("pause");
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值