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

正文內(nèi)容

網(wǎng)絡(luò)五子棋的設(shè)計(jì)與實(shí)現(xiàn)word格式-預(yù)覽頁(yè)

 

【正文】 2 Platform,它定義了所有 Java 技術(shù)的概念和標(biāo)準(zhǔn),即包括已經(jīng)實(shí)現(xiàn)的技術(shù)也包括尚未實(shí)現(xiàn)的技術(shù);即包括 Sun 的實(shí)現(xiàn)的,也包括其它公司的實(shí)現(xiàn)。 JavaCard:適用于智 能卡的 Java 平臺(tái)。 面向?qū)ο螅?Java 是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。大多數(shù)軟件都可以運(yùn)行在網(wǎng)絡(luò)環(huán)境中。 安全: Java 語(yǔ)言在編譯時(shí)刪除了指針和內(nèi)存分配,在運(yùn)行時(shí)檢查字節(jié)代碼,拒絕執(zhí)行非法的內(nèi)存訪問,超越權(quán)限的訪問等。 多線程:允許一個(gè)應(yīng)用程序同時(shí)做多個(gè)任務(wù)。 JDK: 是 Java 開發(fā)工具包( J2SE Software Development Kit)的縮寫 ,用 Java語(yǔ)言編寫 applet 小程序和應(yīng)用程序的軟件開發(fā)環(huán)境, Java 開發(fā)者應(yīng)該安裝 JDK,并且通常 JDK 中已包含一個(gè) JRE 拷貝。 demo: sun提供的一些用于 java 開發(fā)的示范例子 ,如有關(guān) applets, jfc, plugin 等。%PATH% 圖 23 Windows下環(huán)境變量的設(shè)置 Java 中線程概念: 1.線程的概念 一個(gè)關(guān)于計(jì)算機(jī)的簡(jiǎn)化的視圖是:它有一個(gè)執(zhí)行計(jì)算的處理機(jī)、包含處理機(jī)所執(zhí)行的程序的 ROM(只讀存儲(chǔ)器,在 JAVA 中也叫堆棧 )、包含程序所要操作的數(shù)據(jù)的 RAM(隨機(jī)存儲(chǔ)器,在 JAVA 中也叫堆 )。如果你要執(zhí)行一個(gè)以上的作業(yè),這類似有一臺(tái)以上的計(jì)算機(jī)。 進(jìn)程是正在執(zhí)行的程序。 類似地,數(shù)據(jù)可以由多個(gè)線程共享,而不依賴代碼。 Java 線程分守護(hù)線程和用戶線程,由創(chuàng)建時(shí)設(shè)置。對(duì)于后面一種情形,低優(yōu)先級(jí)線程被高優(yōu)先級(jí)線程搶占了運(yùn)行的機(jī)會(huì)。當(dāng)一個(gè)被阻塞的線程變成可運(yùn)行時(shí),它會(huì)被放回相應(yīng)的可運(yùn)行池。在一個(gè)只有一個(gè) CPU 的機(jī)器上,在一個(gè)時(shí)刻只能進(jìn)行一個(gè)動(dòng)作。 Socket 機(jī)制: 基于 Java 的網(wǎng)絡(luò)技術(shù) TCP/IP 套接字 套接字是網(wǎng)絡(luò)軟件中的一個(gè)抽象概念,套接字允許單個(gè)計(jì)算機(jī)同時(shí)服務(wù)于很多不同客戶,并能夠 提供不同類型信息的服務(wù)。隊(duì)列長(zhǎng)度告訴系統(tǒng)多少與之連接的客戶在系統(tǒng)拒絕連接之前可以掛起。注意: accept()方法會(huì)讓服務(wù)器中的當(dāng)前線程暫停下來,直到有客戶端的正確連接發(fā)送過來。 Socket 該類為建立連向服務(wù)器套接字及啟動(dòng)協(xié)議交換而設(shè)計(jì),當(dāng)進(jìn)程通過網(wǎng)絡(luò)進(jìn)行通信的時(shí)候, java 技術(shù)使用流模型來實(shí)現(xiàn)數(shù)據(jù)的通信。 其被設(shè)計(jì)用來為開發(fā)小組提供所需的開發(fā)工具,以便在企業(yè)應(yīng)用程序開發(fā)過程中獲得最大的生產(chǎn)力,提供了下一代的解決方案,使得開發(fā)小組能夠做更多的工作:減少開發(fā)成本,交付一致的、高品質(zhì)的應(yīng)用,縮短產(chǎn)品上市的時(shí)間。 這些創(chuàng)新性工具包括新型 Struts 設(shè)計(jì)工具與 Web 業(yè)務(wù)設(shè)計(jì)工具,能夠加速企業(yè) Java 應(yīng)用程序的上市時(shí)間。 JBuilder 技術(shù)有助于開發(fā)小組理解并經(jīng)濟(jì)地復(fù)用現(xiàn)有的代碼部件,這意味著開發(fā)者能夠更加高效地利用時(shí)間,對(duì)具有類似功能的多個(gè)實(shí)例只需進(jìn)行一次編碼。 另外, JBuilder 以強(qiáng)大的支持與服務(wù)基礎(chǔ)架構(gòu)為依托,這有助于確保您的成功。 使用可靠的工具集成,專注于開發(fā) JBuilder 開發(fā)環(huán)境可讓開發(fā)者使用從設(shè)計(jì)、開發(fā)、調(diào)試與測(cè)試直到分發(fā)與管理的應(yīng)用程序開發(fā)生命周期的全部階段。這對(duì)于把軟件開發(fā)變革成可管理及成功業(yè)務(wù)流程至為關(guān)鍵。 JBuilder 也與其他業(yè)界領(lǐng)先的版本控制系統(tǒng)與分發(fā)平臺(tái)集成在一起,提供了平臺(tái)的靈活性與選擇的自由。從面向?qū)ο蟮慕嵌?來看,這也不符合,都放在一起,那些東西都在一個(gè)類里面,他們還可以劃分成其他的類,而這里用的是JAVA 對(duì)該游戲進(jìn)行開發(fā),所以每一個(gè)類都要單一,所以把界面分成三個(gè)部分:一個(gè)是棋盤類,也是主要的類,一個(gè)是消息面板的類,還有一個(gè)就是控制面板的類。我們就想,肯定是每次當(dāng)點(diǎn)擊鼠標(biāo)的時(shí)候就在點(diǎn)擊鼠標(biāo)的地方畫一個(gè)棋子,所以我們還得定義一個(gè)棋子的類來對(duì)我們點(diǎn)擊鼠標(biāo)時(shí)把棋子繪制出來。尤其是單機(jī)游戲時(shí),怎樣讓你在棋盤上下棋之后就讓計(jì)算機(jī)自己下棋呢,如果能下棋,又怎樣讓計(jì)算機(jī)計(jì)算出在什么位置 下呢??這樣的話就是算法設(shè)計(jì)了 有了以上的準(zhǔn)備就可以把棋盤繪制出來了,然后就是下棋了,如果是單機(jī)游戲,每次在適當(dāng)位置點(diǎn)擊鼠標(biāo)的時(shí)候就在所點(diǎn)擊的位置上畫出你這個(gè)角色的顏色,在繪制出你下棋位置的棋之后你所希望看到的是計(jì)算機(jī)下棋了,也就是說在你下完棋之后就是計(jì)算機(jī)自動(dòng)的下了,計(jì)算機(jī)要自己選擇一個(gè)合適的位置來下棋,也就是說每次自己下完棋之后就要有一個(gè)控制變量來控制自能不能下棋,如自己下了棋而計(jì)算機(jī)還沒下棋的話那就得讓自己不能下棋就是說點(diǎn)擊鼠標(biāo)沒用(當(dāng)然這種情況是不可能的,因?yàn)橛?jì)算機(jī)計(jì)算的速度很快,所以一般人下完棋 后計(jì)算機(jī)就馬上繪制出了所須下的棋子,只是為了說明在網(wǎng)絡(luò)對(duì)弈時(shí)候該這樣控制)。信息發(fā)送和接收依靠網(wǎng)絡(luò)流來傳遞。也就是說如果這個(gè)點(diǎn)是這種情況的話就為 true 況的就為 false。這樣的話就可以來判斷計(jì)算機(jī)能不能下棋了,也能判斷出贏棋的情況,那么計(jì)算機(jī)又應(yīng)該在那個(gè)地方下棋最合適呢? 在這里,定義兩個(gè)二維數(shù)組, scoreBlack[15][15] , scoreWhite[15][15]分別用來存放白棋和黑棋各個(gè)未下棋點(diǎn)的分?jǐn)?shù),以判斷計(jì)算機(jī)在那個(gè)點(diǎn)下棋最合適。該圖說明了用例模型中的關(guān)系。因此參與者可以是人,可以是事物,也可以是時(shí)間或其他系統(tǒng)等等。 圖 33 角色 用例是對(duì)包括變量在內(nèi)的一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作,并產(chǎn)生傳遞特定參與者的價(jià)值的可觀察結(jié)果。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。因?yàn)橄到y(tǒng)邊界的作用有時(shí)候不是很明顯,所以我個(gè)人理解,在畫圖時(shí)可省略。 對(duì)問題做出了分析之后,就可以根據(jù)分析的結(jié)果畫出用例圖了,因?yàn)橄缕宓慕巧侨耍越巧褪窍缕逭?,下棋者直接發(fā)生的動(dòng)作是點(diǎn)擊鼠標(biāo),在棋盤上繪制棋子,所以就有可以把整個(gè)下棋的過程分為兩個(gè)用例。類圖不顯示暫時(shí)性信息。 類圖最基本的元素是類或者接口。 你通常通過下面三種方式使用類圖: 1,為系統(tǒng)詞匯建模型 為系統(tǒng)的詞匯建模實(shí)際上 是從詞匯表中發(fā)現(xiàn)類,發(fā)現(xiàn)它的責(zé)任。 3,模型化一個(gè)邏輯數(shù)據(jù)庫(kù)模式 想象模式是概念上設(shè)計(jì)數(shù)據(jù)庫(kù)的藍(lán)圖。第一個(gè)是類名;第二個(gè)是屬性( attributes);第三個(gè)是該類提供的方法( 類的性質(zhì)可以放在第四部分;如果類中含有內(nèi)部類,則會(huì)出現(xiàn)第五個(gè)組成部分)。 如果屬性或方法具有下劃線,則說明它是靜態(tài)的。 2. 包( Package) 包是一種常規(guī)用途的組合機(jī)制。每個(gè)包的名稱對(duì)這個(gè)包進(jìn)行了惟一性的標(biāo)識(shí)。具體畫法見下例: 圖 37 接口的畫法 4. 關(guān)系 常見的關(guān)系有:一般化關(guān)系( Generalization),關(guān)聯(lián)關(guān)系( Association),聚合關(guān)系( Aggregation) ,合成關(guān)系( Composition),依賴關(guān)系( Dependency)。表示方法: 用一個(gè)空心箭頭+實(shí)線,箭頭指向父類。 聚合關(guān)系:是關(guān)聯(lián)關(guān)系的一種,是強(qiáng)的關(guān)聯(lián)關(guān)系。 合成關(guān)系:是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系強(qiáng)的關(guān)系。 表示方法:虛線+箭頭 通用建模技術(shù) 沒有類是單獨(dú)存在的,他們通常和別的類協(xié)作,創(chuàng)造比單獨(dú)工作更大的語(yǔ)義。機(jī)制代表了部分你建模的系統(tǒng)的一些功能和行為,這些功能和行為是一組類、接口和其他事物相互作用的結(jié)果。 確定用這些事物的內(nèi)容來填充它們。還初始化了棋盤上各個(gè)落棋點(diǎn)的位置,連接 服務(wù)器和開啟服務(wù)器的方法,并這個(gè)類是一個(gè)多線程類,主要是對(duì)網(wǎng)絡(luò)下棋時(shí)各自對(duì)棋子,面板的處理等 還包括了對(duì)下棋輸贏 的判斷等 該類繼承了 Panle 類,在這個(gè)面板上要進(jìn)行畫棋格子,繪制棋子,類自己的面板如下圖 圖 39 棋盤界面 這就是單純的棋盤,前面算法已經(jīng)介紹過,該棋盤中有存放橫縱坐標(biāo)的數(shù)組, int x[], y[],初始化他們的大小為 15,存放每鐘五子連情況上的個(gè)數(shù)的數(shù)組colorFive[][],前面講出現(xiàn)過的變量這里就不列出來了,要有一個(gè)控制能否下棋的變量 boolean canpress,一個(gè)控制單機(jī)一個(gè)控制網(wǎng)絡(luò)的變量 boolean danji,,控制改變顏色的變量 boolean changecolor,因?yàn)楫嬈遄又?,棋子的?duì)象就不起作用了,再刷新的話就會(huì)被垃圾回收機(jī)制回收掉,所以要定義一個(gè)容器來存放所有已經(jīng)下了的棋子,以便在刷新的時(shí)候它還是能顯示出來,由于這個(gè)類還要實(shí)現(xiàn)線程,網(wǎng)絡(luò)對(duì)弈時(shí)要進(jìn)行通信,所以要有 IO 流,所以要定義屬性 ServerSocket server,Socket chessSocket, 數(shù) 據(jù) 輸 入 輸 出 流 DataInputStream inData,DataOutputStream outData,還要定義一個(gè)端口好這里把它定義成 3333。該面板如下圖。 下圖為游戲菜單,當(dāng)點(diǎn)擊“單機(jī)”時(shí),網(wǎng)絡(luò)選項(xiàng)為不可選,也就是說當(dāng)在單機(jī)游戲時(shí),就不能開始網(wǎng)絡(luò)游戲了,而點(diǎn)擊了網(wǎng)絡(luò)時(shí),單機(jī)就為不可選了。 圖 315 選項(xiàng)菜單 該類除了增加了菜單來對(duì)游戲的操作外,重玩等功能。消息面板上顯示的都是自己的一些信息提示信息顯示現(xiàn)在下棋的是那一方,界面如下。 對(duì)弈的時(shí)候,在客戶端下棋之后,在服務(wù)器端應(yīng)該立馬顯示客戶端下棋的位置,或者所在服務(wù)器端下棋之后就應(yīng)該在客戶端立刻現(xiàn)實(shí)服務(wù)器端下棋的位置,以保持游戲的同步,在有贏棋的情況下,雙方都應(yīng)該給出相應(yīng)的提示贏輸棋對(duì)話框,贏棋的一方提示自己贏棋,并提示是否繼續(xù)玩,輸棋的一方提示輸棋,也提示是否繼續(xù)游戲。 圖 325 改變顏色界面 這就是單機(jī)游戲整個(gè)運(yùn)行的過程了。軟件測(cè)試在軟件生命周期中橫跨兩個(gè)階段:通常在編寫出每一個(gè)模塊之后就需要對(duì)它做必要的測(cè)試(稱為單元測(cè)試)。可以采用 Junit 和 Jtest來輔助進(jìn)行單元測(cè)試。在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合 理的輸入條件和不合理的輸入條件。應(yīng)該對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試。 妥善保存測(cè)試計(jì)劃,測(cè)試用例,出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。 在對(duì)需求理解與表達(dá)的正確性、設(shè)計(jì)與表達(dá)的正確性、實(shí)現(xiàn)的正確性以及運(yùn)行的正確性的驗(yàn)證中,任何一個(gè)環(huán)節(jié)發(fā)生了問題都 可能在軟件測(cè)試中表現(xiàn)出來。 在設(shè)計(jì)界面時(shí),對(duì)那些面板進(jìn)行布局管理對(duì)他們進(jìn)行組織的時(shí)候出現(xiàn)下面這樣的問題如圖 圖 331 測(cè)試棋盤出界 也就是棋盤的界面超出了范圍,所以這樣看上去就不美觀。如下代碼 還有當(dāng)點(diǎn)擊連接服務(wù)器之后,點(diǎn)擊關(guān)閉和退出游戲都沒用,這個(gè)一想就明白,應(yīng)該是那些按鈕沒注冊(cè)監(jiān)聽事件,或者說注冊(cè)了監(jiān)聽時(shí)間未監(jiān)聽它們。 在設(shè)計(jì)和測(cè)試的過程中會(huì)有很多問題,很多時(shí)候可以根據(jù)現(xiàn)象看本質(zhì),看到問題能差不多知道問題可能是出在那里,再用輸出語(yǔ)句來測(cè)試是不是程序運(yùn)行到這里,也就是針對(duì)某個(gè)點(diǎn)的測(cè)試,比如說我覺得程序可能問題處在某個(gè) for 循環(huán)里面,或者說是在某個(gè)方法里面,可能是程序根本就沒運(yùn)行到里面去,這樣的話我們就可以在里面寫一個(gè)輸出語(yǔ)句做為標(biāo)記,也就是說如果運(yùn)行到里面去了的花就會(huì)打印出你輸出的語(yǔ)句,否則就不行,其實(shí)不僅是在這里,在其他很多程序中這種使用的而且簡(jiǎn)單的方法都很使用,并且很有效。 結(jié) 語(yǔ) 論文行文至此,已基本完成。 ( 2) 介紹了此游戲的功能模塊。 參 考 文 獻(xiàn) [1]朱福喜,唐曉軍 Java 程序設(shè)計(jì)技巧與開發(fā)實(shí)例 人民郵電出版社 2021 [2]《程序員》雜志社 程 序員 2021 合訂本下 電子工業(yè)出版社 2021 204213 [3]耿祥義 Java 課程設(shè)計(jì) 清華大學(xué)出版社 2021 [4](美) Bruce Eckel 著 陳昊鵬 譯 Java 編程思想 第四版 機(jī)械工業(yè)出版 社 2021 [5]飛思科技產(chǎn)品研發(fā)中心 Java2 應(yīng)用開發(fā)指南 第二版 電子工業(yè)出版社 2021 [6]於東軍,楊靜宇,李千目,王過全 Java 程序設(shè)計(jì)與應(yīng)用開發(fā) 清華大學(xué)出版社 2021 致 謝 首先感謝我的指導(dǎo)老師 —謝飛老師,他在課題的研究上不 遺余力的給予指導(dǎo)。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1