C程序设计——打飞机——C语言

C程序设计——打飞机

基于C语言设计打飞机游戏

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<windows.h>
#include<stdlib.h>
#define MAX 100
long long int speed = 0;//控制敌机的速度
int position_x, position_y;//飞机的所在位置
int high, width;//地图的大小
int bullet_x, bullet_y;//子弹的位置
int enemy_x, enemy_y;//敌人的位置
int map[MAX][MAX];
/*0表示空白,1表示战机*的区域,2表示敌人战机的位置。
3表示上下围墙,4表示左右围墙,5表示子弹的位置*/
int score;
void starup()//初始化所有的信息
{high = 20;width = 30;position_x = high / 2;position_y = width / 2;bullet_x = 0;bullet_y = position_y;enemy_x = 2;enemy_y = position_y - 1;score = 0;}
void startMap()
{int i, j;for (i = 1; i <= high - 1; i++){map[i][1] = 4;for (j = 2; j <= width - 1; j++)map[i][j] = 0;map[i][width] = 4;}//下方围墙的初始化 i = high;for (j = 1; j <= width; j++)map[i][j] = 3;map[bullet_x][bullet_y] = 5;/*这里是战机大小的初始化开始*/map[position_x - 1][position_y] = 1;i = position_x;for (j = position_y - 2; j <= position_y + 2; j++)map[i][j] = 1;map[position_x + 1][position_y - 1] = 1;map[position_x + 1][position_y + 1] = 1;/***      初始化结束         **//* 敌人战机的初始化 */map[enemy_x][enemy_y] = 2;map[enemy_x - 1][enemy_y - 1] = 2;map[enemy_x - 1][enemy_y + 1] = 2;/* 敌人战机初始化结束*/
}
void HideCursor()//隐藏光标
{CONSOLE_CURSOR_INFO cursor_info = { 1, 0 };SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void gotoxy(int x, int y)//清理一部分屏幕
{HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);COORD pos;pos.X = x;pos.Y = y;SetConsoleCursorPosition(handle, pos);
}
void updateWithoutInput()//于输入无关的跟新
{if (bullet_x > 0)bullet_x--;if ((bullet_x == enemy_x) && (bullet_y == enemy_y))//当敌人的飞机被击中时 {score++;enemy_x = 0;enemy_y = rand() % width;bullet_x = 0;}if (enemy_x > high)//当飞机超出区域 {enemy_x = 0;enemy_y = rand() % width;}if (speed == 1)for (int i = 1; i <= 10000; i++)//用来控制敌机的速度 {for (int j = 1; j <= 1000; j++){speed = 1;}}speed = 0;if (speed == 0){enemy_x++;speed = 1;}
}
void updateWithInput()//与输入有关的更新
{char input;if (kbhit())//在VC6.0++下,为_kbhit(){input = getch();//在VC6.0++下为_getch();if (input == 'a')position_y--;if (input == 's')position_x++;if (input == 'd')position_y++;if (input == 'w')position_x--;if (input == ' '){bullet_x = position_x - 1;bullet_y = position_y;}}
}
void show()//展示的内容
{gotoxy(0, 0);int i, j;for (i = 1; i <= high; i++){for (j = 1; j <= width; j++){if (map[i][j] == 0)printf(" ");if (map[i][j] == 1)printf("*");if (map[i][j] == 2)printf("#");if (map[i][j] == 3)printf("~");if (map[i][j] == 4)printf("|");if (map[i][j] == 5)printf("|");}printf("\n");}printf("\n你的得分:%d\n\n", score);printf("操作说明: ASDW分别操作 左下右上四个的移动\n");printf("**空格是发出子弹**\n");
}
int main()
{starup();while (1){HideCursor();startMap();show();updateWithoutInput();updateWithInput();}return 0;
}

C程序设计——打飞机相关推荐

  1. MATLAB飞机大战第二版,windows程序设计——飞机大战札记(单文档文件登陆界面)...

    windows程序设计--飞机大战笔记(单文档文件登陆界面) //2015/07/21 /by xbw/// /环境 VS 2013 飞机大战做的差不多了,闲来无事加点高大上的东西,关于单文档的登陆界 ...

  2. 飞机订票系统的html模板,飞机订票系统程序设计

    <飞机订票系统程序设计.doc>由会员分享,可免费在线阅读全文,更多与<飞机订票系统程序设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1.\ ...

  3. Python程序设计,pygame飞机大战课程设计

    *飞机大战游戏设计 摘 要:根据课程要求,以及面向对象程序设计的编程思想,在Windows操作系统环境下,运用PyCharm编译程序,以Python语言为开发语言,最终实现飞机大战游戏相应的游戏操作功 ...

  4. java程序设计之炮打飞机

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! [题目描 ...

  5. c语言程序设计飞机,C语言程序设计――飞机订票系统

    <C语言程序设计――飞机订票系统>由会员分享,可在线阅读,更多相关<C语言程序设计――飞机订票系统(7页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计飞机订票系统代码如下 ...

  6. HNU 程序设计 飞机起飞时间安排

    文章目录 前言 题目 思路 AC代码 前言 看到很多同学好像是关注了我,大家要学习一下代码呢,不能直接copy哦. 题目 思路 其实这题我是抄的hhh,今天早上看了一下代码,觉得原来别人写的太冗长了, ...

  7. 【游戏程序设计】完整二维游戏开发-飞机大战

    学习了前面的许多知识,现在可以真正做个可以玩的游戏了. 之前是用MFC做的飞机大战,但是有许多的问题.这次我们用Win32程序来开发,所有的代码都是自己写成的,可以控制更多的细节.这次的游戏就没有之前 ...

  8. java程序设计雷电游戏设计步骤_基于Java的飞机雷电射击游戏的设计任务书

    主要参考文献(资料): [1] Java 2游戏编程[M]. 清华大学出版社 , (美)ThomasPetchel著, 2005 [2] Java游戏引擎的开发与实现[J]. 何依林. 无线互联科技. ...

  9. windows程序设计——飞机大战笔记(单文档文件登陆界面)

    //2015/07/21 /by xbw/// /环境 VS 2013 飞机大战做的差不多了,闲来无事加点高大上的东西,关于单文档的登陆界面::: 界面有点丑,但是足够账号登陆了,,先试一把: 还不错 ...

  10. 程序设计 C语言飞机大战

    作业要求: 1.游戏当中出现多类型敌人 2.游戏中能进行存档和读档 3.玩家控制的飞机由多字符组成 4.游戏过程中没有出现BUG  5.游戏显示制作者信息 6.游戏当中带有BGM 7.其他个性化设定 ...

最新文章

  1. 1分钟选好最合适你的JavaScript框架
  2. 如何自定义制表符到空格的转换因子?
  3. 'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  4. html中表格布局还是div布局,Table布局 VS Div+CSS布局,选哪个?
  5. Silverlight4中右键菜单实现-附源码下载
  6. 记:使用IScroll.js 开发picker日历组件遇到的问题及经验总结
  7. 基于JAVA+SpringMVC+MYSQL的学生信息管理系统
  8. 机器学习面试--决策树
  9. 测试压缩ASP.NET中的ViewState
  10. 史上最详细的宝塔部署java项目流程
  11. webpack打包处理字体文件
  12. 苹果也被撕下遮羞布,iPhone14后继乏力,靠十三香维持销量
  13. 【Linux】logrotate切割Tomcat日志并轮转(Flume采集准备工作适用)
  14. 0x01-medium_socnet
  15. Basler工业相机python开发(Pypylon)
  16. error MSB8020 问题解决
  17. 计算机音乐凉凉6,凉凉(伴奏) MIDI File Download :: MidiShow
  18. 卡巴斯基发布操作系统Kaspersky OS
  19. JAVA-extends
  20. “系统资源不足,无法满足请求服务“ ,而内存够大,解决办法

热门文章

  1. 苹果在新西兰的所得税都缴纳给了澳大利亚
  2. java实战--GC终极总结
  3. 序列试题---最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离 .
  4. 记第三期“晋IT”分享成长沙龙
  5. OA多级审批流程表设计方案以及开发思路(非常细节)
  6. 网页游戏打击感实施要点
  7. 斗鱼弹幕服务器第三方接入协议v1.6.2,.NET斗鱼直播弹幕客户端(上)
  8. 写论文同义替换的软件.v.1.2.3
  9. Falsy Bouncer
  10. 关于2022年电改政策的解读