已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程設(shè)計報告課程名稱: java課程設(shè)計 設(shè)計題目: 五子棋課程設(shè)計 專業(yè): 信息與計算科學(xué) 班級: 小組成員: 指導(dǎo)教師: 二零一四 年 五 月 課程設(shè)計題目(問題)描述本 組 成 員 情 況姓 名學(xué)號承 擔(dān) 的 任 務(wù)成 績主要負責(zé)課程設(shè)計和編程 主要負責(zé)調(diào)試及課程設(shè)計報告 一、本 組 設(shè) 計 的 功 能 描 述設(shè)計簡單的五子棋java小程序,實現(xiàn)基本的重玩、悔棋、游戲設(shè)置、游戲說明、人數(shù)、關(guān)于退出等功能。二、系 統(tǒng) 分 析 與 設(shè) 計通過java程序設(shè)計課程設(shè)計,進一步掌握java程序設(shè)計的理論和方法。培養(yǎng)和鍛煉開發(fā)小型五子棋系統(tǒng)的能力。為今后相關(guān)系統(tǒng)開發(fā)打下良好的基礎(chǔ)。要求了解java系統(tǒng)開發(fā)的全過程,理解java程序設(shè)計課程相關(guān)的概念,掌握java程序設(shè)計的開發(fā)方法,鞏固對java相關(guān)方法和概論的理解。三、系 統(tǒng) 運 行 及 調(diào) 試 package org.liky.game.frame;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JOptionPane;public class FiveChessFrame extends JFrame implements MouseListener,Runnable private static final long serialVersionUID = 1L;/取得屏幕的寬度int width=Toolkit.getDefaultToolkit().getScreenSize().width;/取得屏幕的高度int height = Toolkit.getDefaultToolkit().getScreenSize().height;/背景圖片BufferedImage bgImage =null;/保存棋子的坐標(biāo)int x =0;int y =0;/保存之前下過的全部棋子的坐標(biāo)/其中數(shù)據(jù)內(nèi)容0: 表示這個點并沒有棋子,1:表示這個點是黑子,2:表示這個點是白子int allChess=new int1919;/標(biāo)識當(dāng)前應(yīng)該黑棋還是白棋下下一步boolean isBlack=true;/標(biāo)識當(dāng)前游戲是否可以繼續(xù)boolean canPlay=true;/保存顯示的提示信息String message=黑房先行;/保存最多擁有多少時間】int maxTime =0;/做倒計時的線程類Thread t=new Thread(this);/保存黑房與白方的剩余時間int blackTime =0;int whiteTime =0;/保存雙方的剩余時間的顯示信息String blackMessage =無限制;String whiteMessage =無限制;/private int x1;/public FiveChessFrame()throws HeadlessException/SuppressWarnings(deprecation)SuppressWarnings(deprecation)public FiveChessFrame()/設(shè)置標(biāo)題this.setTitle(我的五子棋);/設(shè)置窗體的大小this.setSize(500,500);/設(shè)置窗體處出現(xiàn)的位置/this.setLocation(500/2,500/2);this.setLocation(width-500)/2,(height-500)/2);/將窗體設(shè)置為不可見/this.setResizable(false);/將窗體的關(guān)閉方式設(shè)置為默認關(guān)閉后程序結(jié)束this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.addMouseListener(this);/將窗體顯示出來this.setVisible(true);t.start();t.suspend();/刷新屏幕,防止開始游戲時出現(xiàn)無法顯示的情況/this.repaint();/String imagePath =;try/imagePath =System.getProperty(user.dir)+/bin/image/background.jpg;String imagePath = D:/mywokspace+File.separator+psbaaaa.jpg;bgImage = ImageIO.read(new File(imagePath.replaceAll(,/);catch (IOException e)/TDDO Auto-generated catch blocke.printStackTrace();this.repaint();public void paint(Graphics g)/雙緩沖技術(shù)防止屏幕閃爍BufferedImage bi =new BufferedImage(500,500,BufferedImage.TYPE_INT_RGB);Graphics g2 =bi.createGraphics();/ g2.setColor(Color.BLACK);g2.setColor(Color.RED);/繪制背景g2.drawImage(bgImage, 1, 20, this);/輸出標(biāo)題信息g2.setFont(new Font(黑體,Font.BOLD,20);g2.drawString(游戲信息:+message, 130, 60);/輸出時間信息g2.setFont(new Font(宋體,0,14);g2.drawString(黑方時間:+blackMessage, 30,470);g2.drawString(白方時間:+whiteMessage, 260, 470);g2.drawRect(400,70,70,30);g2.drawString(重玩, 420, 90);/*g2.setColor(BLACK);/setColor(BLACK) ;g2.fillRect(400,70,70,30);g2.setColor(BLACK);g2.drawString(重玩, 420, 90);*/button buta=new button ();g2.drawRect(400,120,70,30);g2.drawString(游戲設(shè)置, 410, 140);g2.drawRect(400,270,70,30);g2.drawString(認輸, 420, 290);g2.drawRect(400,170,70,30);g2.drawString(游戲說明, 410, 190);g2.drawRect(400,320,70,30);g2.drawString(關(guān)于, 420, 340);g2.drawRect(400,370,70,30);g2.drawString(退出, 420, 390);/繪制棋盤for(int i=1; i19;i+)g2.drawLine(10,70+20*i,370,70+20*i);g2.drawLine(10+20*i,70,10+20*i,430);/g2.setFont(new Font(宋體,0,14);/g2.drawString(游戲信息:+message,)/標(biāo)注標(biāo)點/可能是無用的g2.fillOval(68,128,4,4);g2.fillOval(308,128,4,4);g2.fillOval(308, 368, 4, 4);g2.fillOval(68, 368, 4, 4);g2.fillOval(308,248,4,4);g2.fillOval(188,128,4,4);g2.fillOval(68, 248, 4, 4);g2.fillOval(188,366 , 4, 4);g2.fillOval(188, 248, 4, 4);/* 繪制棋子 x=(x-10)/20*20+10; y=(y-70)/20*20+70;*黑子 g.fillOval(x-7,y-7,14,14);白子 g.setColor(Color.WHITE);*g.fillOval(x-7,y-7,14,14); g.setColor(Color.BLACK);*g.drawOval(x-7,y-7,14,14);*/繪制全部棋子for(int i=0;i19;i+)for(int j=0;j=10 & x=70 & y=0 & x+xChange=0& y+yChange=18& y+yChange=0 & x-xChange=0& y-yChange0)yChange+;elseyChange-;return count;/沒有下兩個只有runOverridepublic void mouseEntered(MouseEvent e) / TODO Auto-generated method stub/e.getX();/e.getY();/JOptionPane.showMessageDialog,e.getX();Overridepublic void mouseExited(MouseEvent e) / TODO Auto-generated method stubOverridepublic void run() / TODO Auto-generated method stub/判斷是否有時間限制if(maxTime=0)while(true)if(isBlack)blackTime-;if(blackTime=0)JOptionPane.showMessageDialog(this, 黑方時間超時,游戲結(jié)束!);elsewhiteTime-;if(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 15434:2025 EN Information technology - Automatic identification and data capture techniques - Syntax for high-capacity ADC media
- 《單證管理流程》課件
- 《少兒青春期教育》課件
- 單位管理制度集粹選集人員管理
- 《電化學(xué)局部腐蝕》課件
- 單位管理制度合并匯編【員工管理篇】
- 單位管理制度分享合集職工管理篇
- 單位管理制度范例匯編員工管理篇
- 單位管理制度呈現(xiàn)匯編【人力資源管理篇】十篇
- 單位管理制度呈現(xiàn)大全員工管理篇十篇
- 高一政治必修一中國特色社會主義重點知識點歸納框架
- 福建省福州市倉山區(qū)2023-2024學(xué)年六年級上學(xué)期期末數(shù)學(xué)試卷
- 2023-2024學(xué)年福建省廈門市湖里區(qū)湖里中學(xué)數(shù)學(xué)七年級第一學(xué)期期末監(jiān)測試題含解析
- 全膝關(guān)節(jié)置換術(shù)加速康復(fù)臨床路徑(2023年版)
- 機電安裝工程質(zhì)量控制
- 江蘇省宿遷市2022-2023學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(含答案詳解)
- Unit 1 Art Using Language (教案)-高中英語人教版(2019)·選擇性必修第三冊
- 2023-2024學(xué)年鞍山市重點中學(xué)高一上數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 基于PLC的自動打鈴控制器
- 中式烹調(diào)技藝教案
- 招標(biāo)代理及政府采購常識匯編
評論
0/150
提交評論