- Funcode游戏制作
- 前言
- 一、基于Funcode的小飞虫
- 二、使用步骤
- 1.游戏效果图
- 2.游戏代码
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、基于Funcode的小飞虫示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤 1.游戏效果图 2.游戏代码#include总结#include "CommonAPI.h" #include "LessonX.h" // // int g_iGameState = 0; // 游戏状态,0 -- 游戏结束等待开始状态;1 -- 按下空格键开始,初始化游戏;2 -- 游戏进行中 // void GameInit(); void GameRun( float fDeltaTime ); void GameEnd(); float g_gameTime=10.f; float g_gameScore=0.f; float f_PaiziPosX=0.f; float f_PaiziPosY=0.f; //拍子的初始角度 通过拍子的初始角度来进行拍的动作 float fOldPaiziRotation=0.f; //定义最高分数 int g_HightScore[5]; //拍子的重置时间 float fResetPaiziRotation=0.f; //定义变量 初始化虫子的初始位置 初始速度 最终位置 float fPosx=0.f,fPosy=0.f,fPosxToWhere=0.f,fPosyToWhere=0.f,fSpeed=0.f; //定义变量 初始化屏幕的上下左右坐标 float fScreenLeft=0.f,fScreenRight=0.f,fScreenTop=0.f,fScreenBottom=0.f; //定义结构体 表达多个虫子 struct FlyBug { char szName[128]; int iScore; }FlyBugs[15]; //定义飞虫的数量 int g_iCount=0; //============================================================================== // // 大体的程序流程为:GameMainLoop函数为主循环函数,在引擎每帧刷新屏幕图像之后,都会被调用一次。 //============================================================================== // // 游戏主循环,此函数将被不停的调用,引擎每刷新一次屏幕,此函数即被调用一次 // 用以处理游戏的开始、进行中、结束等各种状态. // 函数参数fDeltaTime : 上次调用本函数到此次调用本函数的时间间隔,单位:秒 void GameMainLoop( float fDeltaTime ) { switch( g_iGameState ) { // 初始化游戏,清空上一局相关数据 case 1: { GameInit(); g_iGameState = 2; // 初始化之后,将游戏状态设置为进行中 } break; // 游戏进行中,处理各种游戏逻辑 case 2: { // TODO 修改此处游戏循环条件,完成正确游戏逻辑 g_gameTime-=fDeltaTime; //实现倒计时的效果 一次减 一秒 if( g_gameTime>0 ) { GameRun( fDeltaTime ); } else { // 游戏结束。调用游戏结算函数,并把游戏状态修改为结束状态 g_iGameState = 0; GameEnd(); } } break; // 游戏结束/等待按空格键开始 case 0: default: break; }; } //============================================================================== // // 每局开始前进行初始化,清空上一局相关数据 void GameInit() { g_gameTime=10.f; //设置时间为10秒 f_PaiziPosX=dGetSpritePositionX("paizi"); f_PaiziPosY=dGetSpritePositionY("paizi"); //获取排子的位置 fOldPaiziRotation=dGetSpriteRotation("paizi");//获取拍子角度的 fScreenBottom=dGetScreenBottom(); //返回值下边坐标值 fScreenLeft=dGetScreenLeft(); //返回值左边坐标值 fScreenRight=dGetScreenRight(); //右边坐标值 fScreenTop=dGetScreenTop(); //返回值上边坐标值 dSetSpriteVisible("kaishi",0); //将开始文字隐藏起来 dSetTextValue("Time",g_gameTime); //文字精灵显示某个数字 dSetTextValue("Score",g_gameScore); dShowCursor(0); //将鼠标隐藏 AddFlyBugs();//建立五个大虫 七个小虫 for (int i=0;i 0) { fResetPaiziRotation-=fDeltaTime; //获取程序运行的时间 if(fResetPaiziRotation<0) { dSetSpriteRotation("paizi",fOldPaiziRotation); } } dSetTextValue("Time",g_gameTime); //获取g_gameTime实时显示文字倒计时信息 dSetTextValue("Score",g_gameScore);//设置分数 }
该游戏主要通过结构体数组来控制生成的飞虫的属性,
缺点是飞虫的数量是确定的。
且学习到了用 sprintf 函数 拼接字符
sprintf(FlyBugs[g_iCount].szName,"feichong_%d",g_iCount);
源代码及完整游戏资源



