21點(diǎn)小游戲JAVA課程設(shè)計(jì).doc_第1頁(yè)
21點(diǎn)小游戲JAVA課程設(shè)計(jì).doc_第2頁(yè)
21點(diǎn)小游戲JAVA課程設(shè)計(jì).doc_第3頁(yè)
21點(diǎn)小游戲JAVA課程設(shè)計(jì).doc_第4頁(yè)
21點(diǎn)小游戲JAVA課程設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、21點(diǎn)小游戲1.課程設(shè)計(jì)的目的 面向?qū)ο蟪绦蛟O(shè)計(jì)是一門實(shí)踐性很強(qiáng)的專業(yè)基礎(chǔ)課程,課程設(shè)計(jì)是學(xué)習(xí)完該課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于通過(guò)實(shí)踐加深學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的理論、方法和基礎(chǔ)知識(shí)的理解,掌握使用Java語(yǔ)言進(jìn)行面向?qū)ο笤O(shè)計(jì)的基本方法,提高運(yùn)用面向?qū)ο笾R(shí)分析實(shí)際問(wèn)題、解決實(shí)際問(wèn)題的能力,提高學(xué)生的應(yīng)用能力。通過(guò)這次設(shè)計(jì),掌握了以下內(nèi)容:面向?qū)ο蠹夹g(shù)中的繼承與多態(tài)(重載和覆蓋)機(jī)制、各種修飾符的使用類、包、接口的定義與使用。常用工具類與算法的實(shí)現(xiàn)(數(shù)組、向量、字符串、鏈表),java.awt、javax.swing中常用標(biāo)準(zhǔn)GUI組件及相應(yīng)的事件處理,Java的異常處理機(jī)制,

2、Java的數(shù)據(jù)庫(kù)連接技術(shù),Java的多線程技術(shù)與動(dòng)畫(huà)制作以及Java的網(wǎng)絡(luò)編程?!?1點(diǎn)”是一個(gè)古老的撲克牌游戲,作為一款極具趣味性的牌類游戲,最早出現(xiàn)在十六世紀(jì),起源于法國(guó),法語(yǔ)稱:vingt-et-un (單單字面來(lái)看是20和1,因?yàn)榉ㄎ臄?shù)字本身的復(fù)雜性,就是簡(jiǎn)單的21), 因此在廣為流行后該游戲就叫21。后傳入英國(guó)并廣泛流傳,英文的名字叫黑杰克(Blackjack)。游戲規(guī)則是:各個(gè)參與者設(shè)法使自己的牌達(dá)到總分21而不超過(guò)這個(gè)數(shù)值。2.設(shè)計(jì)方案論證設(shè)計(jì)思路本游戲選用Eclipse、JBuilder、NetBeans等作為開(kāi)發(fā)平臺(tái)以提高開(kāi)發(fā)效率,通過(guò)資料查閱和學(xué)習(xí)盡可能熟練掌握其中一種集成

3、開(kāi)發(fā)環(huán)境。在要牌的過(guò)程中,如果所有的牌加起來(lái)超過(guò)21點(diǎn),玩家就輸了叫爆掉(Bust),游戲也就結(jié)束了。假如玩家沒(méi)爆掉,又決定不再要牌了,這時(shí)系統(tǒng)隨機(jī)給莊家發(fā)牌。假如莊家的總點(diǎn)數(shù)加起來(lái)小于18點(diǎn)(Hit),系統(tǒng)就必須繼續(xù)給莊家發(fā)牌(不管莊家的點(diǎn)數(shù)是否比玩家大),一直發(fā)到莊家的點(diǎn)數(shù)大于等于18點(diǎn)為止。如果莊家的總點(diǎn)數(shù)等于或多于18 點(diǎn),則必須停牌(Stand)。莊家在給自己發(fā)牌的過(guò)程中,假如莊家爆掉(超過(guò)21點(diǎn)),那莊家就輸了。假如莊家沒(méi)爆掉,那么玩家就與莊家比點(diǎn)數(shù)大小,大為贏。一樣的點(diǎn)數(shù)為平手,玩家可以把自己的賭注拿回來(lái)。 如果拿牌拿到手中有5張牌,并且總數(shù)不到21點(diǎn),那這種情況能壓住一切牌型(

4、當(dāng)然5張加起來(lái)一共21點(diǎn)更好)。開(kāi)始下注玩家要牌(最多5張)莊家要牌贏輸結(jié)束大于21點(diǎn)21點(diǎn)圖1 系統(tǒng)流程圖 開(kāi)始詳細(xì)設(shè)計(jì)1游戲計(jì)數(shù)規(guī)則撲克牌 A10 為110,J、Q、K 分別為為11、12、13。在要牌的過(guò)程中,如果所有的牌加起來(lái)超過(guò)21點(diǎn),玩家就輸了叫爆掉(Bust),游戲也就結(jié)束了。假如玩家沒(méi)爆掉,又決定不再要牌了,這時(shí)系統(tǒng)隨機(jī)給莊家發(fā)牌。假如莊家的總點(diǎn)數(shù)加起來(lái)小于18點(diǎn)(Hit),系統(tǒng)就必須繼續(xù)給莊家發(fā)牌(不管莊家的點(diǎn)數(shù)是否比玩家大),一直發(fā)到莊家的點(diǎn)數(shù)大于等于18點(diǎn)為止。如果莊家的總點(diǎn)數(shù)等于或多于18 點(diǎn),則必須停牌(Stand)。莊家在給自己發(fā)牌的過(guò)程中,假如莊家爆掉(超過(guò)21點(diǎn)

5、),那莊家就輸了。假如莊家沒(méi)爆掉,那么玩家就與莊家比點(diǎn)數(shù)大小,大為贏。一樣的點(diǎn)數(shù)為平手,玩家可以把自己的賭注拿回來(lái)。 如果拿牌拿到手中有5張牌,并且總數(shù)不到21點(diǎn),那這種情況能壓住一切牌型(當(dāng)然5張加起來(lái)一共21點(diǎn)更好)。2 二十一點(diǎn)術(shù)語(yǔ)花牌(K、Q、J分別為11、12、13)和10計(jì)算為 10點(diǎn)。其它牌則按照牌面上的點(diǎn)數(shù)計(jì)算。要牌(HIT) : 再拿一張牌。玩家只要手上牌相加點(diǎn)數(shù)不超過(guò) 21點(diǎn)都可要牌;但莊家要牌則有限定,即手上牌相加點(diǎn)數(shù)在 17點(diǎn)或以下,必需要牌;而手上牌相加點(diǎn)數(shù)在 18點(diǎn)或以上,就不能再要牌。 不要(STAND) : 不再拿牌。在任何情況下,玩家可選擇停止要牌。 賭注加倍

6、(DOUBLE) : 玩家在拿到前兩張牌之后,可以再下一注與原賭注相等的賭金(如果覺(jué)得少可以加倍),然后只能再拿一張牌。如果玩家的點(diǎn)數(shù)等于18或超過(guò)18點(diǎn),系統(tǒng)就不允許玩家下注及賭注加倍。放棄: 玩家不想玩時(shí),可以放棄本局游戲,系統(tǒng)退回一半的投注金。平手: 即玩家手上牌的點(diǎn)數(shù)與莊家的點(diǎn)數(shù)相同的時(shí)候,雙方都沒(méi)有輸贏,投注金將退回給玩家。贏局: 玩家將評(píng)定為贏。玩家點(diǎn)數(shù)等于21點(diǎn)(贏注加倍)、玩家要了5張牌且點(diǎn)數(shù)不超過(guò)21點(diǎn)(贏注加倍)、玩家點(diǎn)數(shù)比莊家點(diǎn)數(shù)大且不超過(guò)21點(diǎn)、或莊家點(diǎn)數(shù)超過(guò) 21點(diǎn)(家點(diǎn)數(shù)不超過(guò) 21點(diǎn))。莊家贏局: 玩家點(diǎn)數(shù)已超過(guò) 21點(diǎn)、莊家點(diǎn)數(shù)較玩家點(diǎn)數(shù)接近 21點(diǎn)(但不超過(guò)2

7、1點(diǎn))賠率: 玩家剛好21點(diǎn) 或 5張牌不超21點(diǎn)賠3倍,其它為1賠1。下面是21點(diǎn)游戲的菜單功能圖。21點(diǎn) 游 戲開(kāi)始下注要牌判斷點(diǎn)數(shù) 圖2 菜單功能圖本程序包括三個(gè)類文件:主類MainFrame.java,類Mycanvas.java,類cell.java。其中類MyMainFrame包含main()方法,另外兩個(gè)類中MyCanvas()、方法reLoadPicture()、方法isFinish()方法start()和方法 paint()方法Mousepressed(Mouseevent arg();另一個(gè)類Cell中 則包含了方法move(String direction,int sle

8、ep)等.類JApple(1) JApplet的應(yīng)用:編寫(xiě)HTML頁(yè)面,把JApplet嵌入到一個(gè)表單中。歡迎速算21點(diǎn)游戲(2) JPanel類的應(yīng)用:在Java中沒(méi)有用來(lái)顯示圖片的JPanel,所以要編寫(xiě)一個(gè)用來(lái)顯示圖片的類,該類從JPanel類繼承而來(lái),具有JPanel的方法和特征還具有顯示圖片的功能。準(zhǔn)備14張圖片,分別為AK的撲克牌正面和一張背面圖,進(jìn)行裝載。使用Graphics類的drawImage方法在面板上畫(huà)上4張撲克牌,用myStatus數(shù)組保存當(dāng)前5張牌的大小。裝載圖片:url=Class.forName(String str).getResource(String str

9、);Image=getToolkit().getResource(url);在指定位置畫(huà)出圖片:g.drawImage(myImagemycal24.myStatusi,i*IMGSIZE+5,5,this);(3) JFrame類的應(yīng)用:用于顯示對(duì)話框,輸入表達(dá)式后,根據(jù)表達(dá)式判斷是否合法和表達(dá)式的值的運(yùn)算給出相應(yīng)的對(duì)話框。(4) 添加對(duì)事件的處理:通過(guò)監(jiān)聽(tīng)器來(lái)實(shí)現(xiàn)對(duì)事件的處理。在JApplet類中實(shí)現(xiàn)ActionListener的接口,用來(lái)處理ActionEvent事件。當(dāng)產(chǎn)生ActionEvent事件時(shí),就會(huì)調(diào)用接口中定義的ActionPerformed的方法。然后調(diào)用組件的addAct

10、ionListener()方法來(lái)安裝監(jiān)聽(tīng)器,用setActionCommand(String str)來(lái)區(qū)分不同組件產(chǎn)生的ActionEvent事件。游戲開(kāi)始后,。按鈕變?yōu)榛疑床豢捎?。選擇下注金額并單擊下注按鈕后,。單擊要牌,系統(tǒng)隨機(jī)給玩家發(fā)一張牌。單擊不要,玩家發(fā)牌結(jié)束,系統(tǒng)隨機(jī)給莊家發(fā)牌,只要一超過(guò)18,系統(tǒng)就停止發(fā)牌,然后比較玩家與莊家的點(diǎn)數(shù)大小(莊家超過(guò)21點(diǎn)馬上提示輸)。單擊賭注加倍,下的金額會(huì)加倍。單擊減少賭注,賭注成一倍減少。單擊放棄,系統(tǒng)判斷玩家輸并要求重新下注、發(fā)牌。(5) 對(duì)表達(dá)式處理的方法:對(duì)表達(dá)式的處理有三部分第一,判斷表達(dá)式的合法性。第二,判斷表達(dá)式上的數(shù)字就是撲克

11、牌上的數(shù)字。第三,計(jì)算表達(dá)式的值。方法的返回值是整型。(6) 數(shù)組的應(yīng)用:在本設(shè)計(jì)中數(shù)組用來(lái)保存14張圖片,用來(lái)保存隨機(jī)產(chǎn)生的4張牌的大小并根據(jù)此來(lái)顯示相應(yīng)的撲克牌,用來(lái)檢查表達(dá)式的合法性。(1)成員變量見(jiàn)表1表1 主類成員變量表成員變量變量類型名稱開(kāi)始狀態(tài)BooleanStart窗口寬度intfWidth窗口高度intfHeight結(jié)束對(duì)象gOver GameOver焦點(diǎn)控制booleanindex(2)方法見(jiàn)表2表2 主類方法表方法名功能備注Puzzle()創(chuàng)建游戲窗口和設(shè)置圖標(biāo)StartGame()開(kāi)始游戲控制,更新開(kāi)始菜單endgame()結(jié)束游戲控制彈出結(jié)束窗口FrameLoseFo

12、cus()使窗口失去焦點(diǎn)事件FrameGetFocus ()使窗口得到焦點(diǎn)事件menuShowClik()在游戲中顯示紙牌調(diào)用類class ShowImagemenuExit()退出游戲(3)源代碼見(jiàn)附錄類Mycanvas實(shí)現(xiàn)了游戲系統(tǒng)對(duì)將要進(jìn)行拼圖的圖片加載,函數(shù)中設(shè)置了游戲的圖片庫(kù)中圖片在電腦上的路徑,此方法先定義了一個(gè)布爾型變量hasAddActionListener并將其值賦為false,用hasAddActionListener來(lái)設(shè)置方格的動(dòng)作監(jiān)聽(tīng)器的標(biāo)志位,True為已經(jīng)添加上動(dòng)作事件,F(xiàn)alse是尚未添加動(dòng)作事件。 (1)成員變量見(jiàn)表3表3類Mycanvas成員變量表成員變量描述

13、變量類型名稱布局格式變量CardLayoutcard容器變量Containercon面板數(shù)組JpanelPanel(2)方法見(jiàn)表4表4類Mycanvas方法表方法名功能備注CardFrame()創(chuàng)建窗口,布局游戲介紹添加了焦點(diǎn)事件適配器nextCard()轉(zhuǎn)到一下張紙牌采用發(fā)放紙牌布局(3)源代碼見(jiàn)附錄MyCanvas.java類cell對(duì)分配好圖案的小方格進(jìn)行重新排列,打亂順序,當(dāng)?shù)匾粋€(gè)方格距左上角較近時(shí),產(chǎn)生0-4,對(duì)應(yīng)空方格的上下左右移動(dòng),空方格左移動(dòng),與左側(cè)方格互換位置,5-8對(duì)應(yīng)的方格也同理進(jìn)行移動(dòng)打亂圖片順序;當(dāng)小方格圖片的順序打亂后則調(diào)用AddMouseListener方法為第一

14、個(gè)方格添加動(dòng)作事件,這樣單擊按鈕就能移動(dòng)小方格,完成了方格的按鈕響應(yīng)。(1)成員變量見(jiàn)表5表5類Cell成員變量表成員變量描述變量類型名稱難度等級(jí)變量inttype文件路徑Stringfilename難度按鈕組ButtonGroupbgrp圖片選擇按鈕組ButtonGroupfrp菜單更新控制Booleanupdate菜單項(xiàng)數(shù)組JMenuMm m(2)方法見(jiàn)表6表6類Cell方法表方法名功能備注MenuFrame()創(chuàng)建窗口添加了焦點(diǎn)事件適配器addMenu()向菜單欄中添加菜單以數(shù)組形式添加多個(gè)菜單menuLevelClick()實(shí)現(xiàn)等級(jí)選擇menuBackgroundClik()實(shí)現(xiàn)背景圖

15、片的選擇getType()返回一個(gè)難度等級(jí)getFilename()獲取圖片的名字initMenuBegin()初始化開(kāi)始按鈕并設(shè)置快捷鍵同時(shí)給出了選擇 菜單后的相應(yīng)動(dòng)作initMenuBackground()初始化背景菜單initMenuAbout()初始化關(guān)于菜單initMenuOpition()初始化選擇菜單(3)源代碼見(jiàn)附錄3.設(shè)計(jì)結(jié)果與分析(1)當(dāng)打開(kāi)該小游戲時(shí),打開(kāi)游戲菜單里面的開(kāi)始游戲,軟件運(yùn)行界面如圖 所示圖3 主界面 圖4點(diǎn)數(shù)大于21點(diǎn)圖5 玩家正好21點(diǎn)界面圖6 莊家超過(guò)21點(diǎn)界面 圖7軟件作者介紹界面4.設(shè)計(jì)體會(huì)該課程設(shè)計(jì),除了全面系統(tǒng)的理解了JAVA面向?qū)ο缶幊淘淼囊?/p>

16、般原理和基本實(shí)現(xiàn)方法。還把死板的課本知識(shí)變得生動(dòng)有趣,激發(fā)了學(xué)習(xí)的積極性。把學(xué)過(guò)的編程原理的知識(shí)強(qiáng)化,能夠把課堂上學(xué)的知識(shí)通過(guò)自己設(shè)計(jì)的程序表示出來(lái),加深了對(duì)理論知識(shí)的理解。以前對(duì)面向?qū)ο笳J(rèn)識(shí)和概念是有點(diǎn)模糊的,現(xiàn)在通過(guò)自己動(dòng)手做課程設(shè)計(jì),從實(shí)踐上認(rèn)識(shí)了面向?qū)ο缶幊淌侨绾瓮ㄟ^(guò)對(duì)象來(lái)簡(jiǎn)化面向過(guò)程中的操作。課程設(shè)計(jì)中程序比較復(fù)雜,在調(diào)試時(shí)應(yīng)該仔細(xì),在程序調(diào)試時(shí),注意盡力尋找程序中存在的不足之處,進(jìn)而使功能更加完善。在這次課程設(shè)計(jì)中,我就是按照實(shí)驗(yàn)指導(dǎo)的思想來(lái)完成。加深了理解21點(diǎn)游戲的內(nèi)部功能及內(nèi)部實(shí)現(xiàn),培養(yǎng)實(shí)踐動(dòng)手能力和程序開(kāi)發(fā)能力的目的。 當(dāng)然在做課程設(shè)計(jì)要有很大的耐心,做的過(guò)程就是不斷的調(diào)試

17、修改調(diào)試過(guò)程,只有靜下心來(lái)才能把問(wèn)題解決。5.參考文獻(xiàn)1 耿祥義,張躍平. Java2實(shí)用教程(第三版)M. 北京:清華大學(xué)出版社,2004.5:37-103.2 美Herbert Schildt .Java參考大全M. 北京:清華大學(xué)出版社,2007.8:145-168.3 陳家興.JAVA圖形用戶界面設(shè)計(jì)與實(shí)例M . 北京:冶金工業(yè)出版社,2005.2:75-89.4 張偉.Java程序設(shè)計(jì)實(shí)戰(zhàn)訓(xùn)練M. 北京:人民郵電出版社,2005.7:97-105.5 孫衛(wèi)琴.Java面向?qū)ο缶幊蘉 . 北京:電子工業(yè)出版社,2009.5:123-156.6 .大學(xué)基礎(chǔ)教程(第六版)M. 北京:電子工

18、業(yè)出版社,2008.8:34-78.7 ).Java程序設(shè)計(jì)教程M. 北京:清華大學(xué)出版社,2007.4:12-34.附錄public class run extends javax.swing.JFrame public run() initComponents(); / 從 A - K的撲克牌,用來(lái)計(jì)算撲克牌點(diǎn)數(shù) String faces = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13;String color = Spades, Heart, Clubs, Diamond; / 撲克牌的?黑桃、?紅桃、?梅花、?方塊 deck=new Card52;

19、 / 一共52張撲克牌 for(int i=0;ideck.length;i+) decki= new Card(facesi%13,colori/13); / 撲克牌點(diǎn)數(shù)及花色 shuffle(); / 洗牌代碼 / Gamedh.setVisible(false); Gamepn.setVisible(false); / 設(shè)置在沒(méi)有下注的前,其他按鈕是不可點(diǎn)擊的 Naskcard.setEnabled(false); Nnoaskcard.setEnabled(false); Ndoublemoney.setEnabled(false); Ndecreasemoney.setEnabled

20、(false); Giveup.setEnabled(false);/*相關(guān)按鈕等對(duì)象的創(chuàng)建*/ SuppressWarnings(unchecked) private void initComponents() Dialog1 = new javax.swing.JDialog(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = ne

21、w javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); jLabel13 = new javax.

22、swing.JLabel(); jLabel14 = new javax.swing.JLabel(); jLabel15 = new javax.swing.JLabel(); jLabel16 = new javax.swing.JLabel(); jLabel17 = new javax.swing.JLabel(); North = new javax.swing.JLabel(); West = new javax.swing.JLabel(); East = new javax.swing.JLabel(); Gamepn = new javax.swing.JPanel(); C

23、omputercard = new javax.swing.JTextField(); /Nputedmoney.addActionListener(new MyActionMoniter(); Nputedmoney = new javax.swing.JButton(); /Naskcard.setEnabled(false); /Naskcard.addActionListener(new MyActionMoniter(); Naskcard = new javax.swing.JButton(); /Nnoaskcard.addActionListener(new MyActionM

24、oniter(); Nnoaskcard = new javax.swing.JButton(); /Ndoublemoney.addActionListener(new MyActionMoniter(); Ndoublemoney = new javax.swing.JButton(); /Ndecreasemoney.addActionListener(new MyActionMoniter(); Ndecreasemoney = new javax.swing.JButton(); Nputedcash = new javax.swing.JTextField(); Nhavecash

25、 = new javax.swing.JTextField(); Nplayercard = new javax.swing.JTextField(); Nscore = new javax.swing.JLabel(); Nmoney = new javax.swing.JLabel(); Ncash = new javax.swing.JLabel(); Cscore = new javax.swing.JLabel(); Ncbx = new javax.swing.JComboBox(); Giveup = new javax.swing.JButton(); jPanel1 = ne

26、w javax.swing.JPanel(); pic1 = new javax.swing.JLabel(); pic2 = new javax.swing.JLabel(); pic3 = new javax.swing.JLabel(); pic4 = new javax.swing.JLabel(); pic5 = new javax.swing.JLabel(); pic6 = new javax.swing.JLabel(); pic7 = new javax.swing.JLabel(); pic8 = new javax.swing.JLabel(); pic9 = new j

27、avax.swing.JLabel(); pic10 = new javax.swing.JLabel(); pic11 = new javax.swing.JLabel(); pic12 = new javax.swing.JLabel(); South = new javax.swing.JLabel(); jMenuBar1 = new javax.swing.JMenuBar(); Game = new javax.swing.JMenu(); Start = new javax.swing.JMenuItem(); Nunber = new javax.swing.JMenu();

28、Nun2 = new javax.swing.JMenuItem(); Restart = new javax.swing.JMenuItem(); Exit = new javax.swing.JMenuItem(); Option = new javax.swing.JMenu(); Filetop = new javax.swing.JMenuItem(); Help = new javax.swing.JMenu(); help = new javax.swing.JMenuItem(); Aboat = new javax.swing.JMenuItem(); /*排行榜對(duì)話框*/

29、Dialog1.setTitle(Java-21點(diǎn)游戲 英雄排行榜); Dialog1.setBounds(new java.awt.Rectangle(0, 0, 400, 250); / 排行榜對(duì)話框 Dialog1.setIconImage(null); / 排行榜對(duì)話框圖標(biāo)為無(wú) Dialog1.setResizable(false); / 不可改變對(duì)話框的大小 jLabel1.setForeground(new java.awt.Color(255, 0, 0); jLabel1.setText(1、); jLabel2.setForeground(new java.awt.Color

30、(255, 0, 0); jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel2.setText(姓名); jLabel3.setForeground(new java.awt.Color(255, 0, 0); jLabel3.setText(分?jǐn)?shù)); jLabel4.setForeground(new java.awt.Color(255, 0, 0); jLabel4.setText(2、); jLabel5.setForeground(new java.awt.Color(255, 0, 0)

31、; jLabel5.setText(3、); jLabel6.setForeground(new java.awt.Color(255, 0, 0); jLabel6.setText(4、); jLabel7.setForeground(new java.awt.Color(255, 0, 0); jLabel7.setText(5、); jLabel8.setText(jLabel8); jLabel9.setText(jLabel9); jLabel10.setText(jLabel10); jLabel11.setText(jLabel11); jLabel12.setText(jLab

32、el12); jLabel13.setText(jLabel13); jLabel14.setText(jLabel14); jLabel15.setText(jLabel15); jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel16.setText(jLabel16); jLabel17.setText(jLabel17); javax.swing.GroupLayout Dialog1Layout = new javax.swing.GroupLayout(Dialog1.getConten

33、tPane(); Dialog1.getContentPane().setLayout(Dialog1Layout); Dialog1Layout.setHorizontalGroup( Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(Dialog1Layout.createSequentialGroup() .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA

34、ILING, false) .addGroup(Dialog1Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2) .addGroup(javax.swing.GroupLayout.Alignment.LEADING,Dialog1Layout.createSequentialGroup() .addGap(36, 36, 36) .addGroup(Dialog1Layout.createPar

35、allelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel7) .addComponent(jLabel6) .addComponent(jLabel5) .addComponent(jLabel4) .addComponent(jLabel1) .addGap(81, 81, 81) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel8)

36、 .addComponent(jLabel10) .addComponent(jLabel12) .addComponent(jLabel14) .addComponent(jLabel16) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,101,Short.MAX_VALUE) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel9) .ad

37、dComponent(jLabel11) .addComponent(jLabel13) .addComponent(jLabel15) .addComponent(jLabel17) .addComponent(jLabel3) .addGap(74, 74, 74) );Dialog1Layout.setVerticalGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(Dialog1Layout.createSequentialGroup() .addGa

38、p(7, 7, 7) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jLabel3).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,25,Short.MAX_VALUE) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.

39、Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel8) .addComponent(jLabel9) .addGap(18, 18, 18) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(jLabel10) .addComponent(jLabel11) .addGap(18, 18, 18) .addGroup(Di

40、alog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(jLabel12) .addComponent(jLabel13) .addGap(18, 18, 18) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel6) .addComponent(jLabel14

41、) .addComponent(jLabel15) .addGap(18, 18, 18) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel7) .addComponent(jLabel16) .addComponent(jLabel17) .addGap(74, 74, 74) );setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setT

42、itle(21點(diǎn)游戲 (人機(jī)對(duì)戰(zhàn) Java版);/ 程序標(biāo)題 setBounds(new java.awt.Rectangle(0, 0, 0, 0); setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR); addWindowListener(new java.awt.event.WindowAdapter() public void windowClosing(java.awt.event.WindowEvent evt) formWindowClosing(evt) ); North.setHorizontalAlig

43、nment(javax.swing.SwingConstants.CENTER); North.setText(北(莊);H); West.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); West.setText(西); getContentPane().add(West, java.awt.BorderLayout.WEST); East.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); East.setText(東); getContentPane().

44、add(East, java.awt.BorderLayout.EAST); Gamepn.setMaximumSize(new java.awt.Dimension(32767, 34000); Gamepn.setPreferredSize(new java.awt.Dimension(972, 630); Computercard.setColumns(5); Computercard.setEditable(false); Computercard.setForeground(new java.awt.Color(255, 0, 255); Computercard.setHorizo

45、ntalAlignment(javax.swing.JTextField.CENTER); Computercard.setText(0); Nputedmoney.setText(下注); Nputedmoney.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NputedmoneyActionPerformed(evt); ); Naskcard.setText(要牌);ner(new java.awt.even

46、t.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NaskcardActionPerformed(evt);); Nnoaskcard.setText(不要); Nnoaskcard.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NnoaskcardActionPerformed(evt); ); Ndoub

47、lemoney.setText(賭注加倍);r() public void actionPerformed(java.awt.event.ActionEvent evt) NdoublemoneyActionPerformed(evt); ); Ndecreasemoney.setText(減少賭注); Ndecreasemoney.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NdecreasemoneyActi

48、onPerformed(evt); ); Nputedcash.setColumns(5); Nputedcash.setEditable(false); Nputedcash.setForeground(new java.awt.Color(255, 51, 51); Nputedcash.setHorizontalAlignment(javax.swing.JTextField.CENTER); Nputedcash.setText(0); Nhavecash.setColumns(5); Nhavecash.setEditable(false); Nhavecash.setForeground(new java.awt.Color(255, 0, 0); Nhavecash.setHorizontalAlignment(javax.swing.JTextField.CENTER); Nhavecash.setText(95); Nplayercard.setColumns(5); Nplayercard.setEditabl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論