《網絡中國象棋對戰(zhàn)》由會員分享,可在線閱讀,更多相關《網絡中國象棋對戰(zhàn)(24頁珍藏版)》請在裝配圖網上搜索。
1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,1-,*,北京源智天下科技有限公司,聯系方式:,http:/,JavaSE,6,項目開發(fā)培訓視頻,網絡中國象棋對戰(zhàn),課程安排,開發(fā)背景,系統(tǒng)分析,系統(tǒng)設計,服務器端框架設計,服務器線程的開發(fā),服務器代理線程的開發(fā)與設計,服務器端的完善,課程安排(續(xù)),棋子類的開發(fā),客戶端主類框架的開發(fā),客戶端代理線程的開發(fā),規(guī)則類的開發(fā)與設計,棋盤類的開發(fā)與設計,客戶端主類業(yè)務代碼的完善,消息處理機制,知
2、識點匯總,章末總結,開發(fā)背景,中國象棋有著悠久的歷史,象棋愛好者更是不計其數,但是由于人們工作地點、時間的限制,原始那種面對面的下棋方式已經不再適應人們的生活,人們已經開始走向網絡象棋,。,網絡象棋有著很多的優(yōu)點,通過網絡象棋,對弈雙方可以是網絡上任意兩個象棋愛好者,甚至從不認識。網絡象棋讓對弈的范圍更加的廣泛,讓象棋愛好者可以與更多的象棋愛好者切磋棋藝,。,系統(tǒng)分析,系統(tǒng)分析主要是完成軟件開發(fā)前的一些準備工作,為軟件的順利進行做好準備,同時其也是后面系統(tǒng)設計的前提,所以系統(tǒng)分析必須盡量詳細,防止造成項目的返工,帶來不必要的損失,。,系統(tǒng)分析(續(xù)),1,、服務器端,可以指定服務端口號,。,可以
3、支撐多人同時在線,。,可以顯示在線用戶的信息,。,不允許玩家同名,。,系統(tǒng)分析(續(xù)),2,、,客戶端,能夠通過主機,IP,及端口號登錄到服務器,。,可以顯示當前所有用戶,。,可以從在線用戶列表中選擇玩家進行去挑戰(zhàn),。,可以接受或拒絕挑戰(zhàn),。,如果對方正在與其他玩家對弈中,則應給出相應的提示信息,。,象棋規(guī)則一定要嚴密,。,棋子樣式采用最普通的橡膠式象棋,即棋子黑色,字為紅色和白色,。,系統(tǒng)設計,系統(tǒng)分析確定了本系統(tǒng)的最終目標,系統(tǒng)結構如下圖所示:,系統(tǒng)設計(續(xù)),該游戲的主體是客戶端,整個游戲的規(guī)則都是在客戶端,服務器端只是在中間傳遞數據,起到一個中介的作用,具體實現在后面會進行詳細介紹。,系
4、統(tǒng)預覽,這一節(jié)將對本系統(tǒng)各功能進行演示。,服務器端框架設計,從本節(jié)開始將正式進入該游戲的開發(fā)過程,當然首先從服務器端開始,因為只有有了服務器的基礎框架,客戶端在開發(fā)過程中才能進行一些必要的測試,這是該類游戲一般的開發(fā)流程,。,服務器端主類即服務器端的運行類,用戶通過運行該類進入服務器的主界面,其實這里暫時只能開發(fā)出服務器的簡單框架及界面,因為服務器線程和服務器代理線程暫時都還沒有開發(fā),等相應的類開發(fā)完成之后,再回到該類進行代碼完善,。,服務器線程的開發(fā),服務器線程是服務器啟動后創(chuàng)建并啟動的第一個線程,該線程主要用于接收客戶端的連接,并為每一個連接分配一個服務器代理線程,。,服務器代理線程的開發(fā)
5、與設計,服務器代理線程主要用于接收客戶端傳來的信息,并將該信息轉發(fā)給對應的另一客戶端。服務器為所有客戶端都分配了一個該類線程實例,單獨為特定客戶端進行服務。同時每一個服務器代理線程都有能惟一標識其的名稱,。,服務器端的完善,服務器端的類的框架都已經開發(fā)完成,但在一開始時,由于沒有服務器線程和服務器代理線程,有些業(yè)務處理代碼沒有開發(fā),本節(jié)將完成對服務器端各個類的完善工作,。,棋子類的開發(fā),前面我們已經基本完成了服務器端的開發(fā),已經可以接收客戶端的連接,從本節(jié)開始將正式進入客戶端的開發(fā),下象棋當然要有棋子,下面我們將對棋子類進行介紹,該類主要包含著棋子的屬性及一些關于屬性的小的方法,。,客戶端主類
6、框架的開發(fā),客戶端主類即客戶端的運行類,用戶通過運行該類連接服務器,也是通過在該類的窗體中與其他玩家進行對弈。當然其與服務器端主類的開發(fā)類似,由于部分類沒有開發(fā),這里暫時只能完成界面的搭建及簡單的業(yè)務代碼框架,具體的業(yè)務代碼在后面的開發(fā)中會進行完善,。,客戶端代理線程的開發(fā),客戶端代理線程主要用于接收服務器傳來的消息,并根據不同的消息進行相應的業(yè)務處理,當然這里暫時先給出該類的代碼框架,對消息的業(yè)務處理代碼在后面會進行介紹,。,規(guī)則類的開發(fā)與設計,通過上面的開發(fā),客戶端已經可以連接到服務器,而且通信的框架也已經開發(fā)完成,下面我們將正式開始進入游戲邏輯業(yè)務的開發(fā)。首先將從下棋最基本的一步開始,即
7、開發(fā)下棋的規(guī)則,。,棋盤類的開發(fā)與設計,棋盤類除了完成繪制棋盤的作用,同時還負責下棋邏輯的處理,。,消息處理機制,下面我們將對消息的處理進行簡單的介紹。,知識點匯總,數組的巧妙用法:對于像棋盤這樣的情況,如果能夠巧妙的運用數組下標代替像素坐標,將起到非常好的效果。本案例的棋盤就利用了數組,將棋子放在數組里。這樣對于每一個位置的狀態(tài),都可以通過對應的數組狀態(tài)進行確定,非常的方便,。,網絡套接字的開發(fā)方法:該技術是,Java,程序員必備的一項技術,也是進行桌面版網絡程序開發(fā)的必不可少的技術,特別是對于一些對實時性要求高的應用,網絡套接字是必須的。,知識點匯總,游戲通信方法:本節(jié)是通過字符串傳遞信息
8、,讀者應該在游戲中體會到了,其實通信的手段很多,不同的開發(fā)者有著不同的習慣。在后面的另一個游戲例子中還會對該知識進行更詳細的介紹,希望讀者能通過下一個例子的學習熟練掌握這一方法,。,Swing,的相關知識:其中比較重要的一點是抗鋸齒的使用方法。通過使用抗鋸齒這個知識點,使象棋棋子變的更加的平滑,美觀。當然在一些場合使用其也會帶來不好的影響,因為抗鋸齒占用很大的系統(tǒng)資源,如果使用不當會嚴重影響游戲的性能,。,章末總結,通過本章的學習,讀者應該對這種實時性要求不高的游戲的開發(fā)方法有了詳細的了解,通過該游戲模型,讀者應該有能力開發(fā)其他的棋類游戲,或其他的對實時性要求較低的游戲,。,性格決定命運,專注成就人生,源智天下,