C_Sharp 板


LINE

※ 引述《F23ko (純潔)》之銘言: : 請問有沒有複雜一點的STG範例可以參考? : 例如雷電那一種.... : 自己想寫個小遊戲 : 雖然自己可以靠暴力去硬寫 : 但是不知道該怎麼寫會「比較好」 : 還有,想請問有沒有進階一點書籍可以參考? : 現在寫寫一、兩百行的小程式沒什麼問題 : 但是寫大程式時,總覺得自己寫的很沒章法 把問題沉澱幾天,我把自己的想法寫仔細一點 自己大致上知道遊戲那種stg的遊戲是怎麼樣子 寫過一個類似特訓99的遊戲,是個只花兩小時的簡單程式 大致上的功能有..... 1.自己可以控制一台飛機(上下左右 + shift加速移動) 2.畫面上有子彈,子彈會依照參數進行移動(簡單的加速度、速度物理公式) 3.碰撞判定 是像這樣的簡單功能而已 在做完這個試作品之後 我開始依照自己當初的構思 去思考「該怎麼做大型一點的遊戲」 我發現還有很多問題,我必須去找解答 例如: 關卡如何處理? 我直覺上應該要寫個類似「撥放器」的東西 去讀取關卡檔,然後「播放」遊戲給玩家玩 但具體細節我根本沒個底 class如何設置會比較好? 是所有種類的敵人都用同一個class,以欄位決定不同種敵人的差異 (例如以一個文字欄位決定顯示那一張圖之類的,好處是擴充怪物容易) 或是一種敵人就設立一個class (假設口袋怪獸是這種設計方式的話,就會有兩百多個class.... 優點是不同怪物間允許很大的差異,但需要寫個共同介面,以及其他地方會變得麻煩) AI、特殊效果怎麼處理? 要寫死在敵人的class裡面,或是設個委派欄位去處理? 甚至,寫在遊戲核心裡,而不是class裡面? 有時候連「顯示該怎麼寫比較好」都會有問題 我看書上的範例都是把顯示寫在外面 然後逐一去找物件的參數去畫圖 例如: foreach(遊戲物件 要畫圖的物件 in 畫面中的物件) { spriteBatch.Draw(要畫圖的物件.texture,要畫圖的物件.position(中略)); } 但我會想把一些亂七八糟的東西塞進物件裡面處理,像這樣 foreach(遊戲物件 要畫圖的物件 in 畫面中的物件) { 要畫圖的物件.開始畫圖(spriteBatch); } 後者的優點是可以處理複雜的貼圖,例如一個物件,翅膀跟身體分開貼圖之類的 但我不知道會不會出問題..... ========================================================================= 像這類問題還很多 所以...... 請問找的到像是雷電、東方等等夠大、夠複雜的C#原始碼嗎? 直接學現成的東西,比起「重新發明輪子」要來的更快、更好。 那些複雜一點的遊戲,該不會都用教學書那一套硬寫出來的吧? = =||| -- 我... 我一點都不糟糕啦!>///< --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.27.109.99 ※ 編輯: F23ko 來自: 163.27.109.99 (07/17 00:11)
1F:推 ddavid:像敵人的class就用繼承的啊,通通繼承一個Enemy class而來 07/17 00:19
2F:→ ddavid:這樣,然後技能都繼承Skill class,所以不同的敵人就可以掛 07/17 00:20
3F:→ ddavid:上不同的技能class之類的 07/17 00:20
4F:→ ddavid:每個敵人都有Attack method,但是實作內容不同這樣 07/17 00:21
5F:推 yauhh:前段,遊戲的確是要有個外框架把stage擺好,蠻多書會講框架. 07/17 00:33
6F:→ yauhh:後段你好像可以參考Design Patterns Explained書中的討論. 07/17 00:34
7F:→ yauhh:可使用"抽象與實做分開"的設計 07/17 00:36
8F:→ F23ko:呃.....有沒有例子可以參考? 07/17 01:14
9F:→ F23ko:直接讀原始碼比較清楚..... 07/17 01:15
10F:→ yauhh:沒有...思考設計的問題怎麼會是沒事就開始讀碼呢? 07/17 02:02
11F:→ F23ko:為了避免重新發明輪子..... 07/17 02:30
12F:→ F23ko:例如我想學「讓程式讀腳本」這個東西時,讀資工的朋友叫我先 07/17 02:34
13F:→ yauhh:不是,你讀碼就可以把目前討論主題搞得清清楚楚嗎? 應該不是 07/17 02:34
14F:→ yauhh:做設計,畫圖的時候,也是沒有在發明輪子啊 07/17 02:35
15F:→ F23ko:去想一個問題:「讓程式從文件檔讀算式,算出答案」 07/17 02:35
16F:→ F23ko:我直接暴力解,解完之後,他跟我講要用遞回做,也說了語法樹 07/17 02:36
17F:→ yauhh:對啊,但並不是先去問誰做過sample,要去讀他的碼.那沒用的. 07/17 02:36
18F:→ F23ko:的概念.... 07/17 02:36
19F:→ yauhh:對,解算式的確是用語法樹可以做得精簡 07/17 02:37
20F:→ yauhh:那像"Design Patterns Explained"這樣的書,他自己有個設計 07/17 02:38
21F:→ F23ko:對啊..... 看別人的sample學經驗會比較好.... 我的經驗不是 07/17 02:39
22F:→ F23ko:很多..... 07/17 02:39
23F:→ yauhh:案例交待他本來有什麼設計問題,因為繼承的繁雜而使程式較不 07/17 02:39
24F:→ yauhh:好管理.然後有一個很打破思考格局的設計方式.這也是可參考的 07/17 02:39
25F:→ yauhh:相對的,一下子就去找碼來讀,讀出什麼概念則是要擲杯. 07/17 02:40
26F:→ F23ko:了解.... 07/17 02:41
27F:→ F23ko:那個有中譯本嗎? 我對英文很頭痛.... 07/17 02:42
28F:→ F23ko:Google後沒看到.... 07/17 02:42
29F:→ F23ko:我一直用試誤法摸索的很頭痛,想直接學成果 = = 07/17 02:44
30F:→ andymai:"深入淺出設計模式"←中文的... 07/17 13:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP