跳 棋 賴 長 征 查 新

上傳人:jkl****17 文檔編號:173797070 上傳時間:2022-12-12 格式:DOC 頁數(shù):8 大?。?3.12KB
收藏 版權(quán)申訴 舉報 下載
跳 棋 賴 長 征 查 新_第1頁
第1頁 / 共8頁
跳 棋 賴 長 征 查 新_第2頁
第2頁 / 共8頁
跳 棋 賴 長 征 查 新_第3頁
第3頁 / 共8頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《跳 棋 賴 長 征 查 新》由會員分享,可在線閱讀,更多相關(guān)《跳 棋 賴 長 征 查 新(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 基于JAVA的鉆石跳棋游戲開發(fā) 賴長征 (信息工程學(xué)院 指導(dǎo)老師:李少芳) 摘要:獨立鉆石跳棋游戲的開發(fā)是通過Eclipse平臺為開發(fā)環(huán)境,采用Java語言開發(fā)制作。游戲是人類生活中必不可少的部分,一個好的游戲?qū)θ司哂幸欢ǖ囊饬x。該游戲采用Java語言開發(fā),利用了JAVA的靈活性和實用性。該游戲是單人思考的游戲,游戲玩法通俗易懂,游戲簡單有趣,操作起來具有思考性,在游戲中菜單欄中,有幫助功能,用來解釋游戲的玩法和一些游戲的背景,在菜單欄中還可以切換一些背景圖片和調(diào)整棋子的顏色,通過這種方式,選擇出你喜歡的顏色。在游戲的過程中,還提供了悔棋功能,如果覺得自己走錯了,可以進(jìn)行悔棋,

2、然后做出正確的做法。 關(guān)鍵詞:獨立鉆石跳棋,java語言,思考性,悔棋 Diamond checkers game development based on JAVA 賴長征 Lai Changzheng (信息工程學(xué)院 指導(dǎo)老師:李少芳) (Information Engineering College Instructor: Li Shaofang) 摘要:獨立鉆石跳棋游戲的開發(fā)是通過Eclipse平臺為開發(fā)環(huán)境,采用Java語言開發(fā)制作。游戲是人類生活中必不可少的部分,一個好的游戲?qū)θ司哂幸欢ǖ囊饬x。該游戲采用Java語言開發(fā),利用了JAVA的靈活性和實用性。該游

3、戲是單人思考的游戲,游戲玩法通俗易懂,游戲簡單有趣,操作起來具有思考性,在游戲中可以切換一些背景圖片,還可以調(diào)整棋子的顏色,選擇出你喜歡的顏色,進(jìn)行游戲的過程中,還提供了悔棋功能,如果覺得自己走錯了,可以進(jìn)行悔棋,然后做出正確的做法。 Abstract: The development of independent diamond checkers game is through the Eclipse platform as the development environment, using Java language development and production. The ga

4、me is an essential part of human life, a good game has certain significance to the people. The game using Java language development, the use of the JAVA flexibility and practicality. The game is a thinking game, the game play of user-friendly, simple game fun, operation have thought of, in the game

5、menu, help function, used to explain the game and some of the game's background, in the menu bar can also switch some background images and adjust the colours, by this way select the color you like. In the course of the game, also provides functions afterwards, if feel wrong, can calculate, then mak

6、e the right way. 關(guān)鍵詞:獨立鉆石跳棋,java開發(fā),單人游戲 Keywords:independent diamond checkers,Java language,thinking,afterwards 8 1 序言 1.1跳棋問題的意圖和作用 跳棋,是一種人人都愛玩的游戲。因為它沒有象棋一樣爾虞我詐,烽煙四起;也沒有圍棋一樣變幻莫測;也沒有國際象棋那般大方典雅。但是它也一樣妙趣橫生[1]。 最常見的跳棋是我們小時候玩的玻璃珠的那種跳棋,玩跳棋的最為激動應(yīng)該是你為我搭橋,我也為你搭了橋。棋盤上充滿了捷徑,充滿了陷阱,充滿了阻礙,充滿了快樂。通過一些

7、棋子所搭的橋,我能夠把棋子跳入到對方陣營中。相反的,對方也能夠通過你的橋到達(dá)你的陣營中。這樣你來我往,為游戲增添許多的樂趣。因此雙方在下棋的時候都會特別的謹(jǐn)慎并且會不斷的思考,不僅要給自己做橋,也要防止別人走不了你的橋。通過這樣的方式,雙方都不斷的思考,這是多么有趣的一件事情 [2]。曾經(jīng)有人說過,人生就像在打撲克,有些時候你能抓到好牌,有些時候你沒有好牌,人生態(tài)度的關(guān)鍵是你怎么打好你手中的牌。跳棋何嘗不是也像人生一樣,人生漫漫路中,不停的有人幫助你,也有人不停的阻礙你前進(jìn)的道路,這不就是跳棋里面的橋嗎?有些橋是捷徑,有些橋,反而是阻礙。 人生路上,有非常多的路要走,有捷徑的路,有陷阱的路,

8、有通往成功的路,更有通往失敗的路。這些路都是選擇,如果我們要走對路,那么我們必須擁有一顆火熱純粹又智慧的心。遇到成功的路,我們要堅持不懈的為其添磚加瓦,使其更加牢固。[3]碰到阻礙人生發(fā)展的路,我們學(xué)會避免,學(xué)會拋棄。 1.2獨立鉆石跳棋的發(fā)展和展望 獨立鉆石跳棋的開始據(jù)說是在法國大革命的前夕,監(jiān)獄的一個貴族,每天沒有事情要做,一直無聊著,慢慢的,他想設(shè)計出一種單人玩的游戲,通過一段時間的努力,他發(fā)明了鉆石跳棋這個游戲。相傳這個囚犯,每天總是癡迷于自己的發(fā)明的游戲中,逐漸的,整個監(jiān)獄的人都開始去玩玩這個游戲了。 在我們國家,大家也叫它為孔明棋,在孔明棋的流傳中,最為熱門的是三國時期孔明所

9、發(fā)明的一種益智棋。[3]當(dāng)今世界傳言說我國的“華容道”, 法國人的鉆石跳棋游戲和匈牙利人發(fā)明的魔方是非常有挑戰(zhàn)的游戲,因為里面含有非常豐富的數(shù)學(xué)知識。游戲規(guī)則是所有的棋子只能沿著棋盤上的橫縱線“隔著一個棋子跳”,并且要能調(diào)到的地方剛好有空格,跳完之后把被跳過的棋子拿掉。直到最后,無子可動時,游戲就結(jié)束了。在20世紀(jì)年以前,全球的人認(rèn)為走成功至少需要23步。不過在1912年的時候,Buhot的這個人創(chuàng)下走18步的世界紀(jì)錄。后面到了1986年,中國上海的萬萍萍發(fā)現(xiàn)了另一種18走法。最后,通過計算機(jī)技術(shù)發(fā)現(xiàn)“獨立鉆石”中獲得18步是最為快捷的,而且方法就只有兩種,就是萬萍萍和Buhot的。[4]

10、 2 項目分析 2.1可行性分析 由于數(shù)據(jù)要儲存在計算機(jī)中,數(shù)據(jù)是數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)形式;所以當(dāng)我們討論數(shù)據(jù)結(jié)構(gòu)的時候必須討論它的運算才有意義。[5]該游戲的數(shù)據(jù)結(jié)構(gòu)采用的是二維表。棋盤是二維結(jié)構(gòu),通過二維表來表示棋盤上的棋子是否存在,通過設(shè)定一個標(biāo)志flag,當(dāng)flag=true的時候,棋子顯示正常,當(dāng)flag=flase的時候,棋子顯示為灰色。 棋盤的布局是33 個棋子組成,其中33個棋子排成一個井字型,除掉了最中央的棋子,于是可以開始游戲,玩法是將棋子跳過鄰近的棋子,要到達(dá)一個空著的位置,通過這種方式,被跳過的棋子被吃掉,跳的路徑只能是上、下、左、右,不能斜跳,直到棋子沒有跳法為止。

11、 因此,下棋的過程中要先判斷棋子之間能否移動,如果不能移動,則沒有發(fā)生變化,如果有移動,那么將會發(fā)生變化。判斷棋子之間的移動之后,接下來是要進(jìn)行棋子移動之后的棋子顯示問題,移動之后,棋子變化的總共有三個,一個是移動前的棋子,一個是移動后的棋子,還有一個是中間的棋子。 2.2 需求分析 游戲作為一種打發(fā)時間的游戲,需要對用戶進(jìn)行了解,盡可能的滿足用戶的需求,因此需要了解用戶對軟件的感官需求和性能需求。鉆石跳棋游戲的開發(fā)中,從以下兩個方面來闡述。 從感官需求方面,該游戲為單人智力游戲,適合大部分的游戲愛好者。有人曾經(jīng)說過:“鉆石跳棋,老少皆宜?!庇纱丝梢姡矚g玩的人士非常之多,大到長者,小

12、到兒童,都喜歡玩這樣的游戲。游戲中可以增加一些背景圖片的切換以及游戲顏色的選擇。從性能需求方面來看,該款游戲功能雖然非常簡單,界面可觀性,適合人群玩,再加上不同的棋盤的話,那么會有更多的人愿意去玩的。 2.3棋類游戲通用開發(fā)方法 有人說自學(xué)是非常辛苦的,因為一沒有人給你做正確的引導(dǎo),二沒有使用正確的工具。不過這次的畢業(yè)設(shè)計我們有指導(dǎo)老師可以給我們指引道路,教會我們怎么去做,是非常好的一件事情。 在學(xué)JAVA之前,我接觸C語言比較多,所以對C語言這方面的知識和內(nèi)容掌握的程度會稍微好點。但是從開始學(xué)習(xí)JAVA的時候,我發(fā)現(xiàn)了JAVA的很多地方比C語言的要好。JAVA作為當(dāng)前世界主流的變成語言

13、和開發(fā)工具,自然有它存在的道理。所以開發(fā)這樣的游戲,用JAVA是個不錯的選擇,如果用C語言去開發(fā)這個游戲,我想我肯定開發(fā)不出來比JAVA更好。 3開發(fā)工具與環(huán)境 3.1 軟硬件環(huán)境 硬件需求: CPU:雙核以上計算機(jī) 內(nèi)存: 1G以上 軟件需求: 操作系統(tǒng)版本:windows 7/xp 開發(fā)工具:Eclipse 6.0.1 開發(fā)語言:Java 瀏覽器:IE,netscape,360瀏覽器 3.2 JAVA簡介 Java是一種編程語言,是一個平臺,它是基于Java虛擬機(jī)技術(shù),Java的發(fā)展慢慢地創(chuàng)建了一個平臺。Java的重要性是非常重要的,從最新的報告來看,最受歡迎的

14、世界變成語言就是JAVA,JAVA的重要性非同一般。Java編程語言獨特性在于Java程序可以編譯,又可以是進(jìn)行解釋型的。Java平臺當(dāng)前有三個版本,一個是Java SE,還有一個是JavaEE,最后一個是Java ME。具體的可以通過上網(wǎng)搜資料,找出這些版本的優(yōu)缺點和作用。 Java是一門編程語言,還是一個平臺,它是基于Java的虛擬機(jī)技術(shù),通過這個技術(shù)可以建立跨平臺的優(yōu)勢。通過這個跨平臺,很多人可以在不同的瀏覽器進(jìn)行開發(fā),不用擔(dān)心容易出現(xiàn)亂碼的,相對的,如果使用.net開發(fā),只有開發(fā)的人員才可能使用到源碼,在不同的瀏覽器中進(jìn)行調(diào)試比較容易出現(xiàn)亂碼。對于java和.net兩種開發(fā)工具,各有

15、千秋,不過當(dāng)今世界主流是Java。所以,學(xué)習(xí)java的人也相對的比.net高,java的應(yīng)用也相對廣,比如說目前非常流行的安卓系統(tǒng),就是基于java語言基礎(chǔ)的。 3.3 JAVA 編程環(huán)境 首先要進(jìn)行環(huán)境變量的設(shè)置。環(huán)境變量的設(shè)置為“我的電腦”->屬性->高級->環(huán)境變量,我們需要設(shè)置以下的3個環(huán)境變量: Path:系統(tǒng)從哪個路徑去識別Java命令。 classPath:這個為Java加載類的路徑,當(dāng)類在classPath中,Java的命令才能識別。 JAVA_HOME:Java的安裝路徑。 這三個變量必須正確設(shè)置,否則Java命令將可能不會正常運行,具體設(shè)置如下:

16、Path: ;C:\Progran Files\java\jdk1.6.0_01\bin classpath: .;Progran Files\java\jdk1.6.0_01\lib\dt.jar;Progran Files\java\jdk1.6.0_01\lib\tools.jar JAVA_HOME:? Progran Files\java\jdk1.6.0_01 Eclipse 是開發(fā)Java非常好用的一個軟件,操作起來非常方便,里面包含了很多函數(shù),可以進(jìn)行調(diào)用這些函數(shù),進(jìn)行操作的簡單化,提高編程效率,對于一個開發(fā)者來說,這是非常好的一件事。 4 獨立鉆石跳棋的游戲基

17、礎(chǔ) 4.1獨立鉆石跳棋的傳言 鉆石跳棋,有人稱為單身貴族棋,在我國被稱之為孔明棋。世界上的三大智力游戲分別為鉆石跳棋、華容道和魔方。鉆石跳棋是一種單人玩的游戲,總共由33 個棋子排成井字型的盤面,拿掉了最中央的那個棋子,然后開始進(jìn)入游戲,如圖4.1 所示。該游戲玩法雖然非常簡單,但是其中擁有無數(shù)的變化,成為了當(dāng)時風(fēng)靡全球的智力游戲。因為大部分的人都在求解如何才能最短的獲得勝利。 4.2獨立鉆石問題的來源和問題難點 “獨立鉆石跳棋”的具體布局和下圖所展示的圖片一樣,總共有33個棋子,排成一個形狀。 下棋規(guī)則:每個棋子通過棋盤上的縱橫線“隔子跳”,如果跳到之后為一個空格,那么被跳過的棋

18、子將被吃掉。這樣,當(dāng)棋子一直跳到最后的時候,并且沒有棋子可以再動的時候,那么游戲就結(jié)束了。如果游戲結(jié)束的時候,并且棋盤上只剩下一個棋子,并且這個棋子剛好落在棋盤的中央,那么這種下法是最佳的結(jié)果!眾所周知,遞歸是一種解決復(fù)雜問題一種非常好用的算法,運用遞歸算法可以使程序的結(jié)構(gòu)簡單便于可讀,又易于檢測它的正確性。因此它可以做為一個強(qiáng)大工具,但是算法本身是有難度的。樹的先序遍歷,主要是以下三個步驟 (1) 根結(jié)點的訪問(2) 左子樹進(jìn)行先序遍歷(3) 對右子樹先序遍歷,直到最后,沒有子樹的時候,問題結(jié)束。 5 游戲設(shè)計的過程 5.1圖像界面的設(shè)計過程 獨立鉆石跳棋的棋盤布局如下圖所示,

19、所以我在Eclipse里面中采用二維表的方式來表示棋盤,通過使用表格中的顏色來判定是否有棋子的存在。每個棋局的解法可以看成是一個棋子移動操作,通過符合規(guī)則的情況下每走一步,會吃掉一枚棋子,因此如何才能最優(yōu)解是一個非常重要的問題。[8] Java中的圖形用戶界面由各種組件(component)構(gòu)成,它們主要位于java.awt包與javax.swing包中,這個游戲的界面采用的是用二維表的形式表示棋盤,用方格的顏色表示是否有棋子,并且棋子的顏色可以進(jìn)行切換,在棋子另外一邊還有進(jìn)行圖片切換的功能,可以欣賞到不同的圖片。 具體的做法是:先引入Swing的包,然后選擇自己喜歡的界面,設(shè)置好容器接著

20、再設(shè)置好按鈕和標(biāo)簽,將一些要用的組件放在容器上,然后幫組件增加不同的邊框,最后進(jìn)行處理,處理不同的事件輔助和技術(shù)支持。 引入Swing包為import javax.swing.*; Swing程序使用了AWT的底層結(jié)構(gòu)和事件模型,因此我們需要提前導(dǎo)入兩個包:一個是import java.awt.event.*;另一個是import java.awt.*;假如還有事件處理的包,則還需要導(dǎo)入:import javax.swing.event.*;然后是選擇喜歡的界面風(fēng)格,先設(shè)置好最頂層的容器,在圖形界面中,至少要有一個頂級Swing容器為其它Swing組件在屏幕上的繪制和處理事件提供保證,打

21、個說明:JFrame(框架):主程序窗口JDialog(對話框):表示一個對話框,對話框?qū)儆诙壌翱贘Applet(小程序):顯示一個小程序界面增加其他組件frame.pack();frame.setVisible(true);}使用編輯的關(guān)鍵是java.awt.*里面的類:GraphicsEnvironment和GraphicsDevice。 5.2游戲設(shè)計中的行棋設(shè)計過程 在這個游戲中實現(xiàn)鉆石跳棋的游戲功能,必須要有一個棋盤,所以,我先使用繼承JPanel,然后在JPanel上畫出一個9*9的棋盤。當(dāng)然,JPanel必須放在JFrame中,所以,又通過繼承JFrame得到一個實例。

22、在下棋的過程中,通過對JPanel增加鼠標(biāo)事件監(jiān)聽器MouseListener,每次當(dāng)用戶點擊鼠標(biāo)時,先取得點擊的坐標(biāo)值,然后換算成對應(yīng)棋盤上(即棋盤數(shù)組)的位置(數(shù)組的下標(biāo)),進(jìn)行走棋子。 鉆石跳棋中,棋子的行動受到了下棋規(guī)則的限制,在這個游戲當(dāng)中,一個棋子只能隔子跳, 并且只能隔一個位置跳,由此我們可以發(fā)現(xiàn)通過二維表來解決棋子的行棋中,兩個棋子要么同時在同一行,或者在同一列中。因此我們需要判斷棋子能否進(jìn)行移動。第一步:判斷選中的棋子能否進(jìn)行移動,第二步:判斷選中棋子的周圍有沒有可以幫助它跳躍的棋子,第三步:判斷跳躍之后的為止是否是空的地方。棋盤的布局通過二維表的網(wǎng)格線來表示,橫縱

23、線交縱表達(dá)出了棋子的位置和行棋的路徑,在游戲界面的另一部分用來設(shè)計游戲的圖片界面,用來切換圖片,切換出自己喜歡的圖片,綁定一個變量用來進(jìn)行切換圖片。在界面的上端部分用來設(shè)計游戲的菜單欄,菜單欄包括了一下內(nèi)容,分為4個部分,悔棋部分,圖片切換部分,棋子顏色切換部分,幫助部分,每個部分使用菜單欄下拉框,點擊即可使用功能,菜單欄使用的是swing的監(jiān)聽鼠標(biāo)的功能,當(dāng)鼠標(biāo)點擊了之后,會執(zhí)行相應(yīng)的程序代碼,調(diào)用函數(shù),從而達(dá)到實現(xiàn)需求的內(nèi)容。 6 程序結(jié)果展示 6.1程序前臺展示 界面運行的展示圖該圖片為游戲運行之后首次出現(xiàn)的界面,該界面分為三部分,第一個部分是圖片部分,可以進(jìn)行更換圖片,第二個部分是游戲部分,在該圖片的右邊,可以進(jìn)行游戲,第三部分在圖片的上方,有工具欄,里面有部分功能。這張圖片是游戲運行之后,菜單欄上面的功能,這個功能是進(jìn)行切換圖片的功能,可以進(jìn)行切換的可以根據(jù)個人的愛好進(jìn)行選擇,有些人喜歡春天,夏天,或者是秋天和冬天。這張圖片展示的該游戲的幫助功能,這個功能的使用就是告訴我們大家這個游戲的玩法是什么,這個游戲是怎么玩的。這張圖片展示的游戲的另外一個功能,更換棋子的顏色,有些人喜歡用紅色的棋子,有些人喜歡綠色,有些人可能喜歡用紅色的棋子。

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!