日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

杀人游戏系列 之一

發布時間:2025/7/14 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 杀人游戏系列 之一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文以一個游戲為例,向大家演示了了linq to sql技術,wcf技術,wpf技術在程序開發中的應用。本游戲程序是5個人的團隊,花了5天的時間完成的。其中,在此之前,我們對wcf和wpf從來都沒有接觸過。也和大家一樣現學現做。程序做的很是倉促,自己后來看著都很爛。不足之處,還請大家指出并諒解。
本文不光向大家展示這些技術,同時還把整個項目過程,完整的展現給大家。在此,特別感謝Peter, Boler, Sean, Cloudy. 謝謝你們允許我把它拿到網上來,形成本文.本文將按實際項目中的時間,給大家展開。最后,一起提供所有code。

1,業務分析
首先team在一起討論了殺人游戲。其中,好多人并不曾玩過。為了讓大家有個明確的認識,我們還特意花了20分鐘的時間,玩了一場。通過游戲,大家對游戲的規則有了一個初步的認識。對其中的角色的職責,比如平民,殺手,警察等,也有了初步的認識。Sean從網上當下來一段游戲規則,如下

玩家角色分為平民方和殺手方,好人方通過指認功能將所有的殺手指認出來,并通過投票投死殺手,平民則勝利,游戲結束。反之,殺手通過“殺人”功能和指認功能將全部平民殺死或者投票投死則殺手方勝利,游戲結束。具體流程:?

當注冊用戶進入游戲并點擊按鈕后,即表示其可以開始殺人游戲,待就緒用戶數達到規定范圍內時,游戲創建者點擊,游戲開始,系統自動為游戲參與者隨機分配角色,對于殺手角色,會自動在其窗口中提示其身份;?
游戲是從白天開始的,所有玩家可以在白天的時候發言和投票,當其中一個玩家的票數超過當前存活玩家總數的一半時,該玩家死亡,沒有遺言;當沒有玩家的票數過半,則當天不死人,系統設置的時間到后進入夜晚;?
進入夜晚,系統將在玩家列表中顯示自己的殺手標志,白天標志消失,如不是殺手角色則不顯示。殺手集團只能在夜晚系統規定的時間內使用“殺人”功能,并且必須共同殺死同一個人,該“殺人”功能才有效。當殺手集團完成殺人或者夜晚時間過去后,夜晚立即結束,被殺玩家死亡,被殺者可以留遺言。被殺者以及被投票投死的玩家將在玩家列表出顯示各自角色的標志,該標志所有人可見。死者在亡靈區可自由發言,存活玩家看不見亡靈區對話;?
此時進入第二天白天,所有玩家可以發言并且投票,規則同上。以此類推,直到游戲結束

最終,為了簡化游戲,我們制定了如下的游戲規則。?原文轉貼

1). There are 2 roles, civilian and man.

2) All the civilians and bad men can vote to anyone, Host server determines the most- ballot person to die during daytime.

3) All the bad men can vote to anyone of the commonalties to be killed, also they get the result by voting, and the most- ballot person will be killed during night.

4) The scenario 2) and scenario 3) recurrent once one scenario is finished.

5).After any one of the 2 scenarios finished each time, Host server will judge if all the rest persons are civilians or bad men, if this comes to true, the side of the rest persons will this round, the game finished.

6).While voting in scenario 2) and scenario 3), if once there are more than 1 person get the most-ballot, the voting is invalid, it will let all the players vote again in this scenario till the only one most-ballot person is selected (killed), then go to another scenario.

2,建立領域模型
這些游戲的規則,是我們在實際玩游戲時制定出來的。此時還并沒有牽扯到程序這個層面上。那通過游戲規則的制定,我們對這個模型也愈加清楚。綜合上面游戲規則中出現的對象,來建立模型用圖來表示,

3, 程序架構設計
隨后,我們又討論了程序的架構,決定使用什么樣的技術。決定使用數據庫,并使用linq to sql做為數據訪問層。當然,說實話,這有點多余,但是可以拿分的點。先不管那么多了。又決定使用wpf做界面層,wcf來做通信層。既然是網絡版的,依然還要把服務端和客戶端各自細分一下。整個程序的架構如下



4,分工
最后,大家決定分工合作。Tom負責linq to sql 層面的,Peter主攻wcf方向,cloudy和sean主攻 wpf方向,boler主要是業務邏輯。這樣,一天的工作就結束了,大家各自領著自己的任務去忙活了。
5, 結語
我們最先接觸到是業務邏輯。并不是ui,更不是數據庫。那么先有數據庫呢還是先有對象?linq to sql 能做到先有對象嗎?Tom能帶給你不同的感受嗎?請留意第二篇。

下一篇
殺人游戲系列 之三 提供游戲代碼下載
殺人游戲系列 之二
殺人游戲系列 之一


本blog相關linq to sql文章
C# 3.0 入門系列(一)
C# 3.0入門系列(二)
C# 3.0入門系列(三)
C# 3.0入門系列(四)-之Select操作
C#3.0入門系列(五)-之Where操作
C#3.0入門系列(六)-之OrderBy操作
C#3.0入門系列(七)--之OR工具介紹
C#3.0入門系列(八)-之GroupBy操作
C#3.0入門系列(九)-之GroupBy操作
C#3.0入門系列(十)-之Join操作
C#3.0入門系列(十一)-之In, Like操作
C#3.0入門系列(十二)-Lambda表達式中Lifting
C# 3.0與Linq To Sql的學習方法--淺談

Linq To Sql進階系列(一)-從映射講起
Linq To Sql進階系列(二)M:M關系
Linq To Sql進階系列(三)CUD和Log
Linq To Sql進階系列(四)User Define Function篇
Linq To Sql進階系列(五)Store Procedure篇
Linq To Sql進階系列(六)用object的動態查詢與保存log篇
Linq To Sql進階系列(七)動態查詢續及CLR與SQL在某些細節上的差別

轉載于:https://www.cnblogs.com/126/archive/2007/10/12/922344.html

總結

以上是生活随笔為你收集整理的杀人游戏系列 之一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。