GameDesign 板


LINE

目前我正在做學校的專題 但是我的基礎並沒有打的很好 連windowsAPI或著Directx、winsock之類都沒有學過 開發環境是使用c# 我用我目前學到的觀念 把server分成三個部份 畫面、網路、流程控管 關於畫面我是用裡面GDI+來畫一些簡單方形、圓形、寫字之類 他會負責讀取流程給的state來畫出對應的畫面 在流程有一張Table表紀錄所有的圖片的location 然後負責畫面的class就照著那張Table和State來更新畫面 但是我一直覺得這方法很奇怪 這是一個小遊戲還可以這樣做,但是如果是越來越複雜、圖片越來越多的程式 應該不可能用這種方法一個一個location放上去吧? 動畫的部份也是在流程那邊改變圖片的location之後更新一次畫面的方式 所以想請問是不是有更好的方法呢? 網路部份我也有疑惑 例如4個人連進來玩牌 我用了4個Thread去一直讀取他們送來的資訊 並且放進一個player的class去紀錄 之後流程設定了一個Timer去跑個迴圈讀取4個人送來的東西 然後根據傳來的東西做相對應的事情 這樣的作法是不是很奇怪? 因為本身有Thread去服務4個client了 但是流程內又有一個Timer再去讀取player的class的訊息 最後是一個程式的問題 在寫流程的時候我常常會遇到程式必須等某個值被改變我才會繼續往下跑 例如我必須等待client出牌之後、畫出相對應的動畫、更新下一次出牌的人 目前解決辦法是用while一直去等直到事情發生... 不知道是不是有什麼方法能夠解決這種問題呢? 謝謝各位耐心的看完我的問題@@ 請各位盡量指出我的錯誤點,我會繼續學習的>"< --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.151.204
1F:推 darkflier:你開四個thread去接受四個單一訊息 12/06 21:11
2F:→ darkflier:跟開一個thread去收會進來的n個訊息 12/06 21:11
3F:→ darkflier:有什麼差別嗎? 還是你流量大到需要開那麼多thread? 12/06 21:12
4F:→ sunmat:有道理...因為我是問別人收的方法,他跟我說每個client都要 12/06 21:20
5F:→ sunmat:一個thread去服務他,那時覺得很有道理就這樣寫下去了... 12/06 21:21
6F:→ sunmat:現在想想流量很小的確不用到這麼多thread...謝謝你的回答! 12/06 21:22
7F:推 NDark:一個thread服務四個client,如果5個client怎麼辦.... 12/06 22:03
8F:→ NDark:是程式架構的優化.還是要特化4個client這部份? 12/06 22:04
9F:推 NDark:while loop的話.善用sleep就行了. 12/06 22:06
10F:→ sunmat:嗯...所以一個thread服務一個client這樣比較好?還是看需求? 12/06 22:45
11F:推 darkflier:看需求啦...越多thread就越複雜就越可能當機 12/06 23:32
12F:→ darkflier:C# 印象中是force safe thread所以開越多會越慢 12/06 23:33
13F:→ darkflier:試著想看看每個thread都需要判斷a=0是否成立那a是不是會 12/06 23:35
14F:→ darkflier:一直被lock住?那你就得等他unlock所以會比較慢 12/06 23:35
15F:→ darkflier:c#的話不用去注意是不是被使用 換來的是效能比較不好 12/06 23:36
16F:→ sunmat:喔喔...原來如此~ 謝謝! 12/06 23:37
17F:推 kuso0516:我想藉機問 學多緒要看哪種書阿 我沒有要寫網路程式 12/07 14:31
18F:推 NDark:CodeProject有文章 0rz.tw/8e5db VS6.0搭網路含程式 12/07 17:12
19F:→ NDark: 0rz.tw/21573 單純講.NET上的Thread,從理論開始講 12/07 17:13
20F:→ adms:如果是多人線上到數千人 用while-loop就會明顯比thread快很多 12/08 00:02
21F:推 ppaass:以這種牌類遊戲是屬於 client 多,小訊息多的狀況, 12/18 11:10
22F:→ ppaass:建議是指開一個 thread 專職負責收 message queue 就好。 12/18 11:10







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燈, 水草

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

TOP