俄罗斯方块游戏开发实习报告

 

本科中期实习报告

                         

  号:                   

  业:         软件工程            

  系:                     

指导教师:                

完成日期:  20## 12 25

西安财经学院教务处  制



《俄罗斯方块》小游戏开发实习报告

   

    俄罗斯方块是个老幼皆宜的小游戏,它的实现由四块正方形的色块组成,然后存储在一个数组的元素中,计算机随机产生不同类型的方块,根据计算机时钟控制它以一定的速度下落,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,当出现满行的情况时将自动消除并计算分数。游戏最后由玩家的得分来评判水平的高低。

    在实习中我们通过屏幕的绘制、时间的控制、键盘的读取、数据的处理和消除主游戏区底部填满的行几个方面来实现俄罗斯方块的开发。

一、实习目的

  中期实习是大学教育一个极为重要的实践性教学环节。我们通过开发一个俄罗斯方块游戏,深入理解、掌握、运用老师所传授知识,进一步深化专业知识,增强感性认识,培养我们综合运用所学的基础理论、基本技能和专业知识;锻炼我们独立分析和解决实际问题的能力。在实习中教会我们把理论和实践结合起来,提高实践动手能力,为我们毕业后走上工作岗位打下一定的基础。通过中期实习,我们可以了解软件行业基本情况,从整体项目设计和建模开始,了解游戏软件的需求、分析游戏软件的功能、进而构建游戏软件的构架;同时可以检验教学效果,为进一步提高教育教学质量,培养合格人才积累经验,并为自己能顺利与社会环境接轨做准备。

二、实习内容

(一)俄罗斯方块的基本规则

1、游戏方块预览功能。在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块。由于在此游戏中存在7种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。 

2、游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、快速下移、自由下落、旋转功能,以及行满消除行的功能。

(二)开发环境

     在中期实习中,整个游戏是在linux环境下进行开发的。

     嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好、安全性好。

(三)俄罗斯方块的实现方法

    在为期四天的实习中,我们在郭老师的带领下从零开始,运用所学过的知识和新的概念、方法,自己动手设计了俄罗斯方块小游戏,体验了一次小游戏开发的完整过程。游戏的设计分四个模块进行。

 1、屏幕的绘制

    在屏幕的绘制中,首先应该修改屏幕的颜色,我们学习到修改代码为 \33[nm,其中n 为(30-37)修改的为背景色,n为(40-47)修改的为前景色。其次,要定义一个方块类,将生成的小方块放入其中。还没学习之前,我很疑惑那些小方块是怎样生成的,而郭老师巧妙的将前景色和背景色设置为同一种颜色,这样,一个字符显示在屏幕上就是一个小方块。

 2、时间的控制

控制方块的下落速度是设计中必须实现的功能,方块的下落速度也就是时间间隔,因此我们只需定义一个时间类,设置好时间间隔即可。其次,我们也需要控制屏幕的刷新速度,而刷新速度必须比方块下落时间间隔快。因此,如何在一个程序中体现两种不同的时间控制是此模块的一个难点。在郭老师的指导下,我们通过一个while语句很好的解决了这个问题。

while(1){

              ftime(&ctm);

              if(ctm.time * 1000 + ctm.millitm - ptm.time*1000-ptm.millitm > 1000){

                     timer();

                     ptm = ctm;

       }

 3、键盘的读取

   我们需要对键盘中上、下、左、右键的读取实现对方块的变形、下落、右移和右移的功能。在此模块中,我们用到了第三方库中定义的方法。

 4、数据的处理  

 在第四个模块中,我们主要处理三个数据。 

(1)方块的下落,相应键盘:需要判断下键是否按下,并加快时钟周期。完成下落后,还原到原来的时钟周期。

(2)形状的下落, 实现旋转:不同旋转角度显示不同方向的方块来完成的。所以程序要控制方块的旋转方向,只要控制显示哪副图就可以了。

(3)消去主游戏区底部填满的行:查看主游戏区底部的每行是否填满的方式是,遍历主游戏区的二维数组,判断每行的所有方格的flag表示是否都为1,都为1时,表示图形都填满了,这时可以消除填满的行了。    

三、实习总结

中期实习是培养我们综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。回顾起中期实习,至今我仍感慨颇多,在这为期四天的日子里,可以说得是苦多于甜,但是我们的收获也是颇丰的。

首先,我们不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。俄罗斯方块是经典游戏,也是每一个程序员必须会编写的程序之一,但是编程就像写文章,不同的人有不同的看法,实现的算法也就不尽相同。通过编写这个小游戏,我学会了将实际问题抽象成程序。比如对方快存储结构体的定义,方块编写前后的联系,以及最后极端情况的调试。在这个程序中,有几个函数是我初次使用,以前也不知道那些函数。C提供了丰富的库函数,熟练掌握那些函数,是对一个优秀程序员基本的要求,我们要通过大量的实践来熟悉这些函数。

    其次,在整个开发的过程中,我明白学习来不得马虎,一个微小的疏忽可能导致致命的错误,虽然经历了很多次失败的,但在失败中我们成长。通过查阅资料让我知道了许多未探索的知识,团队的合作更让我们理解到人多力量大的道理,而老师的谆谆教导也让我受益匪浅。

另外,这次中期实习使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。我们在实习过程中遇到很多问题,可以说得上是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在实习的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过中期实习之后,把以前所学过的知识重新温故。

    最后,也是最重要的一点,在这次俄罗斯方块小游戏的设计中,我发觉了团队合作的重要性。当你为程序中一个小错误找不出而急的焦头烂额时,也许队友很快就能帮你找出错误;当你思考的问题进入瓶颈难以进展时,可能队友的一个观点就让你豁然开朗。一个人能力与思维方式毕竟是局限的,通过团队合作,我们可以集思广益,共同进步。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的指导下,终于迎刃而解。在此我表示感谢。今后步入社会的日子里,我会更加努力的学习。

 

第二篇:VC游戏开发俄罗斯方块

!"##游戏开发俄罗斯方块

徐昶!"郭庆平

"

"武汉理工大学计算机科学与技术学院$湖北武汉$)&""+&)

摘要!本文用面向对象的思想阐述了俄罗斯方块游戏实现的机制$并通过,-..+/"实现了这个游戏*关键词!,-..+/"%面向对象的程序设计%俄罗斯方块中图分类号!’(#!!)*"

文献标识码!+

文章编号!!,,-.#,&&$",,/%,&.!!,!".,"

012345167822395:;36:9<1=>?@AA

01-2345%67189:45$;:45!

<-=>>?5?=@-=A;BC?DEF:?4F?GH?F24=>=5IJB23414:K?DL:CI=@H?F24=>=5I6JB234)&""+&6-2:43M

+=2B;9CBDH2?C2?L:LA3:4>IL?CL@=DC2C2?A?F234:LA=@NBLL:347D:O73A?P:C28QR?FCS8D:?4C?OA?C2=O/T43OO:C:=46D?3>:U?LC2?53A?QI,-VV/

E1>FG;62D,-VV+/"W88X<8QR?FC$8D:?4C?OXD=5D3AA:45MWNBLL:347D:O73A?

VC游戏开发俄罗斯方块

!引言

本文主要讲解如何使用!"##$%&和面向对象的思想来实现俄罗斯方块的游戏!

游戏的主要思路是"

’EF>@A%6I?7’EF>@A%9I?7’EF>?A%6IJ7’EF>?A%9I?7’EF>JA%6IG7’EF>JA%9I?7

此时该图形位于主游戏区最上方的图形$使该图形移动就可以通过在时间周期内控制4.5数组中G个元素的横坐标就可以了$并且将坐标改变后的方块图形重绘%

"首先定义一个方块类

’()***+,)-./0,1(2’3

2456788方块在主游戏区的横坐标2459788方块在主游戏区的纵坐标245:();788是否有图形245*<)0.788图形的种类=7

游戏分为主游戏区及游戏提示区如图"*+,)-.0)-.45>?@A>@BA788主游戏窗口*+,)-.’<2(C>DA>DA788游戏提示窗口*+,)-.’EF>GA7H8控制主游戏窗口方块所有图形都是由四个方块组成#所以该数组只需要定义G个元素就够了

*+,)-.4.5>GA788控制提示窗口方块245*0..C788速度2450E245788分数

主游戏区是一个?&行@B列的一个二维数组组成的!

:E-K2I&72LG72##M

/’EF>2AN6OO788改变横坐标$使图形下移=

88将改变后的坐标乘上单个方块图形的大小$进行绘制图形"P.’5-.’5@Q’EF>&AN9RJST’EF>&A%6RJ&O@&T’EF>&A%9RJ&OJ&T’EF>&A%6RJ&OU&VT

-.’5?K’EF>@A%9RJ&T’EF>@A%6RJ&O@&T’EF>@A%9RJ&OJ&T’EF>@A%6RJ&OU&VT

-.’5JK’EF>?A%9RJ&T’EF>?A%6RJ&O@&T’EF>?A%9RJ&OJ&T’EF>?A%6RJ&OU&VT

-.’5GK’EF>JA%9RJ&T’EF>JA%6RJ&O@&T’EF>JA%9RJ&OJ&T’EF>JA%6RJ&OU&V788重绘移动后的图形

W4X)(2C)5.P.’5K-.’5@V7W4X)(2C)5.P.’5K-.’5?V7W4X)(2C)5.P.’5K-.’5JV7W4X)(2C)5.P.’5K-.’5GV7

&游戏中的各种图形的表示

在俄罗斯方块中一共有U种最基本的图形$这七种图形的表示形式分别使用他们在主游戏区的二位数组中的方块位置的不同来表示!

’EF>&A%6IJ7’EF>&A%9I?7’EF>?A%6I@7’EF>?A%9I?7

’EF>@A%6I?7’EF>@A%9I?7’EF>JA%6I@7’EF>JA%9IJ7&图形@’

游戏界面图

#控制时间间隔$用于游戏中控制形状的下落%!

由于方块是由主游戏区的横纵坐标来描述的如图形

!!!!

’EF>&A%6I@7’EF>&A%9I?7

收稿日期!!""#$"%$!&

’EF>&A%6I@7’EF>&A%9I?7’EF>?A%6I?7’EF>?A%9IJ7

’EF>@A%6I?7’EF>@A%9I?7’EF>JA%6IJ7’EF>JA%9IJ7&图形?’

作者简介!徐昶"%’(%!#$女$湖北武汉人$硕士研究生$研究方向!计算机网络%郭庆平&%’)*$#$男$江西湖口人$博士生导师$研究方向!分布式并行处理’网格计算’网络安全和电子商务(

$%&’

!"#$%&’()*+!",$%&’-).+0",$.&’().+0",$.&’-)/+

!",$*&’()*+!",$*&’-)/+0",$/&’()/+0",$/&’-)/+!图形/"

0=CDEFGHIJKLMNOPQD->"R9))%BMFN66SN,D<?*B+

TD:SN,D<?*;*%%;KUVVB+QX->"R9)*+YZ<D=Q+Y

当下键弹起时%

WW加快时钟周期

0",$%&’()*+0",$%&’-)/+0",$.&’().+0",$.&’-).+

0",$*&’().+0",$*&’-)/+0",$/&’()/+0",$/&’-).+

!图形1"

0=CDEFGHIJKL

MNO?QD->"R9))*BWW判断下键是否按下MFN66SN,D<?*B+

TD:SN,D<?*;2%%;KUVVB+WW还原到原来的时钟周期QD->"R9)%+YZ<D=Q+Y

#消去主游戏区底部填满的行!最多可以消去四

行"

查看主游戏区底部的每行是否填满的方式是%遍历主游戏区的二维数组#判断每行的所有方格的O6=[表示是否都为*#都为*

0",$%&’().+0",$%&’-).+0",$.&’().+0",$.&’-)/+

0",$*&’()*+0",$*&’-)/+0",$/&’().+0",$/&’-)1+

!图形2"

时#表示图形都填满了#这时可以消除填满的行了$

0",$%&’()*+0",$%&’-).+0",$.&’().+0",$.&’-)/+

0",$*&’()*+0",$*&’-)/+0",$/&’().+0",$/&’-).+!图形3"

!",$*&’().+!",$*&’-).+!",$/&’()1+!",$/&’-).+!图形4"

!",$%&’()*+!",$%&’-).+!",$.&’()/+!",$.&’-).+

!图形的旋转

以上七种基本的图形的旋转方式各有不同#但是我们也可以找到其中的规律$图形*#图形/#图形2各自都有1种不同的旋转方式#图形.#图形1#图形4各自都有.种不同的旋转方式#图形3没有旋转方式$这些旋转的图形也是用以上的二维数组来表示$

这时可以定义一个变量5"667"89:;如果是图形*#图形/#图形2就用随机数<=9>?@与1取余#根据余数的数值来判定当前图形的形状#并且将5"667"89:AA;使现在的图形变成旋转后的图形的数值#产生依次旋转的效果$同理图形.#图形1#图形4就用随机数<=9>?B与.取余$

\"<?])*^+]_)%+]‘‘BMQ)*;C8,)%+

\"<Pa)%+ab*2+aAABWW遍历每行是否填满

M]OPc=<D9:$]&$a&’O6=[))%BWW该行有没有填满的方格MQ)%+Z<D=Q+YY]OPQ))*B

MC8,AA+WW增加一行;并清空该行O"<Pa)%+ab*2+aAABMc=<D9:$]&$a&’O6=[)%+WW将该行的符号标识位清零c=<D9:$]&$a&’Cd=cD)%+Y

75D0:<D0:P%;]e/%A1%;12%;]e/%A4%B+WW将该行重绘f9g=6]>=:D5D0:P<D0:B+Y

$结语

游戏提示区的实现方式与主游戏区类似$该软件只包含了俄罗斯方块游戏的基本功能#但该程序采用了面向对象的设计方式#易于扩充$

参考文献#

$*&7d=<6DChD:i"6>’JN9>"RC程序设计$j&’北京大学出版社’.%%1!^"’

$.&侯俊杰!侯捷"’深入浅出jk7$j&’华中科技大学出版社’.%%*!*"’

$/&陈宏伟#袁国斌’如何用E7AA3’%实现俄罗斯方块游戏$H&’现代计算机’*/*%ll!^*’

"按向下方向键时加速图形下落速度

响应按下键时的消息时%

!上接第""#页$

业银行用户进行有条件的资源访问限制措施$为此#在银行端的防火墙等设备中通过设定合理的权限规则#使企业银行用户对银行总部资源的访问权限能够被限定在一个很小的范围内!银行前置机"&使企业银行用户对银行资源应用的访问也仅仅限于前置机中与本企业相关的账务处理部分内容等#保证企业用户对银行网络资源访问的安全$

!结束语

由于上述袖珍型EhK产品价格低廉#因此#本方案具有’安全性高()’实用性强()’投资省(等特点同时也具有相当的’灵活性(和’可操作性(#这对电子政务)电子商务以及安全性要求比较高的移动办公应用等业务开展也具有相当的参考价值*

参考文献#

$*&谢旭初’企业银行系统及其设计$m&’计算机与现代化#*^^^

P/BL11‘14’

$.&吴越;等’虚拟专用网络安全通信机制的研究与实现$m&’通信学报#E"6’.1;.%%/PlBL*3l‘*42’

$/&EhK技术概述$noWIV&#p::cLWWRRR’0D(c<DCC’0",W=<:]06DW/^’cpc’$1&q-JrVVh*产品手册$noWIV&#p::cLWWRRR’p8=s]9’0",’09Wc<">80:WcGi-R=66h*’p:,’

$2&吕宗瑛;曾庆伟’应用于企业网的EhK技术研究$m&’武汉理工大学学报!交通科学与工程版"E"6’.4;.%%/P*@L*%/‘*%2’

$3&林岗’EhK在广西电脑福利彩票系统中的应用$m&’计算机工程#E"6’/%;.%%1P**@L*4%‘*4/’

$4&李丹;盘善海’TTVEhK在电子政务中的应用$m&’信息安全与保密通信#.%%2Pl@L.1‘.2’

$l&张卓其’电子银行$j&’北京%高等教育出版社#.%%.’P*@’$^&谢希仁’计算机网络$j&’北京%电子工业出版社#.%%/’P3;1@’

VC游戏开发俄罗斯方块

!"!#

VC游戏开发俄罗斯方块

VC++游戏开发俄罗斯方块

作者:

作者单位:

刊名:

英文刊名:

年,卷(期):

被引用次数:徐昶, 郭庆平, XU Chang, GUO Qing-ping武汉理工大学,计算机科学与技术学院,湖北,武汉,430063电脑知识与技术(学术交流)COMPUTER KNOWLEDGE AND TECHNOLOGY2007,1(4)0次

1.Charles Petzold Windows程序设计 2004

2.侯俊杰 深入浅出MFC 2001

3.陈宏伟.袁国斌 如何用VC++6.0实现俄罗斯方块游戏

1.学位论文 彭子明 强力旋压工艺分析软件及旋压力和偏载力研究 2004

该文以大型商用非线性有限元软件ANSYS/LS-DYNA为分析平台,在国内首次开发了强力旋压工艺分析软件系统—《TX1.0》,该系统可对筒形件、小锥度锥形件、带肋筒形件和错距旋压筒形件等四种典型进行工艺分析.该系统采用了三维参数化建模和参数化网络、动态显示求解、基于VC++6.0 MFC的Windows界面开发、面向对象的程序设计等技术,系统操作简单、分析效率高、实用性强.

2.学位论文 李怀峰 某型地空导弹武器检测系统的研究 2006

采用先进的测试仪器和测试方法是对现代复杂武器系统进行检测的必然要求,现在计算机测控技术发展十分迅速,军用测试技术尤为突出。本文所述的我军以前装备的对某型地空导弹系统进行检测的二级检测设备,由于其技术落后、体积庞大、结果复杂、可靠性较低、操作繁琐,已经无法适应未来高技术条件下快速机动的战争要求,所以要对其进行革命性的改进和设计。

本论文以先进的PXI(PCI eXtensions for Instrumentation,面向仪器系统的PCI扩展)模块化仪器系统为核心,将PXI总线自动测试技术、面向对象的程序设计、智能化软件技术、光电技术及开关电源等新技术相结合,应用于某型地空导弹检测系统的研制之中,对以前的装备进行了彻底的改进,实现了检测系统的小型化和机动化。

论文的主要工作包括以下几个方面:

1.对地空导弹检测系统硬件部分进行重新设计,重点介绍了武器系统中发射机构部分和导弹部分的检测设备的研制,其中对发射机构测试部分陀螺转速反馈信号源设计、信息信号源设计、位标信号源、模拟负载设计及信号调理电路设计进行的详细的介绍;

2.软件部分,在VC++6.0环境下,采用面向对象的编程方法进行编程,充分考虑了对多种型号导弹进行测试的需要,采取了足够的安全措施,保证了导弹测试的安全性和高效性;

3.将软件工程理论中相关的测试技术应用于检测系统的调试和定型之中,采用黑盒测试技术和白盒测试技术对测试系统进行分析优化,充分论证了所研制系统的实践性和准确性;

4.对检测系统的实验数据进行处理,剔除异常数据,将数据平滑算法应用于检测系统的数据处理中:

5.对检测系统的研制进行总结,介绍系统的使用情况,并对系统的未来发展进行了展望。

3.期刊论文 李英.许诘.刘光蓉 基于VC++6.0的水平螺旋输送机选型设计研究 -武汉工业学院学报2002,""(1)

建立了水平螺旋输送机选型设计的数学模型,在Visual C++6.0的平台下,利用面向对象的程序设计,实现了水平螺旋输送机计算机选型设计.参数输入、参数输出和图形显示设计在同一界面上,采用自动、标准和人工三种方式对中间计算所得参数进行圆整、取值.软件界面友好,使用方便.

4.学位论文 姜爽 基于棉花形态模型的虚拟生长系统研究 2007

本研究在综合国内外相关研究成果的基础上,以棉花为研究对象,以20xx年和20xx年不同氮素水平和播期试验为基础,运用系统分析原理和数学建模技术,综合棉花各个器官形态生长过程与主要环境影响因子之间的定量关系,构建了基于有效积温的棉花主茎叶、果枝叶、主茎、果枝、棉铃形态模型。应用面向对象的程序设计,在 Visual C++平台上引入OpenGL系统,构建了综合性的基于棉花形态模型的虚拟生长系统。主要研究结果如下:

1.建立了主要效应因子模型

运用数学建模方法,构建了温度、氮素、水分和化控等效应因子模型,该系列效应因子模型能够较好的解释和反应各因子对棉花器官形态动态生长变化的影响。

2.建立了棉花茎、枝、叶形态模型

根据20xx年盆栽试验数据,以Logistic方程为基础,在综合考虑氮素、水分、化控等因子影响的基础上,构建了以有效积温(GDD)为驱动变量的棉花主茎叶、果枝叶、主茎、果枝等器官的形态模型,并利周20xx年品种和氮肥试验数据对模型进行了检验。结果表明,棉花主茎和果枝叶片长度、宽度、叶柄长度及主茎节间和果节的长度和粗度等各个器官形态模型的均方差根(RMSE)分别为0.66cm(n=118)、0.87cm(n=118)、0.77cm(n=118)、0.57cm(n=111)、0.77mm(n=111)、0.43cm(n=107)、0.55cm(n=107)、0.43cm(n=107)、0.73cm(n=130)、0.16mm(n=130),这充分表明棉花各个器官形态模型模拟值和观察值具有较好的吻合度,模型具有较高的模拟精度和较好的预测性。

3.建立了棉铃形态模型

在20xx年盆栽试验的基础上,首先将棉铃分为铃长和铃宽两部分分别进行统计分析,然后以有效积温(GDD)为主线,量化了铃长和铃宽与有效积温的动态变化关系,用Logistic方程分别构建了铃长和铃宽形态模型,并利用20xx年品种和氮肥试验资料对棉铃形态模型进行了检验。结果表明,铃长和铃宽形态模型的均方差根(RMSE)分别为0.39cm(n=110)、0.4cm(n=110),模型具有较高的精确度和预测性。在此基础上,根据棉铃体积与铃长、铃宽的关系构建了棉铃体积形态模型。

4.建立了棉花器官虚拟显示模型

基于棉花各个器官的形态特征,基于OpenGL函数和MURBS曲面分别构建了棉花叶片和棉铃的虚拟显示模型,应用二次曲面.柱体构建了叶柄、主茎节间和果节的虚拟显示模型,然后根据棉花拓扑结构将各个器官的虚拟显示模型进行组合,构建了棉花整株虚拟显示模型,显示效果表明,该模型具有一定的可行性和实用性。

5.建立了基于棉花形态模型的虚拟生长系统

运用系统分析方法,以面向对象的VC++6.0编程语言为开发工具,运用VB 6.0设计系统界面,利用Access 2000设计数据库,构建了基于棉花形态模型的虚拟生长系统(VGSBCMM),该系统主要包括人机接口、数据库、形态模型库、虚拟输出模块和场景控制模块,它具有较强的系统性、动态性、机理性、预测性等多重优点,可实现棉花预测数据的管理、器官形态生长预测、棉株动态漫游等多项功能。VGSBCMM成功的研制,补充完善了棉花生长模型,为今后数字棉作系统的研制奠定了一定的基础。

5.期刊论文 李芃.黄少斌.高贞彦.黄滨.Li Peng.Huang Shaobin.Gao Zhenyan.Huang Bin VC++6.0编程技巧几则 -电脑学习1999,""(2) Microsoft公司的Visual C++6.0是当前最新的面向对象的程序设计语言.其方便的工程向导,易学的工作平台以及功能强大的可视化编程工具深受广大软件开发人员的喜爱.本文介绍用Visual C++6.0的MFC编程的几个技巧.

6.学位论文 孙波成 “平法”框架柱钢筋表达模型及工程量统计系统研究 2002

该文的主要工作如下. 对"平法"施工图中框架柱钢筋信息的注写规则进行了深入的分析和研究,对完整反映框架柱钢筋的各类信息表达特点进行了归纳,在此基础上利用面向对象的程序设计方法及C++语言建立了描述框架柱钢筋所有信息的表达模型;由于在"平法"施工图中各类构件钢筋的几何信息是一种抽象的以参数表达的信息,影响参数由图中钢筋的标注信息和标准构造详图中的构造要求确定.文章通过对框架柱钢筋信息影响参数和构造要求的研究,建立框架柱钢筋几何信息的参数化图库;通过对"平法"构造详图中的数据.图形、构造要求进行研究,运用数据库理论详细表达其中的内容,建立针对构造详图的数据库;系统可直接调用数据库的数据,当规范修改时,只需要改变数据库的数据,对系统影响不大. 系统利用ODBC技术读取数据库中各类钢筋信息,经过处理后系统生成的钢筋统计信息又存入数据库,利用数据库的统计、汇总功能,达到在VC++6.0编程环境下进行钢筋工程量的统计和汇总工作的目的.

7.学位论文 马占旗 低渗储层油水两相非达西渗流数值模拟研究 2007

目前一般商用模拟器的基本渗流方程是建立在达西渗流方程基础之上,因而其用在具有非达西渗流特征的低渗油藏上将会对计算预测结果产生较大的误差。低速非达西渗流数值方法的研究工作尚少,更难见于成熟的商业模拟器,因此本文在总结分析低渗透储层非达西渗流机理及几种为国内外学者所认可的非达西渗流数学拟合模型在使用上的优缺点的基础上,推导出了具有变启动压力梯度的油水两相三维非达西渗流模型,用控制体积有限差分方法对该渗流模型进行了的离散化处理,并研究探讨了非线性项的全隐式线性化方法和井底流压隐式处理方法;另外,本文应用Newton-Raphson迭代算法原理推导了油水两相的迭代方程,并给出迭代方程联立解法矩阵形式,而且还详尽的描述了组合ILU(0)预处理技术和广义最小残量算法(GMRES)线性方程组求解方法,并用VC 6.0编制了包含GMRES、ILU(0)及稀疏矩阵压缩存储方法组的线性方程静态类库GMR;此外,本文还运用面向对象的程序设计方法设计非达西渗流数值计算程序SimCal中网格、流体、井、计算控制、求解算法、数据库访问控制等类模块。最后本文对比了Eclipse 100与本文SimCal的计算结果,并应用SimCal研究了达西流、

非达西流以及三种仅包含油相恒定启动压力梯度渗流条件下的油井生产情况,研究结果表明:(1)在达西流渗流条件,SimCal计算结果是可信赖正确的,与Eclipse的平均偏差约为

7.66%;SimCal非达西渗流计算结果是合理的;(2)在仅考虑油相启动压力梯度情况下,启动压力梯度越大,生产井的日产油量愈少。(3)在非达渗流数值解问题处理上,ILU(0)预处理和GMRES算法组合是可行的。

本论文的研究结果对低渗非达西渗流数值模拟计算方法的改进和提高具有一定参考价值。

8.期刊论文 丁华锋.黄真.DING Huafeng.HUANG Zhen 基于环路特性的运动链拓扑图及特征描述的自动生成 -机械工程学报2007,43(11) 基于运动链拓扑图环路的数组描述及环路数组之间的相互运算,给出通过基本环数组之间的相互运算构成组合环的算法及其条件,并给出运动链的唯一数字特征描述.然后,以

Windows 为平台,以VC++6.0为工具,利用面向对象的程序设计方法,开发了一套集运动链拓扑图绘图及唯一数字特征描述--特征邻接矩阵和特征描述代码自动生成的计算机程序.此程序的最大特点是不管运动链拓扑图的画法形式如何改变,项点标号方式如何改变,计算机都能自动生成其唯一数字描述,从而实现运动链拓扑图的唯一数字化,并为机械概念设计的自动化、智能化和网络化创造了条件.结果表明,提出的程序解决了机械概念设计过程中运动链拓扑图的唯一数字描述方式难以计算机自动实现问题.

9.学位论文 崔凯 6-DOF并联机器人仿真系统的研究与实现 2002

本文首先介绍了燕山大学研制的六自由度并联机器人大型实验室样机的结构特性及数学模型,并在此基础上提出了6-DOF并联机器人仿真系统的总体设计方案;然后为仿真系统的开发选定了合适的工具,介绍了面向对象的程序设计工具Microsoft Vc++6.0、图形开发工具OpenGL和控制系统仿真工具Matlab5.3的工作特性及与本系统开发工作的相关性;随后,重点介绍了本文对于6-DOF并联机器人机构学正解问题中的一种改进解析快速算法,通过该算法解决了传统正解运算依赖数学工具软件、不能满足实时运算的问题;在运动图形的仿真中使用新的三维图形生成技术,并对于运动图形干涉问题进行了讨论;控制系统仿真设计是本系统中最重要的模块,本文在给出设计理论及方法后,应用本文提出的方法改进了现有控制系统的PID控制算法;最后通过具体实例,逐一展示了系统各部分模块的工作效果,验证仿真系统的有效性。

本文在对6-DOF并联机器人的分析及仿真系统的设计中,基本完成了系统设计目标要求,其中对于机构学、图形仿真和控制系统的改进方法具有一定的理论和应用价值,6-DOF并联机器人仿真系统对于此型机器人的研究和发展可以起到很好的辅助作用。

10.期刊论文 丁华锋.黄真.曹毅.DING Huafeng.HUANG Zhen.CAO Yi 运动链拓扑图的自动生成及图谱库的建立 -机械工程学报2006,42(4) 以Windows为平台,以VC++6.0为工具,利用面向对象的程序设计方法,基于周长拓扑图概念及与其具有一一对应关系的特征描述代码,开发了一套根据运动链的特征描述代码自动生成运动链拓扑图的软件系统.该软件系统还可以根据拓扑图的拓扑特性自动分类,保存运动链拓扑图,并且还具有智能模糊查找功能,为拓扑图图谱库的建立及机械概念设计的自动化、智能化和网络化创造了条件.

本文链接:http://d..cn/Periodical_dnzsyjs-itrzyksb200704067.aspx

授权使用:云南大学(yndx),授权号:7f4e83ee-08ae-4187-beb6-9e4f014ee1d6

下载时间:20xx年12月17日

相关推荐