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

正文內(nèi)容

java五子棋游戲程序設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-25 08:02 本頁面
 

【文章內(nèi)容簡介】 類, 它的功能是類似于畫筆的功能,用來在窗口中繪制文字以及圖形等。他的調(diào)用是通過覆寫JFrame 的 paint() 方法來使用的,通過 repaint() 方法來調(diào)用。它有以下方法:drawstring() 。 //繪制字符串。drawOval() 。 //繪制一個空心的圓形,用與繪制我們一會五子棋中的白棋需要到的。fillOval() 。 //繪制實心的圓形,也是用到來繪制棋子。drawline() 。 //繪制一條直線,用來畫我們的棋盤。drawRect() 。 //繪制一個空心的矩形,功能按鈕用到。fillRect() 。 //繪制一個實心的矩形。drawImage() 。 //繪制一個已經(jīng)存在的圖片,將一個圖片直接顯示到窗體只中去。setColor() 。 //設(shè)置畫筆的顏色。比如:setColor(),那么就把它的顏色設(shè)置成了紅色。setFont() 。 //設(shè)置繪制文字的字體類型。比如:setFont(new Font(“黑體”,10,10)),那么它的字體就是黑體,大小是10。 //這個是產(chǎn)生中斷并且調(diào)用文件用到的類。、序列化和文件系統(tǒng)提供系統(tǒng)輸入和輸出。File 類文件和目錄路徑名的抽象表示形式。 // BufferedImage 子類描述具有可訪問圖像數(shù)據(jù)緩沖區(qū)的 Image。BufferedImage 由圖像數(shù)據(jù)的 ColorModel 和 Raster 組成。Raster 的 SampleModel 中 band 的數(shù)量和類型必須與 ColorModel 所要求的數(shù)量和類型相匹配,以表示其顏色和 alpha 分量。所有 BufferedImage 對象的左上角坐標(biāo)都為 (0,0)。因此,用來構(gòu)造 BufferedImage 的任何 Raster 都必須滿足:minX=0 且 minY=0。 可以用來調(diào)用一個圖片作為我們下棋的背景圖片使用。 第四章 軟件的具體實現(xiàn):首先用MyEclipse來建一個工程,我將此工程的名字命為:fivechess。然后在我所建的工程里建立一個包,包名為fiveframe。再在包里面建立我需要的類,建立一個名字為FiveChessFrame的JAVA類,而且同時引入MouseListener 這個監(jiān)聽的接口,有下面拓展 public class FiveChessFrame extend JFrame implements MouseListener。那么這個類里面就會有監(jiān)聽的一些命令:@Override public void mouseClicked(MouseEvent e) { // TODO Autogenerated method stub } //鼠標(biāo)點擊監(jiān)聽操作。 @Override public void mouseEntered(MouseEvent e) { // TODO Autogenerated method stub } //鼠標(biāo)進(jìn)入監(jiān)聽操作。 @Override public void mouseExited(MouseEvent e) { // TODO Autogenerated method stub } //鼠標(biāo)離開監(jiān)聽操作。 @Override public void mousePressed(MouseEvent e) { // TODO Autogenerated method stub} ////鼠標(biāo)按下監(jiān)聽操作。@Override public void mouseReleased(MouseEvent e) { // TODO Autogenerated method stub } //鼠標(biāo)抬起監(jiān)聽操作。:開始開發(fā)游戲的第一步就是先制作出游戲的窗口界面,一個漂亮美麗大方的游戲界面,往往先能吸引玩家去嘗試,所以這個地方不能夠馬虎。先把我們需要的窗口按需求創(chuàng)建出來:public FiveChessFrame() { //設(shè)置標(biāo)題 (五子棋)。 //窗體大小 (500,500)。 //窗體出現(xiàn)位置 ((width 500) / 2, (height 500) / 2)。 //窗體設(shè)置為大小不可變 (false)。 //將窗體的關(guān)閉方式設(shè)置為默認(rèn)關(guān)閉后程序結(jié)束 ()。 //加入鼠標(biāo)監(jiān)聽 (this)。 //將窗體顯示出來 (true)。}然后建立一個測試類,來測試一下我剛才寫的窗口是否符合我的要求:import 。public class Test { public static void main(String[] args){ FiveChessFrame ff=new FiveChessFrame()。 }}運(yùn)行這個測試類得到如下窗口:得出這個窗體以后,我們就開始編寫界面,我先是調(diào)用一個圖片作為我這個五子棋程序棋盤的背景,大家都喜歡在木棋盤上面下五子棋,那種會讓人感覺到很高雅,所以我就選了一張木質(zhì)的圖片來當(dāng)我的五子棋的背景圖片。先定義一個背景圖片://背景圖片 BufferedImage bgImage = null 。下面是調(diào)用背景文件,要用try來調(diào)用,要不然會出錯。 try{ bgImage = (new File(e:/JAVA/))。 }catch(Exception e){ ()。 }由上面的語句可以知道我加入的背景圖片存放在e:/JAVA/這個目錄下,現(xiàn)在加入把背景顯示出來的方法:public void paint(Graphics g){ //繪制背景 (bgImage, 1, 20, this)。}這樣我們就把背景圖片調(diào)用到了,再看一下現(xiàn)在的窗口界面:現(xiàn)在已經(jīng)可以看到背景圖象了,很有木質(zhì)感,一看到這個背景就讓人有想下棋的沖動,當(dāng)然,要等程序?qū)懞昧瞬拍芟隆D敲?,下面我要開始繪制棋盤了,我需要繪制一個十九乘十九的棋盤,繪制棋盤需要注意到的問題是,我們點擊棋盤的時候,會出現(xiàn)跳動也就是屏幕閃爍的問題,因為我們每下一步棋子,都會需要再繪制一次棋盤的。所以我們就要用到雙緩沖技術(shù)了,雙緩沖技術(shù)的使用會使得屏幕不再閃爍,一般雙緩沖技術(shù)用在手機(jī)游戲中,因為手機(jī)內(nèi)存小,屏幕閃爍問題比較明顯。在畫棋盤的時候需要計算棋盤中每一條線的間距,這里用的是十九乘十九的圍棋棋盤那么總寬度可以為360像素,分成18份,沒分是20像素,總高度也同樣是360像素,如寬度一樣分。實現(xiàn)語句: public void paint(Graphics g){ //雙緩沖技術(shù)防止屏幕閃爍 BufferedImage bi = new BufferedImage(500,500,)。 Graphics g2 = () 。 ()。 //繪制背景 (bgImage, 1, 20, this)。 //控制字體 (new Font(黑體,20))。 //輸出標(biāo)題信息 (下棋提示: , 130, 60)。 //把前面改過的字體改回來 (new Font(宋體,0,14))。 //輸出時間信息 (黑方時間:無限制 , 30 , 470)。 (白方時間: 無限制, 260, 470)。 //添加下棋需要到的功能說明 (new Font(黑體,15))。 (開始游戲, 405, 110)。 (游戲設(shè)置, 405, 160)。 (游戲說明, 405, 210)。 (悔棋, 425, 260)。 (認(rèn)輸, 425, 310)。 (關(guān)于, 425, 360)。 (退出, 425, 410)。 //繪制棋盤 for (int i=0。i19。i++) { (10, 70+20*i, 370, 70+20*i)。 (10+20*i, 70, 10+20*i, 430)。 } //標(biāo)點位,棋盤上的八個星和一個天元點。 (68,128,4,4)。 (308,128,4,4)。 (308,368,4,4)。 (68,368,4,4)。 (308,248,4,4)。 (188,128,4,4)。 (68,248,4,4)。 (188,368,4,4)。 (188,248,4,4)。 //在背景上繪制以后調(diào)用,實現(xiàn)雙緩沖。 (bi, 0, 0, this)。}通過上面的幾段代碼,現(xiàn)在就可以得到一個我需要的界面了,那么界面就算是繪制完成了,測試一下看:這就是五子棋游戲的基本界面,以后要補(bǔ)全的功能也在上面了。:現(xiàn)在我需要在我完成的游戲界面上可以下棋,也就是可以把通過鼠標(biāo)點擊,我可以在相應(yīng)的位置上放下棋子。先繪制棋子,黑棋我用一個實心的黑圓來表示,白棋用一個實心的白圓再加上一個同大小的空心的黑圓來表示通過一個二維的數(shù)組來保存之前已經(jīng)下過的棋子。點擊鼠標(biāo)對應(yīng)位置的時候,把棋子落在距離點擊處最近的左上一個交點上,這樣使得棋子都能落在交點上,美觀而且符合五子棋實際下棋的要求://保存棋子的坐標(biāo) int x = 0。 int y = 0。 //保存之前下過的全部棋子的坐標(biāo) //內(nèi)容為0表示沒有棋子,為1表示黑子,為2表示白子 int[][] allChess = new int[19][19]。 //繪制棋子 /*(x, y, 10, 10)。*/ for (int i = 0。 i 19。 i++){ for (int j = 0。 j 19。 j++) { if (allChess[i][j] == 1) { //黑子 int tempX = i * 20 + 10 。 int tempY = j * 20 + 70 。 (tempX 7, tempY 7, 14, 14)。 } if (allChess[i][j] == 2) { //白子 int tempX = i * 20 + 10 。 int tempY = j * 20 + 70 。 ()。 (tempX 7, tempY
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1