欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2813|回復: 0
打印 上一主題 下一主題
收起左側

發布彈球游戲終極版本,并談談這幾天的編程體會

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發表于 2016-3-4 19:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

用了三天時間,大概十個小時,終于把我的第一個游戲,彈球游戲從內核編程到圖形聲音包裝做了出來,還是有很多感觸的。
現在不怎么玩游戲了,但小時候特別喜歡玩,小學畢業升初中那會兒我同學都準備去報一個PASCAL編程班,我當時什么都不懂,還以為就
是編游戲,特別開心,立刻就跟過去報名了。
上課以后才知道什么叫編程,與同學不同的是他們大多數以前都學過BASIC編程,對程序都有基礎,我卻什么都不懂。
那時候老師教學方式和現在完全不同,上課只有一個目的,編程。對于語法,細節問題沒有什么深究,考試都是開卷的,語法不懂可以看
書,但是算法卻一定要自己想,我想一種結構化程序設計的思想應該就是那時打下的。
PASCAL后來學到數組函數文件就沒學了,高中看過一點c語言,但是指針一直沒有搞懂。
大學c語言課老師的教法我不敢茍同,搞得c語言只是一個用來考試的工具,他的實用性和趣味性給完全抹殺了。
當時一直在想,c語言到底怎么編游戲呢?
后來看了一些書,又在網上找了一些資料,發現游戲編程實在復雜,首先需要懂一門程序語言,c/c++,java各有優勢。然后需要會用圖形
庫,比如OPENGL或者directX,然后是數據庫,最重要的還是美工。什么ps,會聲會影肯定要會。
很明顯,上面的東西我一大半不會。
那我就不能編游戲了嘛?從文字到圖形是一個怎樣的飛躍?
普及一個常識,我們通常的編程是在文本模式下完成的,而游戲牽扯的圖形編程必須在圖形模式下實現,這就需要圖形庫。
很明顯,openGL,directX這些大型圖形庫我都不會,那怎么樣才能以最低的門檻成功的繪制圖形呢?
上網找了半天,發現一款叫做easyx的軟件可以把turbo c的圖形庫加載在visual c++6.0上,而TC的圖形庫編程還是很簡單的,通過簡單的
畫線,畫矩形,畫圓就可以實現畫圖。
圖形是游戲的基礎,但是光有圖還不行,還要實現運動,即動畫,實現動畫是一個很有挑戰性的技術。
一般來講,有三種實現動畫的方法。
第一種,全局重畫法,把動畫分成一幀一幀的然后每一幀顯示后延遲幾毫秒,把前一張擦去,畫后一張。這種方法重復勞動嚴重,不推薦。
第二種,局部重畫法,即把整張圖中變化的部分重畫即可。我的彈球游戲1,2,3版本都是用的這種方法。

第三種,按位異或重畫法,利用位運算中的異或運算重畫,節約時間效率高并且不會覆蓋背景,我的最終版本就是這種方法畫的。
解決了動畫,很大程度上就解決了游戲。
最后加入控制系統,判斷系統,計時系統,等等,加上美工,就可以做出小游戲作品。
但是這樣的游戲還是很不完善的,功能少,效率低,有時還會閃屏。解決這些問題我目前還不會,以后可以研究研究。
附錄1:四個版本游戲的比較:
V1.1:簡單的上下移動,把程序的內核部分編好了。




V1.2:加入顏色元素,版可以上下左右移動,但是有較多BUG,是一個不完善的版本。
V1.3:加入開頭效果,解決了大部分BUG,加入聲音元素,使可玩性大大提高。
V1.4:圖形界面重新設計,修復BUG,加入了進球特效,游戲趨于完整。

總之,編一個游戲真不容易,我也只是興趣愛好,有興趣的同學可以和我一起,推薦一下百度的easyx貼吧,里面的教程挺好的,不要把c語言只當做一個考試工具,其實他是非常強大的!
附錄2:游戲及源代碼下載地址:
http://www.rayfile.com/files/4a6629a6-9652-11e0-8913-0015c55db73d/




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表