版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《JAVA程序設(shè)計(jì)》</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 系 別: 計(jì)算機(jī)與電子系 </p><p> 專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)0801班 </p><p> 學(xué)生姓名: XXXXXXX <
2、/p><p> 指導(dǎo)教師: XXXX </p><p> ?。ㄕn程設(shè)計(jì)時(shí)間:2011年6月13日——2011年6月24日)</p><p><b> 目 錄</b></p><p> 1.課程設(shè)計(jì)目的………………………………………………………………1</p><p>
3、; 2.課程設(shè)計(jì)題目描述和要求 …………………………………………1</p><p> 3.課程設(shè)計(jì)報(bào)告內(nèi)容…………………………………………………………1</p><p> 3.1總體設(shè)計(jì)……………………………………………………………………1</p><p> 3.2詳細(xì)設(shè)計(jì)……………………………………………………………………3</p><
4、p> 3.3編碼實(shí)現(xiàn)……………………………………………………………………7</p><p> 3.4系統(tǒng)測試……………………………………………………………………19</p><p> 3.5系統(tǒng)運(yùn)行……………………………………………………………………19</p><p> 4.總結(jié)…………………………………………………………………………21</p
5、><p> 參考文獻(xiàn) ………………………………………………………………………21</p><p><b> 1.課程設(shè)計(jì)目的</b></p><p> 本次課程設(shè)計(jì)旨在加強(qiáng)JAVA程序編譯的能力和對JAVA程序的理解能力,通過本次課設(shè),加強(qiáng)大家的自學(xué)能力,為大家做畢業(yè)設(shè)計(jì)做好鋪墊。</p><p> 2.課程設(shè)計(jì)題目
6、描述和要求</p><p> 2.1掃雷游戲的基本要求</p><p> Windows 7系統(tǒng)提供的掃雷游戲是一個(gè)很有趣的游戲。我選的課程設(shè)計(jì)題目是使用Java語言編寫一個(gè)與其類似的掃雷游戲。具體要求如下:</p><p> (1)玩家可以設(shè)置雷數(shù),沒有初級(jí)中級(jí)高級(jí)之分,設(shè)置完雷數(shù)后點(diǎn)擊開始重新不布置雷區(qū),開始游戲。</p><p>
7、 (2) 用戶要揭開某個(gè)方塊,可單擊它。若所揭方塊下有淚,用戶便輸了這一局,若所揭方塊下五雷,則顯示一個(gè)數(shù)字,該數(shù)字代表方塊的周圍的8個(gè)方塊中共有多少顆雷。</p><p> (3) 如果用戶認(rèn)為某個(gè)方塊下埋著雷,單擊右鍵可以在方塊上標(biāo)識(shí)一個(gè)用戶認(rèn)為是雷的圖標(biāo),即給出一個(gè)掃雷標(biāo)記。用戶每標(biāo)記出一個(gè)掃雷標(biāo)記(無論用戶的標(biāo)記是否正確),程序?qū)@示的剩余雷數(shù)減少一個(gè)。</p><p> (
8、4)用戶可以選擇標(biāo)記疑問的方塊,用可以勾選游戲菜單下的標(biāo)記(或者用快捷鍵alt+G 然后M)即可,此時(shí)雙擊右鍵并可出現(xiàn)“?”標(biāo)記。另有顏色選項(xiàng),當(dāng)用戶勾選此項(xiàng)時(shí),游戲?qū)⒁宰畹蛨D像像素來顯示。</p><p> 3.課程設(shè)計(jì)報(bào)告內(nèi)容</p><p><b> 3.1 總體設(shè)計(jì)</b></p><p><b> ?。?)總體功能圖&l
9、t;/b></p><p><b> 圖3-1總體功能圖</b></p><p><b> ?。?)總體流程圖</b></p><p> 圖3-2 總體流程圖</p><p><b> 3.2 詳細(xì)設(shè)計(jì)</b></p><p> (1)掃雷
10、棋盤的布局設(shè)計(jì)</p><p> 系統(tǒng)的整體布局為:CardLayout布局, 采用了菜單、按鈕、面板…等組件,菜單主要包括開始,選擇級(jí)別,標(biāo)記,掃雷英雄榜,退出, 按鈕的功能是重新開始新的游戲。</p><p><b> ?。?)雷區(qū)的設(shè)計(jì)</b></p><p> MineArea類是javax.swing包中Jpanel容器的子類,實(shí)
11、現(xiàn)了ActionListener和MouseListener接口,所創(chuàng)建的對象:mineArea是MineGame類中最重要的成員之一,作為一個(gè)容器添加到MineGame窗口的中心。標(biāo)明MineArea類的主要成員變量、方法以及和MineGame類之間組合關(guān)系的UML圖如圖3-3所示。</p><p> 圖3-3 MineArea類的UML圖</p><p> 以下是UML圖中有關(guān)數(shù)據(jù)
12、和方法的詳細(xì)說明。</p><p><b> 2.1 成員變量</b></p><p> (1)block是Block類型的數(shù)組,用來確定雷區(qū)有多少需進(jìn)行掃雷的方塊。</p><p> (2)blockView是BlockView類型的數(shù)組,負(fù)責(zé)為block數(shù)組中的Block對象提供視圖。</p><p> (3
13、)lay是LayMines類型的對象,負(fù)責(zé)設(shè)置block數(shù)組中的哪些方塊是雷或不是雷。</p><p> (4)record負(fù)責(zé)提供保存成績的界面,是一個(gè)對話框,默認(rèn)不可見。用戶只有掃雷成功后(用時(shí)最少),才可以看見對話框。</p><p> (5)reStart是一個(gè)按鈕對象,用戶單擊它重新開始游戲。</p><p> (6)time是計(jì)時(shí)器對象,負(fù)責(zé)計(jì)算用
14、戶的用時(shí)。</p><p><b> 2.2 方法</b></p><p> (1)initMineArea(int,int,int,int)方法可根據(jù)參數(shù)提供的數(shù)據(jù)設(shè)置雷區(qū)的寬度、高度、雷的數(shù)目以及雷區(qū)的級(jí)別。</p><p> (2)actionPerformed(ActionEvent)是MineArea類實(shí)現(xiàn)的ActionList
15、ener接口中的方法。當(dāng)用戶單擊blockView中的某個(gè)方塊時(shí),actionPerformed(ActionEvent)方法負(fù)責(zé)執(zhí)行有關(guān)算法,例如,當(dāng)用鼠標(biāo)左鍵單擊方塊上的按鈕后,若該方塊下有雷,actionPerformed(ActionEvent)方法將使用戶輸?shù)舯揪?,若該方塊下無雷,actionPerformed(ActionEvent)方法將顯示blockView對象中的標(biāo)簽,該標(biāo)簽上是一個(gè)數(shù)字,該數(shù)字代表當(dāng)前方塊的周圍的8個(gè)
16、方塊中共有多少顆雷。</p><p> (3)show()方法是一個(gè)遞歸方法。actionPerformed(ActionEvent)方法執(zhí)行時(shí)將調(diào)用show方法進(jìn)行掃雷。</p><p> (4)mousePressed(MouseEvent)方法是MineArea類實(shí)現(xiàn)的MouseListener接口中的方法,當(dāng)用戶按下鼠標(biāo)有件事mousePressed(MouseEvent)方法
17、負(fù)責(zé)讓方塊上顯示一個(gè)探雷標(biāo)記。</p><p> (5)inquireWin()方法用來判斷用戶是否掃雷成功,如果成功該方法負(fù)責(zé)讓record對話框可見。所謂掃雷成功是指不僅找到了全部的累而且用時(shí)最少。</p><p> ?。?)雷區(qū)設(shè)計(jì)流程圖</p><p> 圖3-4 雷區(qū)設(shè)計(jì)流程圖</p><p><b> 2.3音效的
18、設(shè)計(jì)</b></p><p> ?。?)music類是java.awt包中Frame的子類,通過構(gòu)造音效聲音方法,在MainFrame主類中,通過ActionListener來監(jiān)視是否已開始游戲,來決定播放計(jì)時(shí)聲,之后又通過ActionListener來監(jiān)視是否踩到雷和是否完成來決定,播放相應(yīng)的音樂。下面標(biāo)明music類的主要成員變量、方法以及和MineFrame類之間組合關(guān)系的UML圖如圖3-2所示
19、。</p><p> 圖3-5 MineArea類的UML圖</p><p> (2)音效設(shè)計(jì)流程圖</p><p> 圖3-6 音效設(shè)計(jì)流程圖</p><p><b> ?。?)類之間關(guān)系圖</b></p><p> 圖3-7 類之間關(guān)系圖</p><p>&l
20、t;b> 3.3. 編碼實(shí)現(xiàn)</b></p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class Frame</p><p&g
21、t; extends JFrame {</p><p> JTextField text;</p><p> JLabel nowBomb, setBomb;</p><p> int BombNum, BlockNum; // 當(dāng)前雷數(shù),當(dāng)前方塊數(shù)</p><p> int rightBomb, restBomb, restBlo
22、ck; // 找到的地雷數(shù),剩余雷數(shù),剩余方塊數(shù)</p><p> JButton start = new JButton(" 開始 ");</p><p> JPanel MenuPamel = new JPanel();</p><p> JPanel bombPanel = new JPanel();</p><p
23、> Bomb[][] bombButton;</p><p><b> JPanel c;</b></p><p> BorderLayout borderLayout1 = new BorderLayout();</p><p> GridLayout gridLayout1 = new GridLayout();</p&
24、gt;<p> public Frame() {</p><p><b> try {</b></p><p> setDefaultCloseOperation(EXIT_ON_CLOSE);</p><p><b> jbInit();</b></p><p><b&
25、gt; }</b></p><p> catch (Exception exception) {</p><p> exception.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><
26、;p> private void jbInit() throws Exception {</p><p> c = (JPanel) getContentPane();</p><p> setTitle("掃雷");</p><p> c.setBackground(Color.WHITE);</p><p&g
27、t; MenuPamel.setBackground(Color.GRAY);</p><p> c.setLayout(borderLayout1);</p><p> setSize(new Dimension(600, 600));</p><p> setResizable(false);</p><p> BlockNum
28、 = 144;</p><p> BombNum = 10;</p><p> text = new JTextField("10 ", 3);</p><p> nowBomb = new JLabel("當(dāng)前雷數(shù)" + ":" + BombNum);</p><p> s
29、etBomb = new JLabel("設(shè)置地雷數(shù)");</p><p> start.addActionListener(new Frame1_start_actionAdapter(this));</p><p> MenuPamel.add(setBomb);</p><p> MenuPamel.add(text);</p&
30、gt;<p> MenuPamel.add(start);</p><p> MenuPamel.add(nowBomb);</p><p> c.add(MenuPamel, java.awt.BorderLayout.SOUTH);</p><p> bombPanel.setLayout(gridLayout1);</p>
31、<p> gridLayout1.setColumns( (int) Math.sqrt(BlockNum));</p><p> gridLayout1.setRows( (int) Math.sqrt(BlockNum));</p><p> bombButton = new Bomb[ (int) Math.sqrt(BlockNum)][ (int) Math.sq
32、rt(BlockNum)];</p><p> for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) {</p><p> for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p> bombButton[i][j] = new Bo
33、mb(i, j);</p><p> //bombButton[i][j].setSize(10, 10);</p><p> bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//設(shè)置字體大小</p><p> bombButton[i][j].setForeground(Col
34、or.white);</p><p> bombButton[i][j].addMouseListener(new Bomb_mouseAdapter(this));</p><p> bombButton[i][j].addActionListener(new Bomb_actionAdapter(this));</p><p> bombPanel.add
35、(bombButton[i][j]);</p><p><b> }</b></p><p><b> }</b></p><p> c.add(bombPanel, java.awt.BorderLayout.CENTER);</p><p> startBomb();</p>
36、<p><b> }</b></p><p> /* 開始按鈕 */</p><p> public void start_actionPerformed(ActionEvent e) {</p><p> int num=Integer.parseInt(text.getText().trim());</p>
37、<p> if (num >= 5 && num < 50) {</p><p> BombNum = num;</p><p> startBomb();</p><p><b> }</b></p><p> else if (num < 5) {</p
38、><p> JOptionPane.showMessageDialog(null, "您設(shè)置的地雷數(shù)太少了,請重設(shè)!", "錯(cuò)誤",</p><p> JOptionPane.ERROR_MESSAGE);</p><p><b> num=10;</b></p><p> B
39、ombNum = num;</p><p><b> }</b></p><p><b> else {</b></p><p> JOptionPane.showMessageDialog(null, "您設(shè)置的地雷數(shù)太多了,請重設(shè)!", "錯(cuò)誤",</p>&
40、lt;p> JOptionPane.ERROR_MESSAGE);</p><p><b> num=10;</b></p><p> BombNum = num;</p><p><b> }</b></p><p><b> }</b></p>
41、<p> /* 開始,布雷 */</p><p> public void startBomb() {</p><p> nowBomb.setText("當(dāng)前雷數(shù)" + ":" + BombNum);</p><p> for (int i = 0; i < (int) Math.sqrt(Bloc
42、kNum); i++) {</p><p> for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p> bombButton[i][j].isBomb = false;</p><p> bombButton[i][j].isClicked = false;</p><
43、;p> bombButton[i][j].isRight = false;</p><p> bombButton[i][j].BombFlag = 0;</p><p> bombButton[i][j].BombRoundCount = 9;</p><p> bombButton[i][j].setEnabled(true);</p>
44、<p> bombButton[i][j].setText("");</p><p> bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//設(shè)置字體大小</p><p> bombButton[i][j].setForeground(Color.BLUE);</p
45、><p> rightBomb = 0;</p><p> restBomb = BombNum;</p><p> restBlock = BlockNum - BombNum;</p><p><b> }</b></p><p><b> }</b></p&
46、gt;<p> for (int i = 0; i < BombNum; ) {</p><p> int x = (int) (Math.random() * (int) (Math.sqrt(BlockNum) - 1));</p><p> int y = (int) (Math.random() * (int) (Math.sqrt(BlockNum) -
47、 1));</p><p> if (bombButton[x][y].isBomb != true) {</p><p> bombButton[x][y].isBomb = true;</p><p><b> i++;</b></p><p><b> }</b></p>
48、<p><b> }</b></p><p> CountRoundBomb();</p><p><b> }</b></p><p> /* 計(jì)算方塊周圍雷數(shù) */</p><p> public void CountRoundBomb() {</p><
49、;p> for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) {</p><p> for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p> int count = 0;</p><p> // 當(dāng)需要檢測的單元格本身無地雷
50、的情況下,統(tǒng)計(jì)周圍的地雷個(gè)數(shù)</p><p> if (bombButton[i][j].isBomb != true) {</p><p> for (int x = i - 1; x < i + 2; x++) {</p><p> for (int y = j - 1; y < j + 2; y++) {</p><p&g
51、t; if ( (x >= 0) && (y >= 0)</p><p> && (x < ( (int) Math.sqrt(BlockNum)))</p><p> && (y < ( (int) Math.sqrt(BlockNum)))) {</p><p> if (bombB
52、utton[x][y].isBomb == true) {</p><p><b> count++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
53、<p><b> }</b></p><p> bombButton[i][j].BombRoundCount = count;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&
54、gt;</p><p><b> }</b></p><p> /* 是否挖完了所有的雷 */</p><p> public void isWin() {</p><p> restBlock = BlockNum - BombNum;</p><p> for (int i = 0;
55、 i < (int) Math.sqrt(BlockNum); i++) {</p><p> for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p> if (bombButton[i][j].isClicked == true) {</p><p> restBlock--;&
56、lt;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if (rightBomb == BombNum || restBlock == 0) {</p><p> J
57、OptionPane.showMessageDialog(this, "您挖完了所有的雷,您勝利了!", "勝利",</p><p> JOptionPane.INFORMATION_MESSAGE);</p><p> startBomb();</p><p><b> }</b></p&g
58、t;<p><b> }</b></p><p> /** 當(dāng)選中的位置為空,則翻開周圍的地圖* */</p><p> public void isNull(Bomb ClickedButton) {</p><p><b> int i, j;</b></p><p>
59、i = ClickedButton.num_x;</p><p> j = ClickedButton.num_y;</p><p> for (int x = i - 1; x < i + 2; x++) {</p><p> for (int y = j - 1; y < j + 2; y++) {</p><p>
60、if ( ( (x != i) || (y != j)) && (x >= 0) && (y >= 0)</p><p> && (x < ( (int) Math.sqrt(BlockNum)))</p><p> && (y < ( (int) Math.sqrt(BlockNum)))) {&
61、lt;/p><p> if (bombButton[x][y].isBomb == false</p><p> && bombButton[x][y].isClicked == false</p><p> && bombButton[x][y].isRight == false) {</p><p>
62、turn(bombButton[x][y]);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><
63、b> }</b></p><p><b> /* 翻開 */</b></p><p> public void turn(Bomb ClickedButton) {</p><p> ClickedButton.setEnabled(false);</p><p> ClickedButton
64、.isClicked = true;</p><p> if (ClickedButton.BombRoundCount > 0) {</p><p> ClickedButton.setText(ClickedButton.BombRoundCount + "");</p><p><b> }</b><
65、/p><p><b> else {</b></p><p> isNull(ClickedButton);</p><p><b> }</b></p><p><b> }</b></p><p> /* 左鍵點(diǎn)擊 */</p>
66、<p> public void actionPerformed(ActionEvent e) {</p><p> if ( ( (Bomb) e.getSource()).isClicked == false</p><p> && ( (Bomb) e.getSource()).isRight == false) {</p><p&
67、gt; if ( ( (Bomb) e.getSource()).isBomb == false) {</p><p> turn( ( (Bomb) e.getSource()));</p><p><b> isWin();</b></p><p><b> }</b></p><p>
68、<b> else {</b></p><p> for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) {</p><p> for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p> if (bombButt
69、on[i][j].isBomb == true) {</p><p> bombButton[i][j].setText("b");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&l
70、t;/p><p> ( (Bomb) e.getSource()).setForeground(Color.RED);</p><p> ( (Bomb) e.getSource()).setFont(new Font("", Font.BOLD, 20));</p><p> ( (Bomb) e.getSource()).setText(&
71、quot;X");</p><p> JOptionPane.showMessageDialog(this, "你踩到地雷了,按確定重來", "踩到地雷", 2);</p><p> startBomb();</p><p><b> }</b></p><p>&
72、lt;b> }</b></p><p><b> }</b></p><p> /* 右鍵點(diǎn)擊 */</p><p> public void mouseClicked(MouseEvent e) {</p><p> Bomb bombSource = (Bomb) e.getSource(
73、);</p><p> boolean right = SwingUtilities.isRightMouseButton(e);</p><p> if ( (right == true) && (bombSource.isClicked == false)) {</p><p> bombSource.BombFlag = (bombSou
74、rce.BombFlag + 1) % 3;</p><p> if (bombSource.BombFlag == 1) {</p><p> if (restBomb > 0) {</p><p> bombSource.setForeground(Color.RED);</p><p> bombSource.setTex
75、t("F");</p><p> bombSource.isRight = true;</p><p> restBomb--;</p><p><b> }</b></p><p><b> else {</b></p><p> bombSo
76、urce.BombFlag = 0;</p><p><b> }</b></p><p><b> }</b></p><p> else if (bombSource.BombFlag == 2) {</p><p> restBomb++;</p><p>
77、bombSource.setText("Q");</p><p> bombSource.isRight = false;</p><p><b> }</b></p><p><b> else {</b></p><p> bombSource.setText(&qu
78、ot;");</p><p><b> }</b></p><p> if (bombSource.isBomb == true) {</p><p> if (bombSource.BombFlag == 1) {</p><p> rightBomb++;</p><p>&
79、lt;b> }</b></p><p> else if (bombSource.BombFlag == 2) {</p><p> rightBomb--;</p><p><b> }</b></p><p><b> }</b></p><p&g
80、t; nowBomb.setText("當(dāng)前雷數(shù)" + ":" + restBomb);</p><p><b> isWin();</b></p><p><b> }</b></p><p><b> }</b></p><p&g
81、t; public static void main(String[] args) {</p><p> Frame frame = new Frame();</p><p> frame.setVisible(true);</p><p><b> }</b></p><p><b> }</
82、b></p><p> class Frame1_start_actionAdapter</p><p> implements ActionListener {</p><p> private Frame adaptee;</p><p> Frame1_start_actionAdapter(Frame adaptee)
83、{</p><p> this.adaptee = adaptee;</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> adaptee.start_actionPerformed(e);</p&
84、gt;<p><b> }</b></p><p><b> }</b></p><p> ////////////////////////////</p><p> class Bomb</p><p> extends JButton {</p><p
85、> int num_x, num_y; // 第幾號(hào)方塊</p><p> int BombRoundCount; // 周圍雷數(shù)</p><p> boolean isBomb; // 是否為雷</p><p> boolean isClicked; // 是否被點(diǎn)擊</p><p> int BombFlag; // 探雷
86、標(biāo)記</p><p> boolean isRight; // 是否點(diǎn)擊右鍵</p><p> public Bomb(int x, int y) {</p><p> num_x = x;</p><p> num_y = y;</p><p> BombFlag = 0;</p><p
87、> BombRoundCount = 9;</p><p> isBomb = false;</p><p> isClicked = false;</p><p> isRight = false;</p><p><b> }</b></p><p><b> }&
88、lt;/b></p><p> class Bomb_actionAdapter</p><p> implements ActionListener {</p><p> private Frame adaptee;</p><p> Bomb_actionAdapter(Frame adaptee) {</p>
89、<p> this.adaptee = adaptee;</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> adaptee.actionPerformed(e);</p><p><
90、b> }</b></p><p><b> }</b></p><p> class Bomb_mouseAdapter</p><p> extends MouseAdapter {</p><p> private Frame adaptee;</p><p>
91、Bomb_mouseAdapter(Frame adaptee) {</p><p> this.adaptee = adaptee;</p><p><b> }</b></p><p> public void mouseClicked(MouseEvent e) {</p><p> adaptee.mou
92、seClicked(e);</p><p><b> }</b></p><p><b> }</b></p><p><b> 3.4系統(tǒng)測試</b></p><p> 在Java eclipse中將Java源文件保存到同一目錄中,編譯源文件,然后運(yùn)行,運(yùn)行結(jié)果清楚的
93、顯示了功能圖上的各個(gè)功能,測試非常成功。</p><p> 遇到的最大的問題就是沒有注解,我沒有寫詳細(xì)的注解,導(dǎo)致我看起來比以前更加吃力,這次切身的的感受給我的沖擊很大,這么長的程序,以后寫JAVA不敢不寫詳細(xì)的注解了。</p><p><b> 3.5 系統(tǒng)運(yùn)行</b></p><p> 圖3-10 運(yùn)行主界面效果圖</p>
94、<p> 圖3-11 游戲失敗效果圖</p><p> 圖3-12 自定義雷區(qū)效果圖</p><p> 圖3-13 游戲勝利效果圖</p><p><b> 4. 總結(jié)與說明</b></p><p> 這個(gè)掃雷游戲是完全模擬微軟系統(tǒng)自帶的掃雷游戲,所以難度是比較大了,必然在編程過程中也遇到很多問題
95、,有些問題比較簡單但就不知道錯(cuò)在哪里,有些大問題之道在哪就是不知道怎么辦才好,后來經(jīng)過自己的不斷調(diào)試,這個(gè)掃雷游戲終于大功告成。</p><p> 經(jīng)過編寫這個(gè)掃雷游戲,我認(rèn)識(shí)到應(yīng)該注意細(xì)節(jié)問題,雖然是很小的問題,但可以提高自己編程的能力,而且還可以培養(yǎng)自己編程的嚴(yán)謹(jǐn)性,同時(shí)還可以為以后的編程積累經(jīng)驗(yàn)。編寫完這個(gè)掃雷游戲,我發(fā)現(xiàn)自己有很多的不足,我想如果讓我來單獨(dú)來編寫這個(gè)游戲,我感覺很吃力,因?yàn)檫@個(gè)游戲涉及到
96、好多算法。感觸最深的就是我們真的要扎扎實(shí)實(shí)的打基礎(chǔ)!并且我感覺到只要我們自己肯下功夫?qū)W習(xí),我們也可以做出很好的東西,不需要每次都抄襲別人的,只有自己的才是最珍貴的!</p><p><b> 參考文獻(xiàn)</b></p><p> 《JAVA課程設(shè)計(jì)》(第二版)電子工業(yè)出版社 耿祥義 張躍平 編著</p><p> 《JAV
97、A大學(xué)實(shí)用教程》(第二版)電子工業(yè)出版社 耿祥義 張躍平 編著</p><p> 《Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》 清華大學(xué)出版社 陳軼 姚曉昆 編著</p><p> 《級(jí)Java語言程序設(shè)計(jì)教程》清華大學(xué)出版社 楊昭 編著 </p><p><b> 課程設(shè)計(jì)成績:</b&
98、gt;</p><p> 注:教師按學(xué)生實(shí)際成績(平時(shí)成績和業(yè)務(wù)考核成績)登記并錄入教務(wù)MIS系統(tǒng),由系統(tǒng)自動(dòng)轉(zhuǎn)化為“優(yōu)秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等。</p><p><b> 指導(dǎo)教師評語:</b></p><p> 指導(dǎo)教師(簽名):
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java 課程設(shè)計(jì) 掃雷
- java課程設(shè)計(jì)-掃雷游戲
- java掃雷游戲課程設(shè)計(jì)
- java課程設(shè)計(jì)--掃雷游戲報(bào)告
- 基于java的掃雷課程設(shè)計(jì)
- 基于java的掃雷課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告-掃雷小游戲
- 基于java的掃雷游戲課程設(shè)計(jì)
- java課程設(shè)計(jì)--基于java的掃雷游戲軟件設(shè)計(jì)
- 掃雷課程設(shè)計(jì)
- 掃雷課程設(shè)計(jì)--掃雷程序設(shè)計(jì)
- java_掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 掃雷畢業(yè)課程設(shè)計(jì)報(bào)告
- vb掃雷課程設(shè)計(jì)報(bào)告
- 掃雷游戲課程設(shè)計(jì)報(bào)告
- 掃雷游戲課程設(shè)計(jì)報(bào)告
- 掃雷小游戲課程設(shè)計(jì)
- c++掃雷課程設(shè)計(jì)報(bào)告
- android平臺(tái)掃雷游戲課程設(shè)計(jì)
- java課程設(shè)計(jì)
評論
0/150
提交評論