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

正文內(nèi)容

java課程設(shè)計(jì)連連看游戲的開(kāi)發(fā)-文庫(kù)吧

2025-06-14 08:41 本頁(yè)面


【正文】 。比如Label,Panel,button等等,[2]后來(lái)在參考文獻(xiàn)中發(fā)現(xiàn)一個(gè)掃雷游戲可以通過(guò)image控件來(lái)畫(huà)圖。因此在幾天之后才解決這個(gè)最早的最簡(jiǎn)單的也是最頭疼的問(wèn)題。 獲取圖片位置的思路 首先,最基本的就是用button代替圖片進(jìn)行布局了,然后將圖片set到button用來(lái)做背景圖片。這里采用最簡(jiǎn)單的方法——數(shù)組??紤]到圖片是多行多列的格式。所以采用二維數(shù)組(數(shù)組名為game_grid[][]方式來(lái)控制比較直觀,并且為了程序容易解讀,統(tǒng)一在不同過(guò)程中用名為i和j的變量來(lái)分別表示行列。程序開(kāi)始時(shí)給數(shù)組中的各個(gè)元素賦初值為0,即表示沒(méi)有圖片。 然后數(shù)組控制整個(gè)游戲區(qū)域,游戲區(qū)域最外圍為空白區(qū)域,即相關(guān)元素的值為0。這樣就可以保證游戲剛開(kāi)始后,第二層顯示的圖片之間的相連路徑處理時(shí)就沒(méi)有阻礙了。 這個(gè)游戲考慮到玩家對(duì)圖片的愛(ài)好不同,故可以自由修改。將數(shù)組game_grid的數(shù)據(jù)與圖片名匹配(如:game_grid的數(shù)據(jù)為1~25則圖片名為1,2...25與之一一對(duì)應(yīng)),玩家則只需要將自己喜歡的圖片改變圖片名字去替換就可以了。其button背景圖片的方法是用ImageIcon來(lái)存儲(chǔ)圖片信息然后set到button中。 分類(lèi)判斷法 這里實(shí)質(zhì)上是一種遞歸的思想,要判斷圖片A與圖片B能否通過(guò)一條有N個(gè)轉(zhuǎn)角的路徑相連,可以轉(zhuǎn)化為判斷能否找到圖片C,C與A能直線相連,且C與B能用一條有N1個(gè)轉(zhuǎn)角的路徑相連。若這樣的圖片C存在,那么A與B就可以通過(guò)一條有N個(gè)轉(zhuǎn)角的路徑相連。   根據(jù)轉(zhuǎn)角數(shù)不得超過(guò)2個(gè)的規(guī)則,我們可以分為轉(zhuǎn)角數(shù)分別為0個(gè)、1個(gè)、2個(gè)這三種情況分別討論。[3]  ?。?)0轉(zhuǎn)角連通(直線連通):兩個(gè)圖片的縱坐標(biāo)或橫坐標(biāo)相等,且兩者連線間沒(méi)有其他圖案阻隔。  ?。?)一個(gè)轉(zhuǎn)角連通:其實(shí)相當(dāng)于兩個(gè)圖片的橫向與縱向的直線相交只有一個(gè)焦點(diǎn)。   (3)兩個(gè)轉(zhuǎn)角連通: 判斷圖片A與圖片B能否經(jīng)過(guò)有兩個(gè)轉(zhuǎn)角的路徑連通實(shí)質(zhì)上可以轉(zhuǎn)化為判斷能否找到一個(gè)點(diǎn)C,這個(gè)C點(diǎn)與A可以直線連通,且C與B可以通過(guò)有兩個(gè)轉(zhuǎn)角的路徑連通。若能找到這樣一個(gè)C點(diǎn),那么A與B就可以經(jīng)過(guò)有兩個(gè)轉(zhuǎn)角的路徑連通 。   判斷是否經(jīng)兩個(gè)轉(zhuǎn)角連通的算法需要做兩個(gè)方向上的掃描:水平掃描和垂直掃描。   水平判斷。如下圖所示,為了判斷A,B能否通過(guò)2個(gè)轉(zhuǎn)角連通,則從A開(kāi)始在水平方向上向左右掃描,并判斷經(jīng)過(guò)的點(diǎn)能否與B點(diǎn)經(jīng)過(guò)1個(gè)轉(zhuǎn)角連通。顯然C點(diǎn)能與B點(diǎn)經(jīng)1個(gè)轉(zhuǎn)角連通,故A,B能經(jīng)2個(gè)轉(zhuǎn)角連通。  垂直判斷。如下圖所示,為了判斷A,B能否通過(guò)2個(gè)轉(zhuǎn)角連通,則從A開(kāi)始在垂直方向上下掃描,并判斷經(jīng)過(guò)的點(diǎn)能否與B點(diǎn)經(jīng)過(guò)1個(gè)轉(zhuǎn)角連通。顯然C點(diǎn)能與B點(diǎn)經(jīng)1個(gè)轉(zhuǎn)角連通,故A,B能經(jīng)2個(gè)轉(zhuǎn)角連通。 系統(tǒng)需求分析總結(jié)通過(guò)對(duì)現(xiàn)行連連看系統(tǒng)的調(diào)查與分析,本系統(tǒng)的結(jié)構(gòu)基本合理,系統(tǒng)功能基本能夠達(dá)到Windows小游戲的要求。本系統(tǒng)的輸入邊界是用戶(hù)進(jìn)行鼠標(biāo)事件操作,圖片全部消除,游戲結(jié)束,并且游戲勝利[4]。通過(guò)對(duì)連連看游戲規(guī)則以及相關(guān)算法的分析,本系統(tǒng)總的數(shù)據(jù)量較小,規(guī)模不大,適合于在普通微機(jī)或小型機(jī)上運(yùn)行。五、設(shè)計(jì)方案 總體設(shè)計(jì)本設(shè)計(jì)采用單機(jī)模式,當(dāng)在規(guī)定的時(shí)間內(nèi)消完全部的圖片則當(dāng)前關(guān)卡通過(guò),如果在規(guī)定的時(shí)間內(nèi)沒(méi)能消完所有的圖片則游戲結(jié)束,重新開(kāi)始新游戲。游戲規(guī)則是模仿普通的連連看游戲,主要是鼠標(biāo)兩次點(diǎn)擊的圖片能否消去的問(wèn)題。當(dāng)前,前提是點(diǎn)擊兩張相同的圖片,若點(diǎn)擊的是同一張圖片或者兩張不同的圖片,則不予處理。在兩張想同圖片用三根以?xún)?nèi)的直線能連在一起,就可以消去;否則,不予處理。連連看游戲其結(jié)構(gòu)圖如下:開(kāi)始結(jié)束勝利失敗網(wǎng)格劃分圖片導(dǎo)入連連看游戲 界面操作客戶(hù)區(qū)游戲區(qū)菜單響應(yīng)圖片響應(yīng) 游戲結(jié)構(gòu)圖 詳細(xì)設(shè)計(jì) 游戲界面設(shè)計(jì) 游戲界面的設(shè)計(jì)對(duì)于編程人員來(lái)說(shuō),可能算是最簡(jiǎn)單的問(wèn)題,但是,對(duì)于大多數(shù)玩家來(lái)說(shuō),他可能不會(huì)關(guān)心你是怎么實(shí)現(xiàn)的,玩家一開(kāi)始選擇玩這個(gè)游戲,他可能更加關(guān)心的界面是否美觀,是不是能讓他有耳目一新的感覺(jué)。在本次課程設(shè)計(jì)中,主要用 Java中swing界面編程來(lái)實(shí)現(xiàn)[5]。鼠標(biāo)點(diǎn)擊控制主要表現(xiàn)在游戲的功能控制上,外部的鼠標(biāo)、鍵盤(pán)對(duì)游戲操作的相應(yīng),連連看游戲主要是鼠標(biāo)點(diǎn)擊對(duì)游戲操作的作用,例如:鼠標(biāo)單擊開(kāi)始、結(jié)束選項(xiàng)對(duì)游戲的控制[6]。 路徑判斷的設(shè)計(jì)連連看游戲的所要求的是:兩個(gè)目標(biāo)之間連接線的折點(diǎn)不超過(guò)兩個(gè)。(連接線由x軸和y軸的平行線組成) 那么分析一下連接的情況可以看到,一般分直線連接、一個(gè)折點(diǎn)、兩個(gè)折點(diǎn)三種情況(其理論在第二章已詳述)。其滿(mǎn)足游戲規(guī)則:那么目標(biāo)圖片將順利的消除。否則,繼續(xù)游戲。 游戲詳細(xì)過(guò)程流程圖 : 游戲過(guò)程流程圖六、 實(shí)現(xiàn) 游戲界面游戲初始界面 基本界面圖游戲完成界面 完成界面 游戲各功能及代碼package lianliankanwcg。import .*。import .*。import .*。public class lianliankan extends JFrame{ private static final long serialVersionUID = 1L。 public lianliankan() { lianliankanJPanel llk=new lianliankanJPanel()。 add(llk)。 } class lianliankanJPanel extends JPanel implements ActionListener,ItemListener { private static final long serialVersionUID = 1L。 private int[][] map=new int[10][10]。 private int kinds,randomx,randomy,randomx1,randomy1。 private int coordinatex,coordinatey,coordinatex1,coordinatey1。 private Point lineStart=new Point(0,0)。 private int clicktimes。 private int jishushengyu。 private int fruitKinds=4。 private int score。 private int guanshu。 loudou ld=new loudou()。 JButton BlockButton[][]=new JButton[10][10]。 Choice difficultChoice = new Choice()。 JButton newgameButton=new JButton(開(kāi)始)。 JButton reLoad=new JButton(刷新)。 ImageIcon aIcon = new ImageIcon(image/)。 ImageIcon bIcon = new ImageIcon(image/)。 ImageIcon cIcon = new ImageIcon(image/)。 ImageIcon dIcon = new ImageIcon(image/)。 ImageIcon eIcon = new ImageIcon(image/)。 ImageIcon fIcon = new ImageIcon(image/)。 ImageIcon gIcon = new ImageIcon(image/)。 ImageIcon hIcon = new ImageIcon(image/)。 ImageIcon iIcon = new ImageIcon(image/)。 ImageIcon jIcon = new ImageIcon(image/)。 ImageIcon k1Icon = new ImageIcon(image/)。 ImageIcon lIcon = new ImageIcon(image/)。 ImageIcon mIcon = new ImageIcon(image/)。 ImageIcon nIcon = new ImageIcon(image/)。 Imag
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1