没有合适的资源?快使用搜索试试~ 我知道了~
首页funcode C语言课程设计_海底世界.doc
资源详情
资源评论
资源推荐

C 语言课程设计一 海底世界
本实验主要用于 语言课程设计的教学讲解。可根据学校要求,安排一到两天时间,
边讲边练。通过该实验练习,学生就能基本掌握在 下开发一款游戏的基本技能。
之后,可安排学生选择各自感兴趣的项目进行练习。
一、FunCode 基础概念
精灵(): 游戏中所有图片都称为精灵,我们最主要接触的有三种,分别是:
静态精灵、动画精灵、文字精灵。
程序接口:给精灵起名称,以便在程序中使用该精灵。
场景预览:又称为地图。游戏开发中需要用到的精灵,我们必须事先拖放“场景预览”
窗口中。
屏幕():“场景预览”窗口中的墨绿色框内的部分,该部分是游戏运行时的可
见区域。
坐标系:以屏幕中心为坐标原点()。 坐标, 坐标从左到右逐渐变大, 坐标
从上到下逐渐变大。角度按顺时针方向从 到 度。
世界():精灵活动的空间。
事件:鼠标滑动、鼠标点击、键盘按下、键盘弹起、精灵与精灵碰撞、精灵与世界边
界碰撞。
精灵与世界边界的碰撞():当精灵运行到它的世界(活动空间)的边界时,
就发生了精灵与世界边界的碰撞世界。
精灵与精灵碰撞():当两个精灵图片碰在一起,其中一个精灵设置了“发出
碰撞”属性,另外一个精灵设置了“接受碰撞”属性,就发生了精灵与精灵的碰撞事件。

二、实验内容
海底有五条鱼,其中四条来回随机游动,由玩家用键盘 控制另外一条游动。
要求如下:
、 游戏初始界面如下图。
、 来回游动的四条鱼,从屏幕左边游进来,均已一个随机速度水平游动。从屏幕右
侧游出去,很快又从屏幕右侧游出来,就这样来回游动。
、 玩家用 键控制一条鱼向上、左、下、右方向游动。松开按键时,玩家的鱼
就停止游动。
、 玩家的鱼游到屏幕边界时,不能继续往前游。
游戏初始界面
三、实验准备
在实验中,我们需要用到一些 语言标准库函数,主要用于字符串处理。同时,我们
也会用到一些 的 ,用于处理动画功能。学生在编程时,可以随时查阅。
的命名规则,如:
!:
:前缀,表明是 提供的函数;
:设置
:精灵
!:旋转角度
因此,该含义的功能是:设置精灵的旋转角度。所有的 通过这种读法,
都能从字面上了解函数的功能。
"#
函数原型 功能与返回值 参数说明与应用举例
$% # &'(
把格式化的数组写入某个字
# )* +,-./

# &0+
, 1+.23/
符串。
返回值:字符串长度
注意:buer 不能传入空
指针
4/
$%)* + 50#1675
3/
将 字 符 串 ” 0#165 写 入 到
)* + 中
String.h
函数原型 功能与返回值 参数说明与应用举例
8 # &%#
&# &3/
找出 str2 字符串在 str1 字
符 串 中 第 一 次 出 现 的 位 置
( 不 包 括 str2 的 串 结 束
符)。
返 回 值 : 返 回 该 位 置 的 指
针 , 如 找 不 到 , 返 回 空 指
针。
%)* + 90#153 :4
*;<<
说明 )* + 中包含 0#1
8 +%
# & # &
3/
比较字符串 s1 和 s2。
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
+%)* + 90#1653
44
说明 )* + 与 0#16 相等
FunCode API
函数原型 功能与返回值 参数说明与应用举例
= ><?%3/
获取屏幕左边界值
= >1#%3/
获取屏幕右边界值
= >@%3/
获取屏幕上边界值
= >AB+%3/
获取屏幕下边界值
= >!%
# &)* +3/
获取精灵中心点的 X
坐标值
)* + C 精 灵名 称。 所有
均相同。
游 戏 中 的 精 灵 的 名 称 不 能 相
同。
= >!%
# &)* +3/
获取精灵中心点的 Y
坐标值
= !%
# &)* +3/
设置精灵中心点的 X
坐标值
= !%
# &)* +3/
设置精灵中心点的 Y
坐标值
D !%
# & )* + =
0= 03/
设置精灵中心点的 X
和 Y 坐标值,用来将
精灵放置在某个指定
位置。
!%90#165
3/
将名称为”0#165的精灵的
中心点设置在坐标%3上
D
< EF%
# & )* + =
设置精灵 X 轴方向速
度

0E3/
D
< EF%
# & )* + =
0E3/
设置精灵 Y 轴方向速
度
D
< EF%
# & )* + =
0E= 0E3/
设置精灵 X 轴和 Y 轴
方向速度
D %
# &)* +''3
设置精灵水平翻转 ' 为 , 图 片 水 平 不 翻
转;
0 ,图片不翻转。
说明:如果图片已经翻转过,
设为 false ,图片恢复原状,在
用户看来也有翻转的效果。
' % # &
)* + # &
)@ * +3/
复制一个精灵。
返回值:1 – 复制成
功;
0 – 复制失败。地图
中没有找到对应名称
的精灵用于复制。
做法:一般在地图上摆放一个
精灵作为模板,并设置好各种
属性。不仅复制图片,还复制
属性。
)* +C作为模板的精灵
)@ * +C新的精灵名称
D
<+%
# &)* +
G<+ <+ =
0<? = 0@
= 01# =
0AB+3
设 置 精 灵 的 世 界 边
界 , 精 灵 碰 到 边 界
时,会激发精灵与边
界 的 碰 撞 事 件 。 因
此 , 设 置 精 灵 位 置
时,考虑到精灵自身
大小,最好离开边界
一段距离。
0<?H左边界值
0@H上边界值
01#H右边界值
0AB+H下边界值
<+H统一使用
I<6<J@6*;<<
+ 1%
JJ 83/
获 取一 个 位 于 [iMin,
iMax] 之 间 的 随 机 整
数
4 + 1,.
值可能为 或
三、实验指南
实验一 开始实验
【实验任务】
步骤一、打开 ,创建一个的 语言项目;
步骤二、导入模板,模板中已经给需要的精灵起好名字。
步骤二、打开 EKK,初步了解程序框架。
【实验思路】
剩余16页未读,继续阅读












安全验证
文档复制为VIP权益,开通VIP直接复制

评论0