游戏编程,电脑编程入门自学。

原标题:电脑编程入门自学者一定要看

电脑编程入门自学必定会遇到很多问题,在自学之前我们有必要了解一些编程的基本知识,比如电脑编程需要什么基础,

【电脑编程入门自学需要高学历吗?】答案显然是否定的,年龄可能对学编程有一定的影响,比如50岁以上的可能就不适合再学编程,而学历的影响相对就很小,无论你是高中毕业还是本科、大专毕业,学编程完全都没有问题。

【电脑编程入门自学好学吗?都要学哪些东西】

电脑编程首先要有兴趣,否则很难想象自己的学习之路能够一直继续下去。电脑编程需要一定的逻辑思维,如果你逻辑思维不是很好那么你还是算了吧。除此之外更注重勤奋,因为码代码不是一天两天就能完成的,天才尚且在于勤奋,何况我们呢。具体学习的东西有很多,现在的编程语言有C#、C、C++、Java、PY、PHP等等,选择一门适合自己的语言,然后再决定从何学起,比如java就要学Java语言基础,深入理解Java面向对象核心思想,掌握Java集合框架、多线程、IO、网络编程以及/yunhexinwen/it/3138.html

}

(接下来的工作都和菜单有点关系,包括各种“windows资源”的应用、对话框、文本控件等。所以统一命名为“菜单篇”。)

一晃又是十天没动静,可以想象猪哥必然又是吃了一大口翔。上次说到“搞定MFC”,好吧,我解释下,其实意思是“搞定对MFC的初步了解”。下面说下这些天的一些领悟。

Windows程序设计》Charles Petzold 著 比较老,最后一版成书于上世纪。最新(应该也是最好)的版本是清华版珍藏版。

先前我下载到一个台湾版的,翻了下发现还在讲win95就丢一边了,真是有眼不识泰山。搞windows编程不好好看看这个说出去恐怕要被人笑。

之前凭偶尔看到的三言两语,我的印象中MFC是一个专门搞各种窗口菜单按钮对话框啥的偏可视化编程的玩意。等到深入了解,才发现大错特错。

网上推荐较多的MFC教材主要有三本:

大多数人偏好第三本,不过我本人倒觉得第二本也还不错,侯捷这家伙和大多台湾人一样是啰嗦了点不过讲得挺仔细的。统统弄来根据自身情况结合起来看是王道吧。

这也是为什么猪哥搞了整整十天才仅仅有了一个了解的缘由。

那么到底什么是MFC呢?

想清楚一个简单的道理就明白了。一个商业化操作系统想要占领市场,必须有一帮程序员帮它写应用软件。所以操作系统有义务为旗下的程序员提供更多的API函数来让写软件变得更省事。

接着,大家发现假如统一采用某种通用的形式来写软件——比如都有一个一模一样的窗口,然后有些菜单、按钮、对话框什么的。虽然牺牲了一些个性,但效率就又提升了一个档次。软件业的设计模式和传统制造业一样,从手工作坊逐渐朝工业化标准化发展。于是MFC应约而生。所以它和windows编程一样是一个大的命题,绝非十天半个月能搞定。

学了这个玩意,你就能快速的弄出较复杂的、外表看起来和你以前见过的那些windows软件差不多的东西。当然代价就是需要花一番功夫来掌握这个工具。这是值得的。

最后谈下学习MFC的必要性。

之前看到网上有些言论,说MFC过时了,现在都用QT之类的。搞得我之前还专门去调查论证了下这个问题。

其实不用多想,看各大公司招聘要求就对了。微软帝国一时半刻还塌不了。

而且学它也不仅仅是为了用,更多的是可以理解它的构建思维和方法。

我目前还对游戏编程中到底用到多少抱有怀疑,不管怎样,看情况量力掌握吧。

}

摘要: 本文讲的是游戏编程入门学习笔记26——AI篇——AI的实现, 开始几次编的AI都能被自己轻松打败,几番修正最后才算成功编出无敌AI,再简单的问题,也会犯错,思虑要周全。 发现有这么几个问题需要注意:   1,原程序存在严重bug,即我仅在按出腿键不放直到出腿帧变

开始几次编的AI都能被自己轻松打败,几番修正最后才算成功编出无敌AI,再简单的问题,也会犯错,思虑要周全。

发现有这么几个问题需要注意:

1,原程序存在严重bug,即我仅在按出腿键不放直到出腿帧变化为未完全出腿状况后作了收脚处理,这样就导致完全出脚后放开动作键,脚的实际位置还永远停留在空中,导致AI多次傻乎乎上来挨揍掉血…

所以必须在前进、后退、无动作时均保证收脚。

(注:松开按键则收脚似乎更合理)

2,原程序存在的第二个严重bug,就是双方是在同一个周期完成各种,然后先判断左方是否击中右方,然后再判断右方是否击中左方,造成双方同时出脚时左方占优的不公平,而因为帧率较低同时出脚又极易发生。

所以在左方踢中右方时,不能立即调整右方脚的位置。如此保证双方同时击中对方时同时扣血。

3,注意AI代码的合理位置,不要放置在整段代码的末尾,这样可能在作判断时玩家未按键,定下错误决策,随后的100ms里,情况却已发生变化。应放在每个周期键盘刷新后,因为这段代码本质作用就是决定电脑的按键状况。

4,单纯的只进攻不防守,即便是人类玩家的反应速度,也能轻松打败电脑。安全的策略需要在危险距离内,即前进一步就可能被对方的脚触及的时候,判断对方是否有攻击行为,没有则继续前进,有则停止或退避。

实战检验多次,发现还是有小概率能战胜电脑,这个看似简单的问题确实不简单。不过我暂时不想深究缘由,而打算留下这个漏洞,因为这个难度已经足够高,从游戏设计的角度来说制造一个100%无敌的AI似乎没有任何意义,意外的留下些许破绽也没什么不好。

具体漏洞等有空且脑子清醒的时候再分析吧。

现在这个游戏除了因为操作简单,又没什么音效及动画效果,外加电脑的步步紧逼,玩起来让人感觉有一点狂躁之外…基本也没啥其他问题了。

“无敌型”AI的策略流程图记录如下:

下面制定第二档难度的策略。

1,对危险距离的把握放宽一步。在前进两步则进入敌方攻击范围内之前70%几率前进,30%几率停留。

2,敌方正攻击且处于敌方攻击范围时有30%可能不后退,10%可能发起错误攻击。

3,在距敌方攻击距离两步内但尚未进入必击中区间时,50%几率发起攻击,50%前进。

4,在敌方来不及闪避距离内,80%发起攻击,20%前进。

不知道为什么,故意卖出很多破绽的AI,反倒感觉更难,玩了三把都被打败…,这太神奇了,也许是因为电脑的行动更无规律性,让玩家更难以把握的缘故吧。

不过从某把前期能占优来看,打败AI的几率还是存在的。

自此完成两种策略的AI。考虑到时间关系和以后代码肯定还会有改动,还剩两种暂时不写了,毕竟已无技术障碍。

离计划完成作品的期限越来越近了,接下来想掌握多线程,并大致了解MFC是个神马玩意,看程序中会不会有需要用到。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索游戏编程 ,以便于您获取更多的相关知识。

}

我要回帖

更多关于 电脑编程入门自学 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信