c语言课程设计--打飞碟源代码,c语言课程设计_打飞碟提高篇.doc
c语言课程设计_打飞碟提高篇
C语言课程设计--打飞碟
一、游戏介绍
打飞碟游戏是玩家通过鼠标控制大炮发射炮弹以及大炮发射时指向的方向,击毁从天空落下的飞碟。飞碟每次从不同的位置、以不同的速度向下落。打中不同的飞碟可以得到不同的分数。我们可以显示当前的得分。
二、实验目的
综合应用C语言知识开发一款小游戏。
三、实验内容
游戏初始界面如下图。
按下空格键后,“空格开始”消失,一局游戏开始。
游戏开始后:
鼠标变成十字星;
地面上有一门大炮,玩家通过移动鼠标可以控制炮口在一定范围内上下移动;
单击鼠标左键,大炮发射炮弹;
每局游戏时间为30秒,在屏幕左上方显示,并适时更新游戏剩余时间;
有大中小三种飞碟,按不同时间频率随机从屏幕顶部的某个位置落下。炮弹击中大飞碟加1分,击中中飞碟加2分,击中小飞碟加10分。得分显示在屏幕左上角。
游戏时间到后,游戏停止,重新显示游戏初始界面。
记录最高的5次游戏得分,按从高到低顺序显示在游戏底部。
游戏初始界面
四、实验准备
本实验中可能用到的C语言标准库函数和FunCode API
Stdio.h
函数原型功能与返回值参数说明与应用举例int sprintf( char *buffer, const char *format,
[ argument] … ) ;把格式化的数组写入某个字符串。
返回值:字符串长度char szName[128];
int i=0;
sprintf(szName, ”feichong_%d”, i);
将字符串”feichong_0”写入到szName中Math.h
函数原型功能与返回值参数说明与应用举例double atan2( double y, double x );计算y/x的反正切值。
返回值:以弧度表示并介于 -pi 到 pi 之间(不包括 -pi)。如需使用角度,需要转换。float ftan = atan2( (y1-y0), (x1-x0) );
计算通过点(x1,y1)到点(x0,y0)的连成的直线与X轴之间的夹角。String.h
函数原型功能与返回值参数说明与应用举例extern char *strstr(char *str1, char *str2);找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:返回该位置的指针,如找不到,返回空指针。strstr(szName, “feichong”) != NULL
说明szName中包含feichong
extern int strcmp(const char *s1,const char * s2);比较字符串s1和s2。
当s1
当s1=s2时,返回值=0
当s1>s2时,返回值>0strcmp(szName, “feichong_0”) == 0
说明szName与feichong_0相等FunCode API
函数原型功能与返回值参数说明与应用举例float dGetScreenLeft();获取屏幕左边界值float dGetScreenRight();获取屏幕右边界值float dGetScreenTop();获取屏幕上边界值float dGetScreenBottom();获取屏幕下边界值float dGetSpritePositionX(const char* szName);获取精灵中心点的X坐标值szName – 精灵名称。所有API均相同。
游戏中的精灵的名称不能相同。float dGetSpritePositionY(const char* szName);获取精灵中心点的Y坐标值float dSetSpritePositionX(const char* szName);设置精灵中心点的X坐标值float dSetSpritePositionY(const char* szName);设置精灵中心点的Y坐标值void dSetSpritePosition(const char* szName, const float fPosX, const float fPosY);设置精灵中心点的X和Y坐标值,用来将精灵放置在某个指定位置。dSetSpritePosition(“feichong_0”, 0, 0);
将名称为”feichong_0”的精灵的中心点设置在坐标(0, 0)上void dSetSpriteLinearVelocityX(const char* szName, const float fVelX);设置精灵X轴方向速度void dSetSpriteLinearVel
c语言课程设计--打飞碟源代码,c语言课程设计_打飞碟提高篇.doc相关推荐
- c语言拍飞虫课程设计报告,c语言课程设计_拍飞虫提高篇.doc
c语言课程设计_拍飞虫提高篇 C语言课程设计二 拍飞虫 一.游戏介绍 拍飞虫游戏是玩家用鼠标控制拍子,拍飞虫.飞虫每次从不同的位置.以不同的速度飞来飞去.玩家拍的飞虫越多,分数越高. 二.实验目的 综 ...
- 太空战机c语言实验报告,c语言课程设计_太空战机提高篇.doc
c语言课程设计_太空战机提高篇 C语言课程设计--太空战机 一.游戏介绍 太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机.敌方战机从右到左移动,同时上下浮动.同时隔一定的时间发射子弹,我方 ...
- 5阶魔方阵c语言程序设计,五阶魔方阵源代码c语言时课程设计.docx
五阶魔方阵源代码c语言时课程设计 主函数 #include #include #include # include "wenjian.c" # include "sanj ...
- 5阶魔方阵c语言程序设计,五阶魔方阵源代码c语言课到程设计.docx
五阶魔方阵源代码c语言课到程设计 主函数 #include #include #include # include "wenjian.c" # include "sanj ...
- c语言五子棋设计报告及源代码,c语言五子棋源代码设计报告.doc
C语言程序设计综合实验 设计报告 题目: 五子棋 班级; 07电气(1)班 人数: 4人 小组成员: 时间: 08.9.19 目录 1 课程设计报告 1.1课题描述 1.2需求分析 1.3概要设计 2 ...
- c语言红旗飘扬的制作源代码,C语言 飘动的红旗(要有旗杆)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 画出红旗之后,想要再画一个矩形当作旗杆,却不知道怎么把两个图形合成,下面是代码,求教 #include #include #include #define ...
- c语言多叉树运用存储源代码,C语言的家谱图想求一个运用结构链表的源程序我有多叉树版的源程 爱问知识人...
#include #include #include #include #define OK 1 #define ERROR -1 #define STACK_INIT_SIZE 100 #defin ...
- funcode坐标c语言,c语言程序设计_坦克大战(提高篇)(funcode环境)
C语言课程设计--坦克大战 一.游戏介绍 玩家坦克与敌方坦克在街道中进行巷战,玩家坦克被击中.玩家指挥部被击中或游戏时间到,一局游戏结束. 二.实验目的 综合应用C语言知识和设计知识开发一款小游戏. ...
- 标准c语言局域网文件传输,winsocket局域网文件传输系统源代码(C语言)+winsocket.doc...
winsocket局域网文件传输系统源代码(C语言)winsocket 翁跺吨郑蛮杨消痴线豆电眩也行却猖革甥花顶豹扣损纽眺福圈汀森饮翁篮玉鳃将汇铆梗敬剑砷香祝景驰疆赋恢爽宛关唾上盼唁墒酗箭抒厚檬毅袭眉 ...
- c语言课程设计--打飞碟源代码,飞碟游戏(飞碟游戏规则)
2021年5月13日发(作者:封孟绅) 计算机技术基础课程设计 C语言 设计报告 题目:打飞碟游戏 学院:机电工程学院 专业:工业工程 班级:050109 姓名:刁玉斌 指导教师:顾煜新 设计时间:2 ...
最新文章
- 运行PHP出现No input file specified错误解决办法
- angular点击按钮弹出页面_Axure RP8:如何做出点击按钮切换页面效果?
- wxWidgets:wxMDIChildFrame类用法
- RxSwift之UI控件Label扩展的使用
- mysql开启binlog启动慢_mysql配置开启binlog与慢查询日志功能
- linux系统中文件的特性,linux文件系统特性
- 锐驰机器人的市场_【年终盘点】2020年,锐驰的王炸新品!
- java泛型的作用及其基本概念
- ssas 面试题_多维模型的SSAS面试问题
- react native环境搭建的一些坑
- 【启动程序是无法加载 libnsl.so.1】
- 12306火车票查询--python
- kata-containers对接firecracker
- 托宾Q数据-沪深A股上市公司(含行业名称、代码等指标)2003-2020
- raptor累乘流程图_程序设计基础
- win11连接不了蓝牙耳机的解决办法
- 更换任意Linux内核 Ubuntu18.04 内核降级升级
- 别让所谓的“富人思维”毁了你
- 编程参考 - va_list的定义问题
- 线程同步之互斥量(互斥锁)