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

2023-05-16

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

#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");
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用C语言做很简单的飞机游戏 的相关文章

  • 怎样让Intellij IDEA工程中输出日志信息

    Intellij IDEA中使用log4j日志 一 在pom xml中添加依赖 span class token tag span class token tag span class token punctuation lt span d
  • 面试一般流程

    面试流程 xff1a 个人介绍 gt 技术面试 gt 项目介绍 gt 职业规划 一 个人介绍 xff1a xff08 1 xff09 个人履历 xff1a 你的学校 专业 xff08 突出自己的优势 已经做的项目突出你的个人能力 xff09
  • 31岁之十大拙见

    版权归作者所有 xff0c 任何形式转载请联系作者 作者 xff1a 萧汐汐 xff08 来自豆瓣 xff09 来源 xff1a https www douban com note 696211880 31岁之十大拙见 工作是人生大事 xf
  • Flink日志输出查看方式

    在网上查看flink日志查看方式 xff0c 竟然查询不到 xff0c 因此写下这篇文章 xff0c 给有此困惑的小盆友们 xff0c 也给自己做个总结 xff01 前情提要 xff1a 我是通过flink web ui提交的flink任务
  • 重学C语言之开始

    还记得是大一上学期学习的C语言 xff0c 当时就是为了应付一下考试 xff0c 很多东西其实还没有吃透 虽然大学玩了几年的单片机 xff0c 自己也写了不少的C代码 xff0c 但是总是感觉自己还是没有搞透C语言 xff0c 没有抓住C语
  • 【20-8-7】树莓派上部署英特尔深度相机IntelRealsense T265

    最近在搭建无人机的自主飞行平台 xff0c 无GPS的情况下室内定位的方案除了光流 xff0c 最好的就是配合intel的realsense系列的摄像头 尤其是T265本身带IMU xff0c 可以直接给飞控输出位姿信息 xff0c 不管是
  • 【2020-8-8】ROS软件包自动安装依赖,安装ros_pcl

    最近要把T265部署到无人机平台 xff0c 编译一个软件的时候一直报ros pcl的错误 原因是树莓派安装的ros并不是完整版 xff0c 因为也不需要再树莓派上部署gazebo之类的仿真平台 网上关于安装ros pcl的文章基本上都已经
  • 【2020-8-9】APM,PX4,GAZEBO,MAVLINK,MAVROS,ROS之间的关系以及科研设备选型

    0 概述 无人机自主飞行平台可以分为四个部分 xff1a 动力平台 xff0c 飞行控制器 xff0c 机载电脑和模拟平台 动力平台 xff1a 负责执行飞行任务 xff0c 包括螺旋桨 电机 机架等 xff0c 用于科研的一般都是F380
  • 【8-12】树莓派ubuntu升级Cmake

    树莓派上运行的是Ubuntu Mate18 04的系统 xff0c 自带的cmake版本是3 10 0 xff0c 编译软件的时候要求cmake版本大于3 11 0 需要进行升级 注意网上的教程会让你卸载现在系统里cmake xff0c 就
  • 【8-12】树莓派部署t265+px4飞控实现无人机视觉定位

    在之前的文章中 xff0c 我们已经成功在树莓派 xff08 ubuntu mate 18 04 xff09 上部署了T265的追踪摄像头 本文将利用MAVROS协议 xff0c 将T265测量的位姿信息发送给px4固件 xff0c 实现室
  • 【8-14】树莓派3B+ Ubuntu Mate 18.04使用Intel NCS2做人脸识别

    想要在无人机平台部署CV xff0c 但是无人机的机载电脑需要安装ROS xff0c 而ROS需要在Ubuntu的平台才能方便使用 xff0c 所以树莓派3B 43 上安装的是Ubuntu Mate18 04 Intel Ncs2 xff0
  • 【8-14】virtualenv和virtualenv wrapper的快速入门

    跟conda类似的Python虚拟环境管理工具 xff0c jetson nano暂时无法使用conda 1 virtualenv span class token comment 安装 span span class token func
  • 【20-9-22】Python实现多进程多线程

    简介 对于计算机来说 xff0c 有两种实现多任务的方式 xff1a 并行和并发 并发 xff1a 一段时间内交替执行某些任务 如单核CPU轮流执行一些程序 并行 xff1a 一段时间内同时运行多个任务 多核cpu处理多任务 1 进程 程序
  • 【21-3-28】pvcreate device excluded by a filter

    使用Lvm创建虚拟磁盘时报错的解决方法 xff1a span class token function sudo span pvcreate dev sdd Device dev sdd excluded by a filter 原因是因为
  • BMI指数

    身体质量指数 xff08 Body Mass Index xff0c BMI xff09 是根据人的体重和身高计算得出的一个数字 xff0c BMI对大多数人来说 xff0c 是相当可靠的身体肥胖指标 xff0c 其计算公式为 xff1a
  • 生日悖论的Python实现

    题目 xff1a 如果你的班级中有23个学生 xff0c 那么其中有两个人生日相同的概率为多大 xff1f usr bin env python coding 61 utf 8 import random def has duplicate
  • 二分法查找的Python实现

    代码如下 xff1a usr bin env python coding 61 utf 8 def BinarySearch t x t sort 对列表进行排序 xff0c 列表是有序的 xff0c 是二分法的前提 low 61 0 hi
  • Python中bisect模块用法,及实现方式

    bisect用法 import bisect bisect bisect left t x 在T列表中查找x xff0c 若存在 xff0c 返回x左侧位置 bisect bisect right t x bisect insort lef
  • c++实验六总结(自用)

    实验目的 掌握派生类的声明方法和派生类构造函数的定义方法 掌握不同方式下 xff0c 构造函数与析构函数的执行顺序与构造规则 程序如下 xff1a include lt iostream gt include lt string gt us

随机推荐

  • 光网络知识

    一 WDM网络体系结构注意点 1 波长复用 2 波长转换 3 透明性 4 电路交换 5 生存性 xff1a 当网络出现故障时 xff0c 光路能够自动路由到另一条备份路径上 xff0c 为网络提供了高度的弹性 6 光路拓扑 二 波分复用网络
  • docker镜像更新后 如何正确更新对应的容器 避免数据丢失

    容器的更新大致分为以下两种方法 1 容器并未存储任何应用程序的数据 在这种情况下 您可以在任何时候使用它的更新版本替换APP容器 方法是执行如下所示 span class token function docker span pull my
  • netconn_accept返回值为0,OSQCreate出错 lwip uocsii

    我是在main中有创建信号量的函数 led event 61 OSQCreate amp led q 0 MSGSIZE 这个因为配置中信号量上限较小 而在sys arch c中有一个创建消息邮箱的函数 err t sys mbox new
  • 零基础自学STM32-复习篇2——使用结构体封装GPIO寄存器

    我们首先要了解寄存器的一个特点 xff0c 他不是只针对一个外设 xff0c 而是所有的外设都 就拿GPIO的CRL xff0c ODR寄存器来说 对于GPIOA GPI xff2f E都有一组功能相同的寄存器只是地址不一样而已 xff21
  • 写给小白:使用GitHub来托管论文吧

    使用GitHub来托管论文吧 摘要 xff1a 写给小白 对于非计算机专业的小伙伴 xff0c 可能很少接触到GitHub吧 xff0c 但GitHub真心好用 xff0c 虽然我们不会用它来进行 托管代码 xff0c 但是可以用来托管论文
  • 【软件安装】ElasticSearch在Linux系统中的安装

    0 安装JDK xff0c 并配置环境变量 ElasticSearch依赖Java环境 xff0c 先在服务器上安装好JDK xff0c 并配置好JAVA HOME环境变量 1 从官网下载ElasticSearch压缩包到本地 cd usr
  • Python爬取淘宝商品数据,价值千元的爬虫外包项目

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 PS xff1a 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 完整代码可以点击下方链接获取 python免费学习资
  • argparse简介

    一 argparse简介 argparse 模块是 Python 内置的用于命令项选项与参数解析的模块 xff0c argparse 模块可以让人轻松编写用户友好的命令行接口 xff0c 能够帮助程序员为模型定义参数 argparse定义四
  • Ubuntu22.04安装、配置、美化、软件安装、配置开发环境

    Ubuntu22 04安装 配置 美化 软件安装 配置开发环境 一 Ubuntu Windows11 xff08 10 xff09 双系统安装 因为ubuntu的安装网上的教程特别多了 xff0c 所以这里不做赘述 xff0c 推荐使用小破
  • 直观理解uCOSII中的信号量的作用、优先级翻转现象、互斥信号量对优先级翻转现象的作用

    信号量的作用 优先级翻转现象 uCOS中的特殊信号量 互斥信号量 本文作为一个学习uCOS的经验分享 xff0c 希望能给初学小白们一个参考 以例程和运行效果来说明 xff0c 对一些概念性的东西这里不做过多解释 xff0c 网上相关文章多
  • C语言实现ftp客户端

    在VS2010新建win32控制台空项目 xff0c 加入下面代码 xff1a ftplib h xff1a ftplib h header file for callable ftp access routines Copyright C
  • 查看opencv文件所在目录方式

    查看opencv文件所在目录方式
  • CMake学习(二) —— 链接库的生成

    除使用 add executable 生成可执行文件外 xff0c 还可以使用 add library 生成链接库 一 Linux的链接库 首先讲一下 linux 的链接库 xff0c 就是一些函数代码的二进制形式 xff0c 有动态与静态
  • C/C++信号量CreateSemaphore的用法

    创建或打开命名或未命名的信号量对象 要指定对象的访问掩码 xff0c 请使用CreateSemaphoreEx函数 语法 HANDLE WINAPI CreateSemaphore xff08 In opt LPSECURITY ATTRI
  • Git+Jenkins+docker实现自动部署git拉取代码部署web服务

    Git 43 Jenkins 43 docker的持续集成环境构建 工作步骤思路 xff08 下图所示 xff09 1 server1搭建好git仓库和用docker搭建好docker镜像仓库 2 server3用git命令去别的共用仓库拉
  • 无人机实验平台开发随笔(二)

    困难与解构 xff1a 在实际开发过程中 xff0c 通信问题成为了第一阶段最为严肃的问题 xff0c 在解除了各类与机器人和无人机相关领域的知识之后 xff0c 随着对项目功能认识的深入 xff0c 也逐渐感觉到了强烈的无力感 首先 xf
  • 无人机实验平台开发随笔(三)NOKOV Seeker软件配置

    考虑到在上一篇文章中分析的结论 xff0c 对于nokov和平台核心组件的数据传输反而可以放在相对次要的位置了 xff0c 毕竟就算通过手动输入坐标也是可行的方案 先前对硬件进行的调试 xff0c 有必要进行一个总结 xff0c 公司给予的
  • c++中char[]与char*的转换以及char*与数字互转

    在c c 43 43 中 xff0c 字符串操作不可避免 xff0c 而且通常 xff0c char 或者char 就能表示字符串 xff0c 这个跟java语言有很大的差别 xff0c java中char是字符 xff0c string才
  • bat批处理脚本大全

    目录 1 echo 2 注释 3 常见cmd命令 4 参数与变量 5 for循环 6 函数 7 数组 在windows上编程或者制作一些小工具 xff0c 少不了使用批处理脚本 xff0c 而且在各种开发环境搭建中我们经常会看到批处理脚本
  • 用C语言做很简单的飞机游戏

    首先 xff0c 可以通过第一步的 xff0c 通过空格和换行来显示出飞机 include lt stdio h gt include lt stdlib h gt int main int pox poy int x 61 20 int