| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

C++语言课程设计一迷你高尔夫

文***品

贡献于2021-07-17

字数:14510

C++语言课程设计迷高尔夫
实验容
玩家通键盘左右方键控制球移动终达出口游戏通关
求:
1 游戏分成3关第关第二关第三关界面图:

第关

第二关

第三关
2 启动游戏进入第关胜利进入第二关果第三关通关游戏重新回第关
3 游戏玩法通关控制键盘左右方键控制球运动单击方键球获该方直线运动速度果球遇方块球停止运动果遇黑洞游戏结束重新开始该游戏遇出口通关
4 球静止状态会箭头指示球运动方运动状态箭头消失果球运动出世界边界游戏结束重新回该游戏
二实验指南
实验 开始实验
实验务
步骤开FunCode创建C++语言项目
步骤二导入GolfGame场景

实验思路
实验指导完成

实验指导
1 开FunCode点击项目菜单选择创建C++工程

注意:工程名名称求字母开头包含字母数字名字中间空格
2 点击菜单项目中导入图模块图跳出话框选中GolfGame模板点击导入工程钮图二

图 图 二
3 导入成功界面图示:

图仅包括界面设计包括该游戏精灵添加场景中精灵已取名称根程序求设置中心点链接点等学生需直接编程
实验二 游戏关卡初始化
实验容
步骤关卡图初始化
步骤二清关卡数
步骤三根前关卡选择关卡数

实验思路
游戏开始时候首先清关游戏数关创建精灵图中删掉
游戏图分成12*12方格界面游戏总分成三关需三二维数组m_iLevelData1[GRID_COUNT][GRID_COUNT]
m_iLevelData2[GRID_COUNT][GRID_COUNT]
m_iLevelData3[GRID_COUNT][GRID_COUNT]
(中GRID_COUNT值12)
存放三关数二维数组中0表示该位置创建精灵否根值创建精灵RIGID_BLOCK(值1)表示创建方块精灵BLACK_HOLE(值2)表示创建黑洞精灵GOLF_EXIT(值3)表示创建出口精灵次代表该关卡二维数组数拷贝存储前关卡m_iGridData二维数组中

实验指导
1 进入LessonXhCGameMain类中添加成员变量声明:
static const float m_fGridStartX
第块方块起始坐标 (GRID_COUNT * g_fGridSize * 05 g_fGridSize 2)
static const float m_fGridStartY
static const float m_fGridSize 块包括球出口等
int m_iRigidBlockCount 关卡创建阻挡物方块数量
int m_iBlackHoleCount 关卡创建黑洞数量
int m_iGolfExitCount 关卡创建出口数量
int m_iCurLevel 前关卡
int m_iMoveState 控制球移动状态:0前静止移动 1234:代表左右4方移动中键响应
int m_iGridData[GRID_COUNT][GRID_COUNT] 二维数组存储 前关卡N*N矩阵方块信息
static const int m_iLevelData1[GRID_COUNT][GRID_COUNT]
static const int m_iLevelData2[GRID_COUNT][GRID_COUNT]
static const int m_iLevelData3[GRID_COUNT][GRID_COUNT]
vector m_vRigidBlock 阻挡物精灵量数组
vector m_vBlackHole 黑洞精灵量数组
vector m_vGolfExit 出口精灵量数组
int m_iControlStartX 控制球初始X坐标根关卡数行指定
int m_iControlStartY 球初始Y坐标

2 进入LessonXh中头文件声明面添加面宏定义代码:
#define GRID_COUNT 12 N * N 矩阵方块N
#define MAX_LEVEL 3 关卡数量果增加关卡请先修改值
#define RIGID_BLOCK 1 3分方块阻挡物黑洞出口值
#define BLACK_HOLE 2
#define GOLF_EXIT 3
3 进入LessonXcpp中添加面成员变量初始化:
1) 构造函数中m_iGameState值0改1:
m_iGameState 1
2) 构造函数中添加面代码:
m_iRigidBlockCount 0 关卡创建阻挡物方块数量
m_iBlackHoleCount 0 关卡创建黑洞数量
m_iGolfExitCount 0
m_iCurLevel 1
m_iControlStartX 0 球初始X坐标
m_iControlStartY 0 球初始Y坐标
3) const类型成员变量需函数外面单独进行初始化文件面添加代码:
const float CGameMainm_fGridStartX 275f
const float CGameMainm_fGridStartY 275f
const float CGameMainm_fGridSize 5f
const int CGameMainm_iLevelData1[GRID_COUNT][GRID_COUNT] {
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK 0 0 0}
{0 0 0 RIGID_BLOCK 0 0 0 0 RIGID_BLOCK 0 0 0}
{0 0 0 RIGID_BLOCK 0 0 0 0 RIGID_BLOCK 0 0 0}
{0 0 0 RIGID_BLOCK 0 0 0 0 BLACK_HOLE 0 0 0}
{0 0 0 0 0 0 0 GOLF_EXIT RIGID_BLOCK 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
}
const int CGameMainm_iLevelData2[GRID_COUNT][GRID_COUNT]{
{0 RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK 0 RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 RIGID_BLOCK 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 GOLF_EXIT RIGID_BLOCK RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 0 0}
{0 RIGID_BLOCK 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 RIGID_BLOCK 0 RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK 0 RIGID_BLOCK 0}
}
const int CGameMainm_iLevelData3[GRID_COUNT][GRID_COUNT]{
{0 0 0 0 0 0 0 0 RIGID_BLOCK RIGID_BLOCK 0 0}
{0 0 RIGID_BLOCK RIGID_BLOCK RIGID_BLOCK 0 0 0 0 0 0 RIGID_BLOCK}
{RIGID_BLOCK 0 0 0 0 0 0 0 0 0 0 RIGID_BLOCK}
{0 0 0 0 0 0 0 0 0 0 0 RIGID_BLOCK}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 GOLF_EXIT 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 RIGID_BLOCK RIGID_BLOCK 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 0 0 RIGID_BLOCK 0 0 0 0 0 0 RIGID_BLOCK 0}
{0 0 0 0 BLACK_HOLE RIGID_BLOCK 0 0 0 0 0 0}
{0 0 0 0 0 0 0 0 0 0 0 0}
}
二维数组中0表示该位置创建精灵否根值创建精灵RIGID_BLOCK(值1)表示创建方块精灵BLACK_HOLE(值2)表示创建黑洞精灵GOLF_EXIT(值3)表示创建出口精灵
4) 进入GameInit函数里面球运动状态初始化静止添加面代码:
m_iMoveState0
4 游戏初始化时候首先需前边添加精灵全部删掉需定义创建清精灵函数ClearAllSprite()实现功
1) 进入LessonXh文件CGameMain类中添加该函数声明:
void ClearAllSprite()
2) LessonXcpp面添加该函数定义:
void CGameMain ClearAllSprite()
{
}
3) 3循环分关卡创建3种精灵删掉边定义函数中添加代码:
int iLoop 0
for( iLoop 0 iLoop < m_vRigidBlocksize() iLoop++ )
{
m_vRigidBlock[iLoop]>DeleteSprite()
}
for( iLoop 0 iLoop < m_vBlackHolesize() iLoop++ )
{
m_vBlackHole[iLoop]>DeleteSprite()
}
for( iLoop 0 iLoop < m_vGolfExitsize() iLoop++ )
{
m_vGolfExit[iLoop]>DeleteSprite()
}
中m_vRigidBlockm_vBlackHolem_vGolfExit存储三种精灵量数组循环遍历遍量数组调数组中精灵DeleteSprite函数
m_vRigidBlocksize()m_vBlackHolesize()m_vGolfExitsize()表示种精灵总数
4) GameInit()中添加调函数代码:
ClearAllSprite()
5 GameInit()中需关卡进行选择初始化需定义初始化关卡函数InitLevel ()实现功
1) 进入LessonXh文件CGameMain类中添加该函数声明:
void InitLevel()
2) LessonXcpp面添加该函数定义:
void CGameMain InitLevel()
{
}
3) 初始化关卡根前关卡选择关卡数代表关卡二维数组中数拷贝m_iGridData中时设置控制球数组中起始位置首先需数初始化0代码:
总数置0重新创建
m_iRigidBlockCount 0
m_iBlackHoleCount 0
m_iGolfExitCount 0
4) 选择关卡switchcase结构程序通判断switch中参数进入case中case种情况实现代码:
根前关卡选择关卡数
switch( m_iCurLevel )
{
case 2
{
m_iControlStartX 5
m_iControlStartY 9
memcpy( m_iGridData m_iLevelData2 sizeof(int) * GRID_COUNT * GRID_COUNT )
}
break
case 3
{
m_iControlStartX 3
m_iControlStartY 6
memcpy( m_iGridData m_iLevelData3 sizeof(int) * GRID_COUNT * GRID_COUNT )
}
break
Level1 者g_iCurLevel错误
case 1
default
{
m_iControlStartX 5
m_iControlStartY 6
memcpy( m_iGridData m_iLevelData1 sizeof(int) * GRID_COUNT * GRID_COUNT )
}
break
}
memcpy函数作源src指存址起始位置开始拷贝n字节目标dest指存址起始位置中二维数组存中存放方式连续源址拷贝m_iGridData起始址系统动根m_iGridData标找正确值
5) GameInit()中添加调函数代码:
InitLevel()
实验结束

实验三 初始化游戏精灵
实验容
步骤创建精灵
步骤二初始化精灵位置
实验思路
遍历二维数组m_iGridData根数组值生成应精灵实例:值0时候创建需创建精灵名字前缀(宏定义123序):RigidBlock BlackHole GolfExit创建种精灵总数加1 :m_iRigidBlockCount m_iBlackHoleCountm_iGolfExitCount
实验指导
1 进入LessonXhCGameMain类中添加面成员变量声明:
CSprite* m_pControlBall 控制球精灵
CSprite* m_pGolfArrow 指示箭头精灵
LessonXcpp中CGameMain类构造函数里面添加面成员变量初始化:
m_pControlBall new CSprite(ControlBall)
m_pGolfArrow new CSprite(GolfArrow)

2 创建精灵需精灵移特定位置需定义定义函数MoveSpriteToBlock实现功
6) 进入LessonXh中添加该函数声明:
void MoveSpriteToBlock( CSprite* tmpSprite const int iIndexX const int iIndexY )
7) LessonXcpp面添加该函数定义:
void CGameMainMoveSpriteToBlock( CSprite* tmpSprite const int iIndexX const int iIndexY )
{
}
8) 传入该函数精灵实体xy坐标参数通SetSpritePosition函数设置精灵位置该函数里面添加代码:
float fPosX m_fGridStartX + iIndexX * m_fGridSize
float fPosY m_fGridStartY + iIndexY * m_fGridSize
tmpSprite>SetSpritePosition(fPosX fPosY)
3 里定义函数CreateAllSprite()创建控制球方块精灵出口精灵黑洞精灵然函数部添加代码创建精灵
原理通两for循环判断m_iGridData值果0创建果RIGID_BLOCK创建方块精灵 BLACK_HOLE创建黑洞精灵GOLF_EXIT创建出口精灵预先图中摆放三模板精灵需CloneSprite函数创建新精灵然调MoveSpriteToBlock函数精灵移动指定位置创建实现精灵添加相应精灵量数组中
1) 进入LessonXh文件CGameMain类中添加该函数声明:
void CreateAllSprite()
2) LessonXcpp面添加该函数定义:
void CGameMain CreateAllSprite()
{
}
3) 定义汗函数中添加变量声明:
int iLoopX 0 iLoopY 0
CSprite* tmpSprite
char *szName NULL
4) 实现两for循环:
for( iLoopY 0 iLoopY < GRID_COUNT iLoopY++ )
{
for( int iLoopX 0 iLoopX < GRID_COUNT iLoopX++ )
{
}
}
5) 里面循环添加判断代码:
果0创建精灵continue表示跳出次循环继续循环
if( 0 m_iGridData[iLoopY][iLoopX] )
continue
果方块创建方块精灵:
if( RIGID_BLOCK m_iGridData[iLoopY][iLoopX] )
{
szName CSystemMakeSpriteName(RigidBlockm_iRigidBlockCount )
tmpSpritenew CSprite(szName)
tmpSprite>CloneSprite(RigidBlockTemplate)
MoveSpriteToBlock( tmpSprite iLoopX iLoopY )
m_vRigidBlockpush_back(tmpSprite)
m_iRigidBlockCount++
}
果黑洞创建黑洞精灵:
else if( BLACK_HOLE m_iGridData[iLoopY][iLoopX] )
{
szName CSystemMakeSpriteName( BlackHole m_iBlackHoleCount )
tmpSpritenew CSprite(szName)
tmpSprite>CloneSprite(BlackHoleTemplate)
MoveSpriteToBlock( tmpSprite iLoopX iLoopY )
m_vBlackHolepush_back(tmpSprite)
m_iBlackHoleCount++
}
果出口创建出口精灵:
else if( GOLF_EXIT m_iGridData[iLoopY][iLoopX] )
{
szName CSystemMakeSpriteName( GolfExit m_iGolfExitCount )
tmpSpritenew CSprite(szName)
tmpSprite>CloneSprite(GolfExitTemplate)
MoveSpriteToBlock( tmpSprite iLoopX iLoopY )
m_vGolfExitpush_back(tmpSprite)
m_iGolfExitCount++
}
6) 控制球指示箭头摆放初始位置时球静止指示箭头见面两循环面添加面代码:
m_pControlBall>SetSpriteLinearVelocity( 0f 0f)
MoveSpriteToBlock(m_pControlBallm_iControlStartXm_iControlStartY)
MoveSpriteToBlock(m_pGolfArrow m_iControlStartX m_iControlStartY )
m_pGolfArrow>SetSpriteVisible(1)
7) GameInit()中调函数:
CreateAllSprite()

实验结束
实验四 移动球
实验容
步骤响应键盘键消息
步骤二球精灵坐标转换二维格子数组索引
步骤三判断移动方球获取速度
实验思路
首先响应系统键消息函数然获取精灵坐标转换二维格子中坐标判断旁边格子否方块果球移动速度
实验指导
1 进入LessonXh中添加定义键盘消息处理函数OnKeyDown声明:
void OnKeyDown( const int iKey const int iAltPress const int iShiftPress const int iCtrlPress )
2 LessonXcpp中添加该函数定义:
void CGameMainOnKeyDown( const int iKey const int iAltPress const int iShiftPress const int iCtrlPress )
{
}
3 首先判断游戏状态游戏中已移动状态响应键面函数中添加面代码:
if( 2 m_iGameState || 0 m_iMoveState )
return
4 获取控制球精灵坐标转换二维格子数组索引里需定义两函数SpritePosXToIndexXSpritePosXToIndexY分处理精灵坐标转换二维格子X索引Y索引:
1) 进入LessonXh中添加面两函数声明:
int SpritePosXToIndexX( const float fPosX )
int SpritePosYToIndexY( const float fPosY )
2) 进入LessonXcpp中添加SpritePosXToIndexX定义:
int CGameMain SpritePosXToIndexX ( const float fPosX )
{
}
3) 首先左右边界坐标值m_fGridStartX方块中心需减半方块宽度左边边界SpritePosXToIndexX函数定义中添加面代码
const float fLeftSide m_fGridStartX m_fGridSize 2f
const float fRightSide fLeftSide + m_fGridSize * GRID_COUNT
4) 需判断坐标否出左右边界果没返回X索引值面函数里面添加面判断代码:
if( fPosX < fLeftSide || fPosX > fRightSide )
return 1
int iIndexX (int)( (fPosX fLeftSide) m_fGridSize )
return iIndexX
5) LessonXcpp中添加SpritePosYToIndexY函数定义:
int CGameMainSpritePosYToIndexY( const float fPosY )
{
}
6) 首先获取边界坐标值m_fGridStartY方块中心需减半方块宽度边边界面函数定义中添加面代码:
const float fTopSide m_fGridStartY m_fGridSize 2f
const float fBottomSide fTopSide + m_fGridSize * GRID_COUNT
7) 判断否超边界没返回Y索引值:
if( fPosY < fTopSide || fPosY > fBottomSide )
return 1
int iIndexY (int)( (fPosY fTopSide) m_fGridSize )
return iIndexY
5 面两函数控制球精灵坐标转换二维格子数组索引判断坐标否超出边界OnKeyDown函数中添加面代码:
float fPosX m_pControlBall>GetSpritePositionX()
float fPosY m_pControlBall>GetSpritePositionY()
int iIndexX SpritePosXToIndexX( fPosX )
int iIndexY SpritePosYToIndexY( fPosY )
if( iIndexX < 0 || iIndexX > GRID_COUNT || iIndexY < 0 || iIndexY > GRID_COUNT )
return
6 根左右方键先判断控制球旁边否方块果方块移动方块予控制球速度iIndexX iIndexY时候注意判断否边缘索引果判断进行加1减1访问数组会造成标溢出果判断左边否方块阻挡索引值 IndexX 1 时必须先判断iIndexX0减果iIndexX0代表直接移动
1) 果方键:
if( KEY_UP iKey )
{
if( iIndexY > 0 && RIGID_BLOCK m_iGridData[iIndexY 1][iIndexX] )
return
予控制球方速度设置移动状态隐藏指示箭头
m_iMoveState 1
m_pControlBall>SetSpriteLinearVelocityY(30f)
m_pGolfArrow>SetSpriteVisible(0)
}
2) 果方键:
else if( KEY_DOWN iKey )
{
if( iIndexY < GRID_COUNT 1 && RIGID_BLOCK m_iGridData[iIndexY + 1][iIndexX] )
return
予控制球方速度设置移动状态隐藏指示箭头
m_iMoveState 2
m_pControlBall>SetSpriteLinearVelocityY(30f)
m_pGolfArrow>SetSpriteVisible(0)


}
3) 果左方键:
else if( KEY_LEFT iKey )
{
if( iIndexX > 0 && RIGID_BLOCK m_iGridData[iIndexY][iIndexX 1] )
return
予控制球方速度设置移动状态隐藏指示箭头
m_iMoveState 3
m_pControlBall>SetSpriteLinearVelocityX(30f)
m_pGolfArrow>SetSpriteVisible(0)
}
4) 果右方键:
else if( KEY_RIGHT iKey )
{
if( iIndexX < GRID_COUNT 1 && RIGID_BLOCK m_iGridData[iIndexY][iIndexX + 1] )
return
予控制球方速度设置移动状态隐藏指示箭头
m_iMoveState 4
m_pControlBall>SetSpriteLinearVelocityX(30f)
m_pGolfArrow>SetSpriteVisible(0)
}
7 Maincpp中OnKeyDown函数里面添加定义函数调:
g_GameMainOnKeyDown(iKeybAltPressbShiftPressbCtrlPress)
实验结束
实验五球运动情况处理
实验容
步骤获球边缘格子信息
步骤二格子分情况处理
实验思路
获取球精灵前坐标转换二维格子坐标判断运动中球边缘情况果已出边界需判断否果方块球停黑洞重新开始关卡出口通关
实验指导
1 进入LessonXcpp中GameRun函数中移动状态移动中时刻监测控制球移动情况根移动方方块进行应处理添加面if判断:
if( 0 m_iMoveState )
{
}
2 先控制球精灵坐标转换二维格子数组索引果控制球已出边界需判断面判断里面添加面代码:
float fPosX m_pControlBall>GetSpritePositionX()
float fPosY m_pControlBall>GetSpritePositionY()
int iIndexX SpritePosXToIndexX( fPosX )
int iIndexY SpritePosYToIndexY( fPosY )
控制球已出边界需判断
if( iIndexX < 0 || iIndexX > GRID_COUNT || iIndexY < 0 || iIndexY > GRID_COUNT )
return
3 根前方获控制球边缘格子信息(球坐标中心点加球半)总4中方左右分1234表示添加面代码:
float fNextPosX fPosX
float fNextPosY fPosY

if( 1 m_iMoveState )
{
fNextPosY m_fGridSize * 05f
}
else if( 2 m_iMoveState )
{
fNextPosY + m_fGridSize * 05f
}
else if( 3 m_iMoveState )
{
fNextPosX m_fGridSize * 05f
}
else if( 4 m_iMoveState )
{
fNextPosX + m_fGridSize * 05f
}
4 面坐标转换二维格子坐标判断否越出边界添加面代码:
int iNextIndexX SpritePosXToIndexX( fNextPosX )
int iNextIndexY SpritePosYToIndexY( fNextPosY )
该边缘已出边界需判断
if( iNextIndexX < 0 || iNextIndexX > GRID_COUNT || iNextIndexY < 0 || iNextIndexY > GRID_COUNT )
return

5 根球边缘前格子信息进行处理:方块球停黑洞重新开始关卡出口通关:
1) 方块:
if( RIGID_BLOCK m_iGridData[iNextIndexY][iNextIndexX] )
{
清零移动状态
m_iMoveState 0
速度清零显示指示箭头
m_pControlBall>SetSpriteLinearVelocity(0f 0f)
m_pGolfArrow>SetSpriteVisible(1)
球指示箭头设置方块中心
MoveSpriteToBlock( m_pControlBall iIndexX iIndexY )
MoveSpriteToBlock( m_pGolfArrow iIndexX iIndexY )
}
2) 黑洞:
else if( BLACK_HOLE m_iGridData[iNextIndexY][iNextIndexX] )
{
游戏状态设置1重新开始关卡
m_iGameState 1
}
3) 出口:
else if( GOLF_EXIT m_iGridData[iNextIndexY][iNextIndexX] )
{
游戏状态设置1开始新关卡
m_iGameState 1

关卡果已值返回第关
m_iCurLevel++
if( m_iCurLevel > MAX_LEVEL )
m_iCurLevel 1
}
实验结束
实验六球出边界处理
实验容
步骤控制球出边界游戏重新开始
实验思路
部分较简单通系统判断球精灵否越世界边界数定义函数里面处理
实验指导
1 进入LessonXh中添加定义处理函数OnSpriteColWorldLimit声明:
void OnSpriteColWorldLimit( const char *szName const int iColSide )
2 进入LessonXcpp中添加该函数定义:
void CGameMainOnSpriteColWorldLimit( const char *szName const int iColSide )
{
}
3 面函数定义中知道系统OnSpriteColWorldLimit函数中返回szName否球精灵名称果话局游戏结束重新开始游戏面定义里面添加面代码:
处理控制球
if( stricmp( szName m_pControlBall>GetName()) 0 )
return
游戏状态设置1重新开始关卡
m_iGameState 1
4 进入Maincpp文件OnSpriteColWorldLimit函数里面添加定义函数调填入面行代码:
g_GameMainOnSpriteColWorldLimit(szNameiColSide)
5 开Funcode点击图中球精灵右侧编辑>世界边界限制中选择限制模式NULL样系统会定义函数处理球越边界事件
实验结束
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

c++超市管理系统课程设计报告

c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。B、售出:输入商品编号,修改相应的存货数与销售额。C、查询:查询商品,销售额。

文***品 2年前 上传547   0

银行账户管理系统(c++课程设计)

 2015-2016学年第二学期 面向对象程序设计(c++)大作业说明书学院名称: 计算机与信息工程学院 班级名称: 计算机科学与技术(对口) 学生姓名: 学 号: 题 目: 银行账户管理系统

文***品 3年前 上传726   0

c++课程设计及图书管理系统(窗口界面)

C++课程设计课程设计系部:计算机应用技术系专业:计算机应用技术班级学号: 姓名: 一、系统功能分析: 图书管理系统设计说明报告: 图书馆作为学生学习知识的重要场所,作为信息资源的集散地,图书馆和用户借阅资料繁多,包含很多的信息数据的管理。介

文***享 3年前 上传583   0

迷你影院的服务流程

   温馨提示:1、电影院的营业时间:10:00—23:00。           2、使用需提前预约,会员优先; (临时使用,影院设备必须提前十五钟开启)。           3、进入电影院,请勿私自操作影院里的音响设备,如需服务请按呼叫器 4、禁止抽烟及携带可燃物品入内。           5、请自行保管好随身物品,如有遗失,美术馆概不负责。      电影院的工作服务流

为***作 9年前 上传7944   0

C++语言程序设计稿件管理数据系统

XX大学 本科生课程设计(实践)任务书、设计报告 (C++语言程序设计) 题 目 稿件管理数据系统 学生姓名 指导教师 学 院 专业班级 学生学号 计算机基础教学实验中心 20XX年 X 月 X 日 目 录 设计任务书……………………………………………3 课程实践报告…………………………………………4 一、实践内容…………………………………

文***享 5年前 上传1631   0

c语言课程设计总结5篇

c语言课程设计总结5篇c语言课程设计总结(一):  c语言课程设计总结心得  经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。  计算机最重要的就是上机操

四***廷 3年前 上传1286   0

C语言课程设计学生考勤系统

设计任务:C语言课程设计任务书题目:学生考勤系统设计功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施:1、 初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、 建立一个文件,将每条记录信息写入文件中并能显示于

文***品 2年前 上传521   0

2021年c语言课程设计小结

 2021年c语言课程设计小结撰写人:___________日 期:___________2021年c语言课程设计小结关键词:图书管理系统关系模型功能模块随着社会的进步与发展,资源高效利用提高效率越来越受到人们的___.图书管理也提出这样的要求,因此图书管理的数字化越来越受到大众的青睐.图书管理系统是现代图书管理工具中的重要组成部分。它广泛应用于图书馆管理,力求开发出一套严谨、

x***o 3年前 上传594   0

C语言课程设计通讯录管理系统

 课程设计报告书 课程名称: C语言课程设计 班 级: 学 号: 姓 名: 指导老师: 设计时间:

文***品 5年前 上传2398   0

c语言课程设计贪吃蛇

XX 大 学 C语言程序设计 课程设计(论文)题目: 贪吃蛇 院(系): 软件学院 专业班级: 学 号: 学生姓名: 指导教师:

文***品 3年前 上传424   0

高尔夫部

部门职能 高尔夫部 部门名称: 高尔夫部 上级部门: 康乐宫 下级岗位: 陪练员、服务员、拣球员 部门本职: 为客人的高尔夫球活动提供服务。 主要职能: 1. 维持高尔夫部的正常营业秩序。 2. 向客人出租球杆等球具。 3. 为客人提供记分服务、陪练服务以及相关的侍应服务。 4. 推销本店相关商品。 5. 保证高尔夫球场以及自备球具的正常使用。 管辖范围:

t***a 13年前 上传22975   0

迷你DVD管理器java

实 验 报 告课程名称:面向对象信息系统开发实 验:期中大作业班 级:02学生姓名:李康序 号:34学 号:20181060261 专 业:电子信息工程指导教师:高莲学 期:2019-2020学年春季学期 成 绩:云南大学信息学院请用Java编程语言编写一个

Y***r 4年前 上传626   0

2022年电大C++语言程序设计考试题库及答案

一、单选题1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体可以是( )。A、基本语句 B、复合语句C、空语句 D、语句序列2.A>B&&A<=B的值( )。A、为true B、为falseC、与A>B 的值相同 D、与A<=B的值相同3.每一个实在参数就是一个( )。

海***9 2年前 上传599   0

高尔夫部领班

岗位描述 高尔夫部领班 岗位名称: 高尔夫部领班 直接上级: 康乐宫主管 直接下级: 陪练员、拣球员、服务员 本职工作: 主持高尔夫部的日常工作 直接责任: 1. 每月向康乐宫主管述职一次。 2. 及时、正确地传达上级的指示。 3. 代表高尔夫部向上级投诉。 4. 每二周制订一份高尔夫部的营利计划,报批通过后执行。 5. 制订高尔夫部陪练员、捡球员、服务员技

a***9 9年前 上传26009   0

移动高尔夫

移动高尔夫  项目名称:移动高尔夫  又名:珠行万里  项目介绍:  所有队员一字排开,每人手持接力棒(半块puc管),在保证圆珠(高尔夫球等)不掉落的情况下从教练指定的位置运送到达终点。  活动规则:  1、当高尔夫球在谁的puc管上时,人球不能同时移动(即不能运用自己的平衡性一个人将球运送到终点)  2、高尔夫球不能停留  3、球不能回流  违反以上任意一项就

w***s 8年前 上传538   0

高尔夫主持词

中国人寿泰安分公司个险二部六周年庆典感恩客户答谢酒会一、会前提醒暖场音乐:“ 钢琴曲 ”等音乐1、尊敬的各位嘉宾、各位亲爱的朋友们!大家上午好,欢迎您来到中国人寿泰安分公司个险二部六周年庆典感恩客户答谢酒会的现场。请您在礼仪人员的引领下到指定的位置就坐。我们的新产品发布酒会将会在10分钟后举行,在这段时间里呢,您可以打开您的资料袋,了解一下我们为您准备的资料:其中有我们写给您

p***8 12年前 上传527   0

高尔夫部拣球员

岗位描述 高尔夫部拣球员 岗位名称: 高尔夫部拣球员 直接上级: 高尔夫部领班 本职工作: 为高尔夫部客人拣球 工作责任: 1. 为高尔夫部客人拣球。 2. 为客人记录杆数。 3. 核对高尔夫球数量是否与出租数量一致,如有缺少,立即查找,并上报领班。 4. 协助服务员的清洁工作。 5. 协助陪练员的球场检查工作。 工作范围: 高尔夫部 本文档由香当网(ht

富***闫 9年前 上传15974   0

中南大学-c++课设报告面向对象编程(C++)

中南大学面向对象编程(C++)实验报告学生姓名 学 院 信息科学与工程学院 专业班级 信息安全班 完成时间 2014年X月X日 目 录

文***品 2年前 上传479   0

高尔夫部服务员

岗位描述 高尔夫部服务员 岗位名称: 高尔夫部服务员 直接上级: 高尔夫部领班 本职工作: 为高尔夫部客人提供侍应服务 工作责任: 1. 保管客人的衣物。 2. 按客人的要求提供面巾或饮料等物品。 3. 对客人的消费进行登记,并将记录提供给领班。 4. 保持本部门清洁。 5. 协助陪练员的保管工作。 工作范围: 高尔夫部 本文档由香当网(https://w

b***x 13年前 上传23689   0

高尔夫部服务员

岗位描述 高尔夫部服务员 岗位名称: 高尔夫部服务员 直接上级: 高尔夫部领班 本职工作: 为高尔夫部客人提供侍应服务 工作责任: 1. 保管客人的衣物。 2. 按客人的要求提供面巾或饮料等物品。 3. 对客人的消费进行登记,并将记录提供给领班。 4. 保持本部门清洁。 5. 协助陪练员的保管工作。 工作范围: 高尔夫部 本文档由香当网(https://w

t***h 9年前 上传16492   0

c++期末复习资料

c++期末复习资料1、 面向对象相关概念:类:具有相同属性和行为的对象集合,把数据和操作封装在一起对象:数据+操作。面向对象特征:抽象,封装,继承,多态2、输入输出:输入cin>>a>>b;输入不能有endl。 输出cout<<a<<b<<endl;3、const修饰符:l 指向常量的指针:如const char *p=”abcd”;不允许改变指针所指的常量,如p[3]=’x’是

z***u 10个月前 上传282   0

c++程序实习报告

c++程序实习报告  针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部就班的完成各步操作就可以了,有难度的也只是第二步。这一步要进行判断,这就需要多个输出函数;还要冒泡法给工作排序,工资的计算不是在类中完成的――挺棘手的一个问题。  第二天上机的时候也很快完成了第一步

l***0 12年前 上传451   0

C语言课程设计学生通讯录管理系统设计

C语言课程设计学生通讯录管理系统设计一、题目内容的描述学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。由键盘输入数据(最好要考虑输入数据输入的格式及输入数据的有效性),然后进行以下的功能实现。程序要求主函数是一个功能选择菜单,其它各功能都用各自的函数实现。功能要求

文***享 4年前 上传720   0

电梯控制器 Verilog语言课程设计

目录摘 要 2正文 31设计目的及要求 32设计原理 32.1 设计实现原理 32.2项目分块及其实现方案 52.3电梯控制器的流程图 63设计内容 73.1基本状态设计 73.2模块设计 83.3波形仿真 9总结与致谢 13参考文献 14附录 15摘 要电梯作为垂直方向的交通工具,在高层建筑和公共场所已成为不可或缺的设备。中国是全

文***品 1年前 上传290   0

可控流水灯设计(单片机课程设计报告)汇编语言

单片机课程设计报告题 目: 可控流水灯 摘要单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括定时计数器、串口通信口、显示驱动电路,脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统。这些电路在软件的控制下准确、迅速、高效地完成程序设计者事先

文***享 1年前 上传443   0