freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的五子棋游戲的設(shè)計(jì)(含源程序代碼)(編輯修改稿)

2025-01-11 02:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 終處于防守的被動(dòng)狀態(tài)。所以那一方先下子,他就有禁手,這是為了保持公平的一種手段。但是 職業(yè)連珠五子棋雖然對(duì)黑 棋采取了種限制,但是先行的 一方 優(yōu)勢(shì)依然很大 。在高段位的比賽中還添加了一些規(guī)定,由于很少用到,就不必詳細(xì)敘述了。 A B C D 第 7 頁(yè) 共 23 頁(yè) E F 圖 9 禁手 見(jiàn)圖 9。 A、 B、 C 中的 x 點(diǎn)為三、三禁手 。 D、 E 中的 X 點(diǎn)為四、四禁手。 F 中的 X 點(diǎn)為長(zhǎng)連禁手 。 長(zhǎng)連:相同顏色的連續(xù)六子或六子以上。 五子棋攻防 五子棋是一項(xiàng)對(duì)抗性很強(qiáng)的運(yùn)動(dòng),在開(kāi)局進(jìn)入五手兩打后,就開(kāi)始進(jìn)入了白刃戰(zhàn),相互爭(zhēng)奪先手,任何一方都不能掉以輕心,要盡可能少犯錯(cuò)誤,甚至不犯錯(cuò)誤,否則將會(huì)導(dǎo)致速敗。 眾所周知,連珠五子,連五為勝。有四才能有五,有三才有四,以此類推。所以,在五子棋的對(duì)局眾進(jìn)攻和防守都是從“二” 和“三”的爭(zhēng)奪開(kāi)始的?!昂玫拈_(kāi)始是成功的一半”,這條格言用在五子棋里再合適不過(guò)了。 五子棋的點(diǎn)的選擇十分關(guān)鍵。五子棋實(shí)際上是通過(guò)選擇最佳的落點(diǎn),加上正確的落子次序,一步一步地占領(lǐng)各個(gè)要點(diǎn),最終獲得勝利。 對(duì)局的早期,選點(diǎn)的著眼點(diǎn)主要是使本方的棋子保持聯(lián)系,為以后創(chuàng)造盡 可能 多的成三 、 成四的機(jī)會(huì),同時(shí)盡量限制對(duì)方 成 為好形。由于在五子棋對(duì)弈過(guò)程中,通過(guò)行棋落點(diǎn)來(lái)控制對(duì)方的落點(diǎn)是可能的,比如活三 沖四的應(yīng)點(diǎn)是可以預(yù)知的,完全有可能通過(guò) 不 斷走出這樣的先手來(lái)控制對(duì)方的著點(diǎn)直至勝利。所以,在對(duì)局的后期,就要在精確計(jì)算的前 提下,盡早發(fā)動(dòng)攻勢(shì),以取得棋局的控制權(quán),否則一旦貽誤戰(zhàn)機(jī),被對(duì)方搶先發(fā)動(dòng)攻勢(shì),就會(huì) 成 為被控制的一方。 當(dāng)有多個(gè)攻擊點(diǎn)可供選擇時(shí),要選擇后續(xù)手段多,又不會(huì)被對(duì)方反先的著點(diǎn)。如果是黑方,還特別要注意進(jìn)攻終被對(duì)方反擊時(shí)出現(xiàn)的各種禁手點(diǎn)的可能性。 進(jìn)攻分為單攻棋和雙攻棋,單攻棋指單線即單行或單向的攻棋子,包括三子攻棋(活三、填四)和四子攻棋(沖四、填五)。而雙攻 棋 指雙向或雙行的攻棋 。第 8 頁(yè) 共 23 頁(yè) 包括三、三攻棋(雙活三、雙填四、填四活三);四、三攻棋(沖四活三、沖四填四、填五活三、填五 填四);四四攻棋(雙沖四、雙填五、填五沖四)。 五子棋的取勝思路是由一個(gè)子開(kāi)始,目標(biāo)是運(yùn)用各種方法在棋盤(pán)上發(fā)展出五連乃至長(zhǎng)連而取勝。在這個(gè)發(fā)展過(guò)程中必然要經(jīng)過(guò)由一子到兩子 兩子到三子 三子到四子的過(guò)程。因此說(shuō),把各種形狀和各個(gè)方面上的二 三 四等子力結(jié)構(gòu)爛熟于胸,做到舉一反三,是學(xué)習(xí)五子棋的基本功,更是能靈活運(yùn)用五種取勝技巧的基礎(chǔ)。 3 Java Java 簡(jiǎn)介 Java 是美國(guó) Sun 公司開(kāi)發(fā)的語(yǔ)言,它使用解釋器執(zhí)行代碼,因此,無(wú)需對(duì)源代碼進(jìn)行任何更改即可在不同計(jì)算機(jī)上運(yùn)行,是真正跨平臺(tái)的編程開(kāi)發(fā)語(yǔ)言。 Java 有以下主要 特點(diǎn) : 1:簡(jiǎn)單( Simple) 制定 Java 的原則之一,是要建立一種結(jié)構(gòu)簡(jiǎn)單而且使用容易的系統(tǒng),可以讓用戶不必接受很深的訓(xùn)練就可以開(kāi)始設(shè)計(jì)程序,所以 Java 的語(yǔ)法盡可能與在當(dāng)前許多程序設(shè)計(jì)師都采用的 C 及 C++語(yǔ)言相似。并且, Java 刪除了 C 及 C++許多極少使用、不易理解或常被混淆的功能,多多重繼承、指針等。 2:面向?qū)ο?(ObjectOriented) 面向?qū)ο笫墙陙?lái)信息界廣為使用的概念和技術(shù)。它有許多良好的特性。對(duì)象的封裝性可以使對(duì)象的接口 定義明確;繼承性可以增加軟件的可重用性,有助于分類及模版設(shè)計(jì)等。實(shí)現(xiàn)面向?qū)ο蟮母拍罴捌涓鞣N良好的特性是 Java 的設(shè)計(jì)理念之一。 3:分布式 ( Distributed) 計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展使得信息 應(yīng)用朝著分布式的環(huán)境發(fā)展,所以現(xiàn)代的信息開(kāi)發(fā)語(yǔ)言及環(huán)境要有配合分布式的特性及功能。 Java 具有一個(gè)網(wǎng)絡(luò)功能的程序庫(kù),其中包含與如 HTTP 和 FTP等 TCP/IP 網(wǎng)絡(luò)通信協(xié)議整合的能力。 4:強(qiáng)壯性 (Robust) 由 Java 所編寫(xiě)的程序要能在各種情況下運(yùn)行,而且必須具有高的穩(wěn)定性。Java 在制定時(shí)即加入了能防止存儲(chǔ)器被覆寫(xiě) 和數(shù)據(jù)損壞的相關(guān)處理機(jī)制。 5:安全性 (Secure) Java 是被設(shè)計(jì)用于網(wǎng)絡(luò)及分布式環(huán)境中的,所以安全性是一個(gè)很重要的考慮。 Java 擁有數(shù)個(gè)從簡(jiǎn)單到復(fù)雜的安全保護(hù)措施,能有效地防止病毒的侵入和破壞行為的發(fā)生。 6:結(jié)構(gòu)中立性 (Architecture Neutral) 第 9 頁(yè) 共 23 頁(yè) 在網(wǎng)絡(luò)上存在許多不同類型的計(jì)算機(jī),從中央處理器到操作系統(tǒng)的機(jī)構(gòu)均有很高的 差異性。因此要使應(yīng)用程序在每一種機(jī)器上均能運(yùn)行是相當(dāng)困難的。針對(duì)這個(gè)目的, Java 的編譯器可以產(chǎn)生一種結(jié)構(gòu)中立的目標(biāo)碼文件格式――字節(jié)碼( Byte Code)。這種字 節(jié)碼可以在許多 種 不同的計(jì)算機(jī)上運(yùn)行。 7:多線程 (Multithreaded) 多線程是開(kāi)發(fā)復(fù)雜和功能強(qiáng)大的程序所必須的手段之一, Java 同樣支持這個(gè)重要功能。 一個(gè) Java 程序的開(kāi)發(fā)過(guò)程如圖 10所示。 源 文 件 : 文 件 名 . j a v a由 J a v a 解 釋 器 執(zhí) 行 由 瀏 覽 器 執(zhí) 行字 節(jié) 碼 文 件J a v a 編 譯 器 : j a v a c編譯生成Java應(yīng)用程序Java小應(yīng)用程序 圖 10 Java程序的開(kāi)發(fā)過(guò)程 源文件:使用一個(gè)文本編輯器,如 Edit 或記事本來(lái)編寫(xiě)源文件。不可使用Word 編輯器,因?yàn)樗胁豢梢?jiàn)字符。將編好的源文件保存起來(lái),源文件的擴(kuò)展名必須是 Java。 編譯器:源文件要經(jīng)過(guò)編譯器( )的編 譯生成可擴(kuò)展名為 .Class的字節(jié)碼文件。字節(jié)碼文件是由與平臺(tái)無(wú)關(guān)的二進(jìn)制碼組成的,執(zhí)行時(shí)由解釋器解釋成本地機(jī)器碼。 運(yùn)行 Java 程序: Java 程序分為兩大類 —— Java 應(yīng)用程序( Application)和 Java 小應(yīng)用程序( Applet)。 Java 應(yīng)用程序必須通過(guò) Java 解釋器( )來(lái)解釋執(zhí)行其字節(jié)碼文件; Java 小應(yīng)用程序可通過(guò)支持 Java 標(biāo)準(zhǔn)的瀏覽器來(lái)解釋執(zhí)行。 Java 開(kāi)發(fā)環(huán)境 使用 Jcreator 開(kāi)發(fā)環(huán)境必須安裝 JDK,我安裝的版本是 ,在環(huán)境變量里新建名為 Path 的變量名, 變量值為 D:\軟件 \JAVA\bin(根據(jù) JDK 的安第 10 頁(yè) 共 23 頁(yè) 裝目錄而定)。在命令提示窗口輸入 Java version 如果能正確顯示版本號(hào),則表示 環(huán)境配置成功。 如圖 11 所示 。 圖 11 環(huán)境變量 Jcreator 的安裝很簡(jiǎn)單,這里不在詳細(xì)敘述, 把路徑配置好就可以了。 如圖 12。 圖 12 Jcreator IDE 4 課題詳細(xì)研究方法 程序結(jié)構(gòu) 說(shuō)明 既然是 Java Application,要實(shí)現(xiàn)網(wǎng)絡(luò)對(duì)戰(zhàn),故采用 C/S 模式編寫(xiě), 程序包含 7 個(gè) 獨(dú) 立 的 類 文 件- 、 、 、 、 、 。 第 11 頁(yè) 共 23 頁(yè) 其中 主要負(fù)責(zé)棋盤(pán)的初始化,鼠標(biāo)事件的處理,以及判斷勝負(fù) 條件 。 定義了面板上的其他元素,包括玩家列表,標(biāo)題欄等。也包括了事件處理和人工智能。 則負(fù)責(zé)網(wǎng)絡(luò)對(duì)戰(zhàn)的處理。其他的類都是又這 3個(gè)主類延伸出去的。在具 體實(shí)現(xiàn)的時(shí)候再介紹其作用。 見(jiàn)圖13。 初 始 化主 循 環(huán) 控 制 模 塊盤(pán) 面 分 析 填 寫(xiě) 棋型 表輪 到 電 腦電 腦 下 子玩 家 下 子輪 到 玩 家勝 負(fù) 判 斷否 則開(kāi) 始勝 利 棋盤(pán) 及棋子的類 棋盤(pán) 棋盤(pán)如圖 1,具體代碼如下: String line = a b c d e f g h i j k l m n o。 char [] rowNum1 = {39。139。,39。239。,39。339。,39。439。,39。539。,39。639。,39。739。,39。839。,39。939。}。 char [] rowNum2={39。139。,39。039。,39。139。,39。139。,39。139。,39。239。,39。139。,39。339。,39。139。,39。439。,39。139。,39。539。}。 這部分為棋盤(pán)的邊界標(biāo)識(shí)符,是必須要有的。用字符數(shù)組存儲(chǔ),最后確定位圖 13 五子棋程序流程圖 第 12 頁(yè) 共 23 頁(yè) 置放上去即可。 棋盤(pán)的繪制: private static int xp。 // 棋子 X 坐標(biāo) private static int yp。 // 棋子 Y 坐標(biāo) public void paint(Graphics gc){ (gc)。 //()。 //()。 ()。 //(new Color(255, 255, 240))。 //畫(huà)橫向標(biāo)識(shí)符 (line,25,15)。 // 畫(huà)豎向標(biāo)識(shí)符 for(int i=0。i9。i++){ (rowNum1,i,1,10,35+i*30)。 } for(int i=9,j=0。i15。i++,j+=2){ (rowNum2,j,2,10,35+i*30)。 } // 畫(huà)棋盤(pán) for (int i = 0。 i 15。 i++) { (30, 30 + i * 30, 450, 30 + i * 30)。 //行 (30 + i * 30, 30, 30 + i * 30, 450)。 //列 } (25, 25, 455, 25)。 (25, 25, 25, 455)。 (25, 455, 455, 455)。 (455, 25, 455, 455)。 //面板初始化 for(int i=0。i15。i++){
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1