1 中國(guó)象棋簡(jiǎn)介
中國(guó)象棋即軍際象棋,具有悠久的歷史。中國(guó)象棋大約起源于戰(zhàn)國(guó)時(shí)代,盛行于唐朝,而定型與宋朝。象棋是由兩人輪流走子,以“將死”或“困斃”對(duì)方將(帥)為勝的一種棋類運(yùn)動(dòng),有著數(shù)以億計(jì)的愛好者。它不僅能豐富文化生活,陶冶情操,更有助于開發(fā)智力,啟迪思維,鍛煉辨證分析能力和培養(yǎng)頑強(qiáng)的意志。 象棋是中華民族的傳統(tǒng)文化,不僅在國(guó)內(nèi)深受群眾喜愛,而且流傳國(guó)外。
中國(guó)象棋在中國(guó)有著廣泛的群眾基礎(chǔ),本文即是以中國(guó)象棋為載體,生動(dòng)的展現(xiàn)紫金橋軟件的相關(guān)技術(shù),以便不那么乏味。
2 基于紫金橋C/S架構(gòu)的中國(guó)象棋實(shí)現(xiàn)
2.1 游戲效果圖
初始界面:
游戲開始后初始化完成之后:
游戲運(yùn)行過(guò)程:
2.2 C/S架構(gòu)
需要指出的是,本文重點(diǎn)突出基于紫金橋C/S(即客戶機(jī)/服務(wù)器模式)網(wǎng)絡(luò)架構(gòu)的實(shí)現(xiàn),因?yàn)槭蔷钟蚓W(wǎng)內(nèi)的人-人對(duì)戰(zhàn),而沒有人-機(jī)對(duì)戰(zhàn)的內(nèi)容(這個(gè)屬于人工智能的范疇)。
游戲的大體思路是一臺(tái)計(jì)算機(jī)作為服務(wù)器,創(chuàng)建游戲;另外一臺(tái)作為客戶端,連接服務(wù)器進(jìn)入游戲。從而達(dá)到數(shù)據(jù)的雙向傳輸?shù)哪康摹?/div>
作為服務(wù)器端,必須開啟網(wǎng)絡(luò)服務(wù)器,向外提供數(shù)據(jù):
作為客戶端,必須建立一個(gè)數(shù)據(jù)源,以連接到服務(wù)器。假設(shè)服務(wù)器IP為192.168.1.6,建立數(shù)據(jù)源命名為“Server”:
當(dāng)然,具體的數(shù)據(jù)傳輸,就需要通過(guò)過(guò)程數(shù)據(jù)庫(kù)中的“點(diǎn)”來(lái)完成了。
2.3 準(zhǔn)備工作
當(dāng)然,這個(gè)案例的另外一個(gè)較重要的板塊就是畫面。除了準(zhǔn)備所有需要的圖像素材外,對(duì)于紫金橋自由報(bào)表的使用,也非常重要,他展現(xiàn)了強(qiáng)大的畫面處理能力。同時(shí),游戲的架構(gòu)設(shè)計(jì)最好提前完成,如游戲如何操作,服務(wù)器和客戶端之間的數(shù)據(jù)協(xié)議如何定義,圖像如何處理等。當(dāng)你掌握了紫金橋軟件的時(shí)候,這些問(wèn)題解決起來(lái)將變得得心應(yīng)手。
2.4 算法
算法設(shè)計(jì)很重要,在某種程度上,它直接決定一個(gè)項(xiàng)目的成敗。一個(gè)較為重要的例子就是,對(duì)于服務(wù)器端和客戶端,棋盤對(duì)他們都應(yīng)該是正向的。因而必須設(shè)計(jì)一個(gè)算法進(jìn)行坐標(biāo)變換。其次,還有很多諸如初始化、規(guī)則檢測(cè)、勝負(fù)判定等多種算法。
2.5 自由報(bào)表
再次提到自由報(bào)表,似乎其具有超強(qiáng)的功能。首先,棋盤是基于自由報(bào)表的,對(duì)于行列式的問(wèn)題,它處理起來(lái)得心應(yīng)手;其次,它的每一個(gè)單元格都能響應(yīng)鼠標(biāo)事件,就為游戲操作的方式打下了基調(diào)。除此之外,其配色、背景透明、加載圖片和覆蓋圖片等功能也使得開發(fā)簡(jiǎn)單了許多。
2.6 小結(jié)
通過(guò)中國(guó)象棋這個(gè)經(jīng)典的游戲,我們不難看到紫金橋軟件在應(yīng)用上有不少的特點(diǎn),例如:具有靈活的架構(gòu),無(wú)論是單機(jī)架構(gòu)、C/S架構(gòu)還是B/S架構(gòu),都能靈活的滿足開發(fā)者的需求,本例中對(duì)C/S架構(gòu)的成功應(yīng)用,即是證明;具有強(qiáng)大而靈活腳本系統(tǒng),本例中算法控制腳本即展現(xiàn)了其功能;具有強(qiáng)大的報(bào)表系統(tǒng),如豐富的顏色、圖片等處理功能。
這只是一個(gè)小例子,關(guān)于紫金橋軟件更多的應(yīng)用特性,就需要大家通過(guò)不斷的學(xué)習(xí)和工程實(shí)踐來(lái)積累了。