摘要: 本篇是游戲腳本的實(shí)現(xiàn)(3)的續(xù)篇。
首先來看看WinMain函數(shù)以及主窗口處理過程的實(shí)現(xiàn):
閱讀全文
摘要: MLS系統(tǒng)僅使用到數(shù)字:代表行為的編號(hào),隨后條目的數(shù)量,以及代表?xiàng)l目數(shù)據(jù)的編號(hào)。計(jì)算機(jī)特別擅長處理數(shù)字的工作,但我們的需要更多。需要將腳本構(gòu)造成易于理解的文本行,并讓腳本編輯器將鍵入的文本轉(zhuǎn)變?yōu)槟_本系統(tǒng)可以處理的一系列數(shù)字。
在編輯一個(gè)腳本期間,并不處理任何數(shù)字方面的問題,所以編輯器的工作還包括加載數(shù)字并將它們轉(zhuǎn)換回易于閱讀理解的文本行。因此,也可以這么說,僅需要使用一系列的文本命令構(gòu)造一個(gè)腳本,然后使用腳本編輯器將這些命令轉(zhuǎn)換成代表它們數(shù)值,反之亦然。
閱讀全文
摘要: 因?yàn)镋NREY_RULE結(jié)構(gòu)僅包含了行為和條目的規(guī)則,所以需要另外的結(jié)構(gòu)數(shù)組去存儲(chǔ)每個(gè)條目的數(shù)據(jù)。這些新的結(jié)構(gòu)包括了在條目中所使用的文本、布爾值、多重選項(xiàng),我們使用結(jié)構(gòu)體ENTRY來表示。
在處理腳本條目的過程中,當(dāng)一個(gè)腳本出現(xiàn)了許多條目時(shí),最麻煩的問題也就接踵而來。腳本中的每個(gè)行為都要求一個(gè)相匹配的ENTRY_RULE結(jié)構(gòu),其依次包含了一定數(shù)量的ENTRY結(jié)構(gòu)。為了更好地處理一個(gè)腳本的結(jié)構(gòu),還需要其他的結(jié)構(gòu)來記錄屬于腳本行為的每個(gè)條目,我們將它命名為SCRPT。
閱讀全文
摘要: 在很久很久以前,有一個(gè)廣大而富饒的國家,那兒的人民很容易掉落懸崖。他們跌到山谷后,有時(shí)傷得很嚴(yán)重,很多人往往因此而喪失生命,于是國家的醫(yī)療機(jī)構(gòu)針對(duì)這個(gè)情形而做了以下的應(yīng)變措施──他們?cè)趹已碌墓鹊祝胖昧四壳八l(fā)展出來最精密、最昂貴的救護(hù)車隊(duì),以便及時(shí)將那些掉落懸崖的傷者送到最現(xiàn)代化的醫(yī)院,接受最新醫(yī)學(xué)科技的治療。他們說:「當(dāng)人民的健康瀕臨危險(xiǎn)的時(shí)候,為了急救生命,任何代價(jià)也在所不惜。」
閱讀全文
摘要: 創(chuàng)建一個(gè)角色扮演游戲項(xiàng)目時(shí),會(huì)發(fā)現(xiàn)在源碼中編寫游戲相關(guān)信息十分困難(這樣做也是非常魯莽的)。最好的辦法就是使用外部數(shù)據(jù)源(類似于程序的代碼),稱之為游戲腳本(例如對(duì)話)。以這種方式,可以控制游戲的流程并節(jié)省寶貴的時(shí)間,因?yàn)椴恍枰诿看巫龀龈淖兒笾匦逻M(jìn)行編譯。
當(dāng)創(chuàng)建游戲時(shí),游戲腳本與所編寫的程序代碼非常類似,只是游戲腳本相對(duì)于游戲引擎而言是外部的。正因?yàn)樗鼈兪峭獠康模圆趴梢匝杆俚貙?duì)腳本做出更改,而不用重新編譯整個(gè)游戲引擎。否則對(duì)于一個(gè)超過100萬行代碼的項(xiàng)目,僅僅為了改變一個(gè)對(duì)話行就要重新編譯整個(gè)項(xiàng)目。
閱讀全文
摘要: 名字的合理選擇可以幫助讀者理解程序,同樣,我們也應(yīng)該以盡可能一目了然的形式寫好表
達(dá)式和語句。應(yīng)該寫最清晰的代碼,通過給運(yùn)算符兩邊加空格的方式說明分組情況,更一般的是
通過格式化的方式來幫助閱讀。這些都是很瑣碎的事情,但卻又是非常有價(jià)值的,就像保持書桌
整潔能使你容易找到東西一樣。與你的書桌不同的是,你的程序代碼很可能還會(huì)被別人使用。
閱讀全文
摘要: 人們看到最好的作家有時(shí)并不理會(huì)修辭學(xué)的規(guī)則。還好,當(dāng)他們這樣做雖然付
出了違反常規(guī)的代價(jià),讀者還經(jīng)常能從句子中發(fā)現(xiàn)某些具有補(bǔ)償性的價(jià)值。除非作
者自己也明確其做法的意思,否則最好還是按規(guī)矩做。
William Strunk和E. B. White,《風(fēng)格的要素》
閱讀全文
不能強(qiáng)迫別人來愛自己,只能努力讓自己成為值得愛的人,其余的事情則靠緣分。
信任也許需要好幾年才能建立,卻可以在短短幾秒內(nèi)毀滅。
生活中最寶貴的東西不是你擁有的物質(zhì),而是陪伴在你身邊的人。
重要的不是我遇到了什么事情,而是我怎么處理這些事情。
一時(shí)的錯(cuò)誤可能導(dǎo)致一輩子的傷痛。
實(shí)現(xiàn)自己的理想需要從現(xiàn)在開始行動(dòng)。
一定要用摯愛的語言向自己所愛的人告別,因?yàn)檫@有可能是你們之間的最后一次見面。
我可以做得比自己想象中的更好。
要對(duì)自己做的事情負(fù)責(zé)任。
控制自己的態(tài)度和情緒,不然你就會(huì)被它們控制。
無論一個(gè)朋友對(duì)你有多好,總有一天他做的某件事情會(huì)讓你傷心,而到時(shí)你應(yīng)該學(xué)會(huì)原諒。
光讓別人原諒你是不夠的,有時(shí)候還要自己原諒自己。
成熟更多來源于經(jīng)驗(yàn)的積累以及你從歲月中學(xué)到的東西。
真正的友誼和愛情不管距離多遠(yuǎn)都會(huì)繼續(xù)存在。
對(duì)別人關(guān)心越多,自己得到的幫助也越多。

摘要: (ADB) Again, this has to do with practical and theoretical reasons. On the practical side, when Linux got started gcc didn't have an efficient C++ implementation, and some people would argue that even today it doesn't. Also there are many more C programmers than C++ programmers around. On theoretical grounds, examples of OS's implemented in Object Oriented languages are rare (Java-OS and Oberon System 3 come to mind), and the advantages of this approach are not quite clear cut (for OS design, th
閱讀全文
想偷偷快樂,最好是慢慢疏遠(yuǎn)你。
想統(tǒng)統(tǒng)忘了,最好是離開傷心地。
可是不聽話的心,卻永遠(yuǎn)做不到。
我是一個(gè)不快樂的愛人。
我夜夜想你,決不是吹吹風(fēng)而已。
許愿愿不聽,看過了多少顆流星。
世界上有那么多失戀的靈魂。
為什么是我不快樂的愛人。
不快樂的愛人,總是那么傻又那么真。
當(dāng)我一聲一聲呼喚你,讓我最少擁有你的眼神。
不快樂的愛人,如果我能再勇敢一些。
當(dāng)我一步一步離開你,讓我永遠(yuǎn)不再回頭,把悲傷丟一邊。
|
 |