#打飞机游戏

news/2024/4/15 8:15:58

打飞机游戏

  这个游戏的原理比较简单,我们要实现这个游戏,首先要实现的就是怎么打印出飞机,和怎么操控飞机的移动,显然这些用简单的循环语句和分支语句就能实现。而敌机出现的话就更简单了,只要随机生成敌机的水平坐标,竖直坐标就让敌机从顶部落下(当然,你也可以随机生成竖直坐标),我们只需要控制随机数的范围就好了  例如 rand()%30; 随机生成0-29范围内的随机数。其次,我们要做的就是如何攻击,当飞机发射子弹时,bullet_x会等于plane_x,bullet_y = plane_y - 1;我们要想子弹往上移动,只需要bullet_y --,就能实现。最后,我们就只需要判断,子弹攻击到敌机,和飞机碰到敌机。当子弹坐标等于敌机坐标时,敌机死亡,当飞机碰到敌机时,游戏结束。原理很简单,这里就不多做解释了,上代码。
#include<stdio.h>
#include<windows.h>
#include<conio.h>int plane_x, plane_y;			//飞机坐标
int bullet_x, bullet_y;			//子弹坐标
int target_x, target_y;			//靶子坐标
int height = 21;	//界面尺寸
int width = 41;	
int speed;			//控制敌机下降速度
int kill;			//判断靶子是否被击中
int score;			//得分
int flag;			//判断是否死亡void start() {		//初始化int i;for (i = 0; i < height - 3; i++) {if (i == height / 2 - 1) {printf("     WASD分别控制\n");printf("     上下左右移动\n");printf("       空格射击\n");printf("    (按任意键继续)");}elseprintf("\n");}plane_x = width / 2;plane_y = height / 2;target_x = rand() % 41;target_y = 0;speed = 15;kill = 0;score = 0;flag = 0;_getch();
}
void hideCursor() {CONSOLE_CURSOR_INFO cursor_info = { 1,0 };//第二个值表示隐藏光标SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}
void gotoxy(int x, int y) {//光标移动到(x,y)位置HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);COORD pos;pos.X = x;pos.Y = y;SetConsoleCursorPosition(handle, pos);
}
void show() {			//展示界面int i, j;gotoxy(0, 0);for (j = 0; j < height; j++) {			//打印出游戏界面for (i = 0; i < width; i++) {if (i == plane_x && j == plane_y)	//判断在什么位置输出飞机printf("*");else if (i == target_x && j == target_y)	//输出敌机printf("@");else if (i == bullet_x && j == bullet_y) {	//输出子弹printf("|");							bullet_y--;					}	elseprintf(" ");}printf("|\n");}for (i = 0; i <= width / 2; i++) {printf(" ̄");}printf("\n");printf("当前得分:%d\n", score);
}
void updateWithInput() {		//飞机移动和射击char input;if (_kbhit()) {input = _getch();switch (input) {case 's':case 'S': plane_y++;break;case 'w':case 'W': plane_y--;break;case 'a':case 'A': plane_x--;break;case 'd':case 'D': plane_x++;break;case ' ':bullet_x = plane_x;bullet_y = plane_y - 1;break;}if (plane_x < 0)		//判断飞机是否超出界面plane_x = 0;else if (plane_x > width - 1)plane_x = width - 1;if (plane_y < 0)plane_y = 0;else if (plane_y > height - 1)plane_y = height - 1;}
}void updateWithoutInput() {	//子弹和靶子移动if (plane_x == target_x && plane_y == target_y)		//飞机碰到敌机,死亡flag = 1;if (bullet_x == target_x && bullet_y == target_y) {	//子弹碰到敌机score += 5;kill = 1;bullet_y = -1;}if (kill == 1) {				//敌机死亡,重新生成敌机target_x = rand() % 20;target_y = 0;kill = 0;}static int t = 0;				//静态常量,用来控制敌机的速度if (t == speed) {target_y++;t = 0;}elset++;if (target_y > height)kill = 1;
}int main() {system("color 0A");hideCursor();char input;int k = 1;while (1) {if (k == 1) {start();k = 0;}else {gotoxy(0, 0);for (int i = 0; i < 10; i++) {printf("\n");}printf("游戏结束,最终得分:%d(按任意键继续)", score);_getch();system("cls");		//清屏start();}while (!flag) {show();updateWithoutInput();updateWithInput();}}return 0;
}

http://www.ppmy.cn/news/922241.html

相关文章

日本小哥“自虐神器”一夜爆火:用手柄控制自己的脸,代码自取,后果自负...

鱼羊 丰色 发自 凹非寺量子位 | 公众号 QbitAI 用游戏手柄控&#xff08;wan&#xff09;制&#xff08;huai&#xff09;面部表情&#xff0c;是一种怎样的体验&#xff1f; 按下LB键眨左眼&#xff0c;按下RB键眨右眼&#xff0c;还可以左右左右走一套连击。&#xff08;画面…

游戏打飞机

功能实现 当实现可以使用进行调整左边和右边进行调用&#xff0c; 将数据进行传递出去了呢&#xff0c;将数据融合将在页面进行&#xff0c;用鼠标进行调用方向&#xff0c;还有一个特点就是&#xff0c;将页面进行调不规整进行调出不同小方格进行阻挡&#xff0c;然后飞机就头…

宁做创业狼,不做打工狗

结帖率&#xff1a;75.40% 楼主发表于&#xff1a;2009-09-19 20:30:50  在天涯&#xff0c;发现很多朋友创业的心里很矛盾&#xff0c;既有创业单干的激情&#xff0c;同时又有担心失败后悲惨的命运&#xff01;所以很多朋友思考了很长时间&#xff0c;最后还是决定等等再看…

祭奠高考

只是一个偶然~看了一下日期~6月6日~觉得有点特别,难道是要在这个66的日子注册个马甲? 6月7呢,这个不吉利的日子在炎热的六月带来一丝凉意,有点像台风,~心理阴影了,没办法~yy聊以自尉~ 努力請從今日始&#xff01; 高 考 艾~~明天又是高考了 ~祝那些孩子们好运…

四川大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 四川大学&#xff08;B&#xff09;考研难度&#xff08;☆☆☆☆&#xff09; 四川大学计算机考研招生学院是计算机学院、网络空间安全学院和视觉合成图形图像技术国防重点学科实验室。目前均已出拟录取名单。 四川…

服务器如何安装虚拟声卡,虚拟声卡如何运作起来 分享介绍虚拟声卡安装使用方法...

虚拟声卡怎么用?当我们在电脑中开启了虚拟声卡之后&#xff0c;该如何进行设置才能让虚拟声卡正常使用呢?虚拟声卡是一个软件&#xff0c;通过这个软件我们可以让电脑中发出各种好玩有趣的声音。那么我们该如何让虚拟声卡运作起来呢?本文中给大家分享介绍下虚拟声卡的使用方…

蓝牙驱动卸载后自动安装_声卡安装后又出问题了?驱动人生来帮你!

最近&#xff0c;因为服务器安全排查&#xff0c;好多用户来咨询驱动哥电脑问题&#xff0c;驱动哥都没办法回复。 现在驱动人生软件客户端相关的驱动查询、下载及安装服务也已恢复正常&#xff0c;驱动哥的解决方案也来了。 近期&#xff0c;收到大家反馈最多的问题是&#xf…

Modbus协议理论基础

1、Modbus协议基础 Modbus协议出现于1979年&#xff0c;协议是不区分接口的&#xff0c;Modbus协议可应用于串口&#xff0c;也可应用于网口。 &#xff08;1&#xff09;、Modbus协议分为Modbus-RTU、Modbus-ASCII、Modbus-TCP&#xff1b; &#xff08;2&#xff09;、通信方…

Git问题:git拉取/推送github代码出现Connection closed by问题

目录 问题原因解决方法一方法二方法三 问题 使用git去拉取github代码的时候&#xff0c;出现了如下问题 Connection closed by ip port 致命错误&#xff1a;无法读取远程仓库。 请确认您有正确的访问权限并且仓库存在。 或 Connection closed by ip port fatal : Could not r…

大话西游-仙履奇缘:贴一张图

背黑锅我来&#xff0c;送死你去&#xff01; DONT SCARE THE SHIT! 转载于:https://my.oschina.net/wfire/blog/532515

HTML期末大作业~ 大话西游之大圣娶亲电影4页面 ~学生网页设计作业源码(HTML+CSS+JS)...

HTML期末大作业~ 大话西游之大圣娶亲电影4页面 ~学生网页设计作业源码(HTMLCSSJS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大&#xff1f;HTML网页作业无从下手&#xff1f;网页要求的总数量太多&#xff1f;没有合适的模板&#xff1f;等等一系列问题。…

大话西游之仙侣履奇缘——[超经典台词]

曾经有一份真诚的爱情摆在我的面前&#xff0c;但是我没有珍惜&#xff0c;等到了失去的时候才后悔莫及&#xff1b;尘世间最痛苦的事莫过于此&#xff1b;如果上天可以给我一个机会&#xff0c;再来一次的话&#xff0c;我会跟那个女孩子说&#xff1a;“我爱你”。 如果…

那些年我们错过的大话西游!!!

滚滚黄沙&#xff0c;漫天尘土&#xff0c;很多年前的《大话西游》里&#xff0c;周星驰在残阳似血的大西北给了我们永恒的背影。20年过去了&#xff0c;电影重映&#xff0c;我们得以还星爷一张电影票。可是&#xff0c;我们却依然欠着大话西游一场旅行。 因为爱你&#xff0c…

关于Python3爬虫抓取豆瓣电影的案例-利用正则表达式

最近在学习Python3爬虫&#xff0c;看了这本书《Python3网络爬虫开发实战》(并非打广告)&#xff0c;看到了里面提到一个例子&#xff0c;爬取X眼电影的数据&#xff0c;今天试着自己实战一下。 主要是参考了以下资料&#xff1a; 1.书籍:《Python3网络爬虫开发实战》 2.博客…

《大话西游》你真的看懂了吗,kotlin命令行编译

你在看《大话西游》的时候&#xff0c;如果笑得腹背抽筋&#xff0c;龇牙咧嘴&#xff0c;那么你很有幽默感。如果你看完了《大话西游》&#xff0c;你还笑得满地打滚&#xff0c;那么你其实什么都没看懂。如果你看完了《大话》&#xff0c;你忽然发现脸上不知什么时候已经有泪…

大话西游精彩影评(二)

无奈的世界、荒谬的爱情——解读《大话西游》 来源&#xff1a;https://movie.douban.com/review/4976743/ 《大话西游》是经典&#xff0c;经典不在于它是周星驰电影里最好笑的&#xff0c;而在于里面蕴藏的东西不是那么的简单。 很多人看过《大话西游》&#xff0c;问大家记…

大话跨度原始服务器信息怎么去除,大话西游2合服历史:独家整理 寻找你最初的服务器...

原标题&#xff1a;大话西游2合服历史&#xff1a;独家整理 寻找你最初的服务器 《大话西游Ⅱ》已经经历了三十三次合服&#xff0c;服务器合并后&#xff0c;客服专区会删除合并前的服务器&#xff0c;保留合并后的服务器名字;因此部分玩家反映提交问题时找不到自己所在的服务…

《大话西游》你真的看懂了吗?

前天晚上去看了《大话西游之大圣娶亲》&#xff0c;虽然是一部重映电影&#xff0c;片方又新加了11分钟新的剧情&#xff0c;但是每次看这部经典之作都有不同的感想。 来看一部20年经久不衰的电影《大话西游》&#xff0c;1994年我们看它曾经捧腹大笑&#xff0c;20年间不知看…

《大话西游》

《大话西游之月光宝盒》、《大话西游之仙履奇缘》 一段最经典的对白 至&#xff1a;干什么&#xff1f;紫&#xff1a;我的意中人在附近至至&#xff1a;你看到他了&#xff1f;紫&#xff1a;没有&#xff0c;因为我的紫青宝剑发出嘟嘟的讯号至&#xff1a;哪来的嘟嘟声&#…

大话西游手游服务器维护要多久,大话西游手游2018年8月2日维护公告

为了保证广大玩家的游戏质量&#xff0c;《大话西游》手游版将于2018-08-02上午8:00停机&#xff0c;进行每周例行的维护工作&#xff0c;维护时间为早上8:00-10:00&#xff0c;如果在维护期间无法完成维护相关事宜&#xff0c;开机时间将继续顺延&#xff0c;请各位玩家相互转…
最新文章