如何编程游戏
首先学会一门语言,你可以从初级的C跳到C++,有些人喜欢MFC,用它也可以编游戏,但最好还是抛掉部分MFC的东西,使用DirectX吧。因为我主要学的C++,我就只谈C++了。其实还有相当好的语言如:DELPHI、JAVA等,有精力还是去学学吧!其实语言并不是最重要,关键是面向该语言的开发工具、引擎、源码的数量会对将来的开发进程大有帮助。对于已经会MFC的人,“传奇的故事学VC编游戏”似乎是福音,因为它最后还是过渡到DirectX。其次掌握一种工具,比如引擎、脚本等。引擎就是发动机的内核啦,你有什么好想法,就靠它来驱动实现。“工欲善其事,必先利其器”,与其在一个引擎上投入过多精力,不如比较选优,多搜索新的引擎,比如开发中的Novashell就不错,一旦公布源码,还是比较有力的。作者就是开源即时RPG游戏“DINKSMALLWOOD”的作者SethA.Robinson等。引擎有的是面向游戏框架的,如POPCAPFRAMEWORK搭好了框架,剩下的由你来填充。有的是面向底层DirectX的封装,比如HGE、SDL、Allego、Y2GE等。有的本身就已经是个完整的游戏了,比如金点的圣II源代码游戏引擎,会对你很有帮助,实际上,你完全可以先抛掉其它的,从圣剑英雄传2开始,体会其开发思路,然后再利用一些引擎改善它。如果是想编即时战略游戏,可以看看Pptactical、stratagus等。人工智能是你不得不掌握的一门技术,会使你的游戏倍放光彩,比如A*寻路、攻击目标的选择、经济学、有限状态机、骨骼动画等,工具有OpenSteer、pathlib、micropather等。物理引擎也是,一旦拥有物理引擎你就不愿意丢掉它,比如Physics2D、Polycolly、flatland等。如果学脚本,建议用LUA吧,WOW就是用它。同时提一下luabind工具。当然你也可以使用自己规定的脚本引擎。XML技术不错,现在很流行,WOW、Novashell、POPCAPFRAMEWORK等都使用了。用它来管理游戏资源及资源调度很方便。先在已有的简单代码上修改出自己的一个简单成形游戏是比较好的开端,至少可以鼓舞你,不要好高骛远,想一上来就怎么怎么的。借鉴现有的开源
更多追问追答
你能教我吗?qq1985503866。
不行也给我回一下
编程游戏很难,大部分都是术语,如:
3D引擎编程的4个阶段
第一阶段是了解3D原理和数学基础,大学里面学的线性代数,概率统计和高等数学完全足够,在3D中都有充分体现。最好自己能做一个软引擎,这样整个3D流水线自己完全可以掌控,然后在学DX之类的API很容易。
第二阶段不要看引擎,还是应该以实现各种效果和基本算法为基础,包括各种图形特效,场景管理,剪裁算法,各种动画算法,等等,所有那些单一的算法,如果这些都不是了解很好,那么做引擎时引擎框架的接口也不会设计好!再添加这些算法和效果时会很困难,效率也不会很高。
第三阶段,就是看大量的引擎,对引擎有很深刻的概念,3D引擎只是引擎的一部分,引擎主要是框架,如果框架搭建好了,那么引擎的效率是很显著的,其他底层细节优化,也会有明显的优势体现。
第四阶段,再好的引擎没有成功的游戏支撑都是白费,你不仅仅是做引擎,而是做的有开发价值的引擎,可以很好的为游戏服务的引擎。
那你能教我一下编程吗?
如果你想学,网络上有专门的编程方面教材。
如果你想系统的学习编程,最好先确认你有没有足够的信心和恒心去学,因为这没有想象中的简单
如果你完全出于兴趣,我想网络上的一些简单的视频教材已经能够满足你的需要了。
详细的学习编程的步骤,估计谁都不会恨详细的叙述给你听。
编程关系的基础数学中很多内容,而且编程最基础的基本学科
c语言、C++,JAVA、VB等都是最基础的。如果这几项你学不通是很难坚持下去的。最后兴趣是最好的老师,如果你有足够的兴趣和毅力,想从事编程事业,完全可以自己去报名参加软件开发工程师的培训。
目前市场行情,学基础编程价格在10000左右
那看那种教材呢?
求编程大师逐句翻译一下代码,不胜感激 Sub aaa() Dim i As Long, j As
首先把第二个表开始到最后个表的C4:T65536区域都淸空
然后把第一个表的第三列开始每列的数据填充后面的一个表
填充的规则是
从第4行开始。如果单元格为空或“休”,则不填。如果单元格以半开头,把单元格数字向上取整再减5,得到的数字为列数在相应表的相应行填充单元格内容,填充9列,如果列标超出T,则不再填充。如果单元格值不是以半开头,则去掉第一个字符和半,剩下的数字向上取整并减5,以得数列开始填单元格值,填4列,同样超出t列的不填
更多追问追答
这个是执行完宏的表,我想把整点时间改为半点时间,即7:00、7:30、8:00……23:00、23:30,如何改参数,谢谢了
文件传上来看看
单位电脑数据倒不出来朋友
其实就是员工A上a8班这个班是8:00-17:00,那么在sheet2页相应时间段显示出来,上面图是按整点统计,现在要改成按半小时统计
Subaaa()
DimiAsLong,jAsInteger,k%,c%
Dimstr$
Fori=2ToSheets.Count
Sheets(i).Range("c4:al65536").ClearContents
Nexti
Fori=2ToSheets.Count
Forj=4To[b65536].End(3).Row
WithSheets(i)
IfCells(j,i+1)<>""AndCells(j,i+1)<>"休"Then
IfInStr(1,Cells(j,i+1),"半",vbTextCompare)=0Then
str=Right(Cells(j,i+1),Len(Cells(j,i+1))-1)
c=WorksheetFunction.RoundUp(CDbl(str),0)*2-12
Fork=1To18
Ifk+c<=38Then
.Cells(j,k+c)=Cells(j,i+1)
ExitFor
EndIf
Nextk
str=Replace(Right(Cells(j,i+1),Len(Cells(j,i+1))-1),"半","")
c=WorksheetFunction.RoundUp(CDbl(str),0)*2-12
Fork=1To8
Ifk+c<38Then
.Cells(j,k+c)=Cells(j,i+1)
ExitFor
EndIf
Nextk
EndIf
EndIf
EndWith
Nextj
Nexti
EndSub
非常感谢,最后还有一点问题,整点都落在了相应的位置,涉及8:30、9:30等开始的班次在起始时间段位置不对,例如:A7.5从7:30开始,但实际宏执行完在8:30开始,帮忙再看看朋友
Subaaa()
DimiAsLong,jAsInteger,k%,c%
Dimstr$
Fori=2ToSheets.Count
Sheets(i).Range("c4:al65536").ClearContents
Nexti
Fori=2ToSheets.Count
Forj=4To[b65536].End(3).Row
WithSheets(i)
IfCells(j,i+1)<>""AndCells(j,i+1)<>"休"Then
IfInStr(1,Cells(j,i+1),"半",vbTextCompare)=0Then
str=Right(Cells(j,i+1),Len(Cells(j,i+1))-1)
c=WorksheetFunction.RoundUp(CDbl(str),0)*2-12
Fork=1To18
Ifk+c<=38Then
.Cells(j,k+c)=Cells(j,i+1)
ExitFor
EndIf
Nextk
str=Replace(Right(Cells(j,i+1),Len(Cells(j,i+1))-1),"半","")
c=WorksheetFunction.RoundUp(CDbl(str),0)*2-14
Fork=1To8
Ifk+c<38Then
.Cells(j,k+c)=Cells(j,i+1)
ExitFor
EndIf
Nextk
EndIf
EndIf
EndWith
Nextj
Nexti
EndSub