当前位置: 首页 > news >正文

免费ppt模板大全下载的网站最快网站备案

免费ppt模板大全下载的网站,最快网站备案,官方网站建设,h5短视频源码前言 SimpleCG的使用方法在前面已经介绍了许多#xff0c;有兴趣的同学如果有去动手#xff0c;制作一些简单动画应该没多大问题的。所以这次我们来演示一下简单动画。我们刚学习C语言的递归函数时#xff0c;有一个经典例子相信很多同学都写过#xff0c;那就是汉诺塔。那…前言 SimpleCG的使用方法在前面已经介绍了许多有兴趣的同学如果有去动手制作一些简单动画应该没多大问题的。所以这次我们来演示一下简单动画。我们刚学习C语言的递归函数时有一个经典例子相信很多同学都写过那就是汉诺塔。那么我们今天就来写一个汉诺塔的直观动画演示。 运行程序下载bin/AnimateHannuo.zip · master · b2b160 / SimpleCG_Demo · GitCode 一、全部源码 #include ../import/include/CGBoard.h #include math.h #ifdef _DEBUG #pragma comment(lib,../import/lib/SimpleCG_MDd.lib) #else #pragma comment(lib,../import/lib/SimpleCG_MT.lib) #endif#define C_FLOOR_CNT 7 #define C_FLOOR_BOTTOM 380 #define C_HAN_HEIGHT 10 #define C_HAN_SPEED 30int g_nWidth 640; //画面宽度 int g_nHeight 400; //画面高度 enum ENUM_DIRECTION {enumDIR_NULL,enumDIR_UP,enumDIR_DOWN }; struct tagHannuo {int nNumber;COLORREF nColor;int nWidth;int nPosHan;int nDir;POINT ptPos; };tagHannuo g_pHannuo[C_FLOOR_CNT]; int g_nMoving -1; void DrawHan() {int i;int j0;setlinewidth(2);for(i0;i3; i ){_line( 100 200 * i, 50, 100 200 * i,C_FLOOR_BOTTOM );_line( 20 200 * i, C_FLOOR_BOTTOM, 180 200 * i,C_FLOOR_BOTTOM );}int nIndex 0;for(j0;j3;j){nIndex 0;for(iC_FLOOR_CNT-1;i0; i-- ){if(g_pHannuo[i].nPosHan j i ! g_nMoving){setfillcolor(g_pHannuo[i].nColor);_solidrectangle( 100 200 * g_pHannuo[i].nPosHan - g_pHannuo[i].nWidth/2, C_FLOOR_BOTTOM - nIndex * C_HAN_HEIGHT - C_HAN_HEIGHT, 100 200 * g_pHannuo[i].nPosHan g_pHannuo[i].nWidth/2, C_FLOOR_BOTTOM - nIndex * C_HAN_HEIGHT);nIndex;}}} } void DrawMoving() {if(g_nMoving0){setfillcolor(g_pHannuo[g_nMoving].nColor);_solidrectangle( g_pHannuo[g_nMoving].ptPos.x, g_pHannuo[g_nMoving].ptPos.y, g_pHannuo[g_nMoving].ptPos.x g_pHannuo[g_nMoving].nWidth, g_pHannuo[g_nMoving].ptPos.y C_HAN_HEIGHT);} } void DrawAll() {ClearDevice();DrawHan();DrawMoving();ReflushWindow(); } void Moving( int nItem, int nFrom, int nTo ) {g_nMoving nItem;g_pHannuo[nItem].ptPos.x 100 200 * nFrom - g_pHannuo[nItem].nWidth/2;for( g_pHannuo[nItem].ptPos.y C_FLOOR_BOTTOM - C_FLOOR_CNT * C_HAN_HEIGHT; IsShowingWindow()g_pHannuo[nItem].ptPos.y40; g_pHannuo[nItem].ptPos.y-10 ){DrawAll();Sleep(C_HAN_SPEED);}int nXStep (nTo - nFrom) * 5;int nDest 100 200 * nTo - g_pHannuo[nItem].nWidth/2;for( g_pHannuo[nItem].ptPos.x 100 200 * nFrom - g_pHannuo[nItem].nWidth/2; IsShowingWindow()abs(g_pHannuo[nItem].ptPos.x-nDest)5; g_pHannuo[nItem].ptPos.xnXStep ){DrawAll();Sleep(C_HAN_SPEED);}g_pHannuo[nItem].ptPos.x 100 200 * nTo - g_pHannuo[nItem].nWidth/2;for( g_pHannuo[nItem].ptPos.y 40; IsShowingWindow()g_pHannuo[nItem].ptPos.yC_FLOOR_BOTTOM - C_FLOOR_CNT * C_HAN_HEIGHT; g_pHannuo[nItem].ptPos.y10 ){DrawAll();Sleep(C_HAN_SPEED);}g_nMoving -1;g_pHannuo[nItem].nPosHan nTo; } void MoveHan( int nFloor, int nFrom, int nTo, int nMiddle ) {if( nFloor 1 ){Moving( nFloor-1, nFrom-1, nTo-1);return;}MoveHan( nFloor-1, nFrom, nMiddle, nTo );Moving( nFloor-1, nFrom-1, nTo-1);MoveHan( nFloor-1, nMiddle, nTo, nFrom ); } void DrawProcess() {bool bIsRunning true;int i;srand(GetTickCount());for(i0;iC_FLOOR_CNT; i ){g_pHannuo[i].nNumberi1;g_pHannuo[i].nColor RGB(rand()%200,rand()%200,rand()%200);g_pHannuo[i].nDir enumDIR_NULL;g_pHannuo[i].nPosHan 0;g_pHannuo[i].nWidth 20*(i1);}MoveHan(C_FLOOR_CNT,1,2,3);DrawAll(); } int _tmain(int argc, _TCHAR* argv[]) {//初始化if( !ShowingBoard(g_nWidth,g_nHeight, DrawProcess))return 1;//关闭图库CloseBoard();return 0; }对于写过汉诺塔的同学来说程序逻辑应该没什么难度就是在递归程序上增加了动画过程。 二、演示效果 对于5层来说是不难的但递归对于层数增加所带来的时间消耗是呈指数增加的所以通过动画来观察层数增加带来的时间消耗非常直观。在原始的汉诺塔里是64层要移完所有的层数将会世界末日因为即便到世界的尽头也无法完成。有兴趣的同学可以把代码输入并把层数加大看看。 三、代码下载 汉诺塔演示源代码 AnimateHannuo · master · b2b160 / SimpleCG_Demo · GitCode 库安装方法如下 SimpleCG库安装使用_b2b160的博客-CSDN博客
http://www.tj-hxxt.cn/news/139929.html

相关文章:

  • 瑞安商城网站建设网站剪辑培训机构排名
  • 做的高大上的网站中小企业网站建设与管理主要讲授什么
  • 网站建设单位是什么意思苏州自助建站模板
  • 医药加盟网站模板西安维护网站
  • 网站建设的业务员wordpress 注册角色
  • 单位网站建设费合同印花税推广方法及策略
  • 织梦网站怎么做杭州房产网二手房
  • 做淘宝图的素材搜索网站无锡百度竞价公司
  • 乌海市网站建设网站建设合同技术开发合同
  • 网站开发企业需要什么资质wordpress 暂停访问
  • 做一个交易网站要花多少钱成立一个公司需要哪些流程
  • 赣州做网站的公司哪家好宿舍网页设计html模板
  • 制作企业网站的版式电子商城网站建设
  • 网站建设与研发国外扁平化风格网站
  • dw网站建设基本流程网站聚合页面模板
  • 杭州网站建设出名婚恋网站开发
  • 资中做网站多少钱中国纪检监察报在线阅读
  • 如何搭建手机网站源码怎样网站建设
  • 杭州做卖房子的工作哪个网站好专业的微商城网站建设
  • 怎么查看一个网站是用什么程序做的国外设计网站怎么打开
  • 成都网站建设收费西安网站建设模板
  • 网站程序安装效果好网站建设哪家便宜
  • 网站开发 如何备案网站后台管理系统进度
  • 网站建设品牌公司哪家好英文网站怎么做
  • 做网站后台需要什么短视频引流推广软件
  • 广州的企业网站建设中国的51区在哪里
  • 怎么查看网站用什么做的做seo的公司
  • 域名和网站名不一样wordpress主题源文件
  • 英文网站标题字体wordpress与商城
  • 怎样用别人的网站做修改病句公司制作官网