版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 成 績 評 定 表</b></p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p><b> 目 錄</b></p><p> 1.課設(shè)軟件主要功能 …………………………………………1</p><p> 2.類總體設(shè)
2、 …………………………………………..1</p><p> 2.1類組合關(guān)系圖 ………………………………….………1</p><p> 2.2主類 ……………………………….…………2 </p><p> 2.3其它類 …………………….……………………..2</p><p> 3.
3、類詳細(xì)設(shè)計(jì)… ………………………………………2</p><p> 3.1 ERS_Block主類 ……..…………………………….……..2 </p><p> 3.2 Command處理控制類… ….……………………….….…4</p><p> 3.3 GameCanvas游戲畫布類 ………….………………………4</p>
4、<p> 3.4 Block方塊類............……………….…….………………….6</p><p> 4.關(guān)鍵類成員函數(shù)流程圖及代碼………………………..….…..7</p><p> 5.軟件運(yùn)行結(jié)果………………………………………………...17</p><p> 結(jié)論……………………...…………………………….………20<
5、;/p><p> 參考文獻(xiàn)……………….……………………………………...20</p><p> 1.課設(shè)軟件主要功能</p><p> 本系統(tǒng)是一個(gè)俄羅斯方塊游戲的系統(tǒng)設(shè)計(jì)[1],實(shí)現(xiàn)的基本功能就是能實(shí)現(xiàn)經(jīng)典俄羅斯方塊游戲的基本功能。如用鍵盤上的空格下左右鍵來控制方塊的變形,移動等功能。點(diǎn)擊控制面板上的開始游戲,游戲暫停,提高級數(shù),降低級數(shù)退出游戲等按鈕來實(shí)現(xiàn)游
6、戲的開始,暫停,停止游戲,增加難度,降低難度等功能。 </p><p><
7、;b> 圖1.1功能圖</b></p><p><b> 2.類總體設(shè)計(jì)</b></p><p><b> 2.1類組合關(guān)系圖</b></p><p> 圖2.1. 類組合關(guān)系圖</p><p><b> 2.2主類</b></p>&
8、lt;p> ERS_Block繼承Frame類負(fù)責(zé)游戲全局的控制[2]。對開始游戲、暫停/繼續(xù)游戲、結(jié)束游戲、等級設(shè)置。玩家可自行設(shè)定游戲等級,主要提供10種級別,級別越高,游戲速度越快,難度越大</p><p><b> 2.3其他類</b></p><p> 1.Mypanel繼承Panel類。</p><p> 2.Bloc
9、k是方塊類控制塊的移動,下落變形功能。七種類型方塊的父類,定義了所有類型方塊的共同特征和行為。</p><p> 3.GameCanvas是游戲畫布類,繼承Canvas類,界面設(shè)計(jì)應(yīng)遵循簡介美觀方便易用的基本原則在游戲區(qū)顯示方塊。</p><p> 4.Command類是控制按鈕類。</p><p> 5.MyTimer類繼承自線程類Thead。包含run()
10、方法,sleep()方法,控制游戲的速度。</p><p> 6.WinListener類繼承WindowAdapter類。</p><p><b> 3.類詳細(xì)設(shè)計(jì)</b></p><p> 3.1ERS_Block主類</p><p> 圖3.1主類數(shù)據(jù)透視圖</p><p><
11、b> 定義成員變量[3]</b></p><p> 右邊信息窗體的布局 </p><p> MyPanel infoScr = new MyPanel(); </p><p> infoScr.setLayout(new GridLayout(4,1,0,5)); </p><p> infoScr.setSize
12、(120,300); </p><p><b> 定義標(biāo)簽和初始值 </b></p><p> Label scorep = new Label("分?jǐn)?shù):",Label.LEFT); </p><p> Label levelp = new Label("級數(shù):",Label.LEFT); <
13、/p><p> 右邊控制按鈕窗體的布局 </p><p> MyPanel controlScr = new MyPanel(); </p><p> controlScr.setLayout(new GridLayout(5,1,0,5)); </p><p> rightScr.add(controlScr); </p>
14、<p><b> 定義按鈕play </b></p><p> Button play_b = new Button("開始游戲"); </p><p> play_b.setSize(new Dimension(50,200)); </p><p> 定義按鈕Level UP </p>&
15、lt;p> Button level_up_b = new Button("提高級數(shù)"); </p><p> level_up_b.setSize(new Dimension(50,200)); </p><p> 定義按鈕Level Down </p><p> Button level_down_b =new Button(&
16、quot;降低級數(shù)"); </p><p> level_down_b.setSize(new Dimension(50,200)); </p><p> 定義按鈕Level Pause </p><p> Button pause_b =new Button("游戲暫停"); </p><p> pau
17、se_b.setSize(new Dimension(50,200)); </p><p><b> 定義按鈕Quit </b></p><p> Button quit_b = new Button("退出游戲"); </p><p> quit_b.setSize(new Dimension(50,200)); ;
18、 </p><p><b> 成員方法</b></p><p> 俄羅斯方塊類的構(gòu)造方法 </p><p> 方法定義:ERS_Block(String title)</p><p> isGameOver方法</p><p> 方法定義:private boolean isGameOv
19、er() </p><p> 功能描述:該方法是判斷游戲是否該結(jié)束了,只需要判斷窗口中的最頂端那一行中是否有方塊,同時(shí)也要判斷最底端的是否也有,如果都有即結(jié)束。 </p><p> 3.2Command處理控制類</p><p> 圖3.2Command類數(shù)據(jù)透視圖</p><p><b> 成員變量[4]:</b&g
20、t;</p><p><b> 給按鈕編號</b></p><p> int button_play </p><p> int button_levelup </p><p> int button_leveldown </p><p> int button_quit ; <
21、;/p><p> int button_pause </p><p> int curButton; </p><p> GameCanvas scr;</p><p><b> 成員方法:</b></p><p> 控制按鈕類的構(gòu)造方法</p><p> 方法定
22、義:Command(int button,GameCanvas scr)</p><p><b> 按鈕執(zhí)行方法 </b></p><p> 方法定義:public void actionPerformed (ActionEvent e)</p><p> 功能:點(diǎn)擊按鈕實(shí)現(xiàn)游戲的開始,結(jié)束,升級,降級,暫停[5]。</p>
23、<p> 3.3GameCanvas游戲畫布類</p><p> 圖3.3GameCanvas類數(shù)據(jù)透視圖</p><p><b> 成員變量:</b></p><p> 小方塊邊長 :final int 0unitSize = 30</p><p> 正方格的行數(shù): int rowNum</
24、p><p> 方格的列數(shù) :int columnNum</p><p> 允許有多少行未削 :int maxAllowRowNum</p><p> 新出現(xiàn)塊的起始行坐標(biāo) :int blockInitRow</p><p> 出現(xiàn)塊的起始列坐標(biāo): int blockInitCol</p><p> 屏幕數(shù)組: i
25、nt [][] scrArr</p><p> 對方快的引用:Block b</p><p> 2.畫布類的構(gòu)造方法</p><p><b> 成員方法[5]:</b></p><p> 初始化屏幕,并將屏幕數(shù)組清零的方法</p><p> 方法定義 :void initScr()<
26、;/p><p><b> 重新刷新畫布方法</b></p><p> 方法定義 :public void paint(Graphics g)</p><p><b> 畫方塊的方法</b></p><p> 方法定義 : public void drawUnit(int row,int col,
27、int type)</p><p> 功能:以背景為顏色畫,畫正在下落的方塊,畫已經(jīng)落下的方塊。 </p><p> 塊的初始v行坐標(biāo)方法</p><p> 方法定義 : public int getInitRow()</p><p> 返回新塊的初始行坐標(biāo) :return(blockInitRow)</p><p
28、> 返回新塊的初始列坐標(biāo)方法</p><p> 方法定義 :public int getInitCol()</p><p> 返回新塊的初始列坐標(biāo) :return(blockInitCol)</p><p><b> 滿行刪除方法</b></p><p> 方法定義 :void deleteFullLin
29、e()</p><p> 功能:這個(gè)就是實(shí)現(xiàn)如何將行消除的,其實(shí)就是在判斷了該行該消除時(shí)候?qū)⑸厦娴姆綁K都向下平移一格,這樣在實(shí)現(xiàn)程序界面也就給玩家是消一行的視覺效果[6]。</p><p> 3.3Block方塊類</p><p> 圖3.3Block類數(shù)據(jù)透視圖</p><p><b> 成員變量:</b>&l
30、t;/p><p> 塊的模式編號:int blockType; </p><p> 塊的翻轉(zhuǎn)狀態(tài):int turnState; </p><p> 塊的下落狀態(tài):int blockState; </p><p> 塊在畫布上的坐標(biāo):int row,col; </p><p> GameCanvas scr;
31、</p><p><b> 成員方法:</b></p><p> fallDown方法</p><p> 方法定義:public void fallDown ()</p><p> 功能描述:實(shí)現(xiàn)方塊的運(yùn)行,下落。</p><p> leftMove()</p><p
32、> 方法方法定義:public synchronized boolean leftMove()</p><p> 功能描述:將當(dāng)前畫移動到所左面的位置。</p><p> rightMove()方法</p><p> 方法定義:private boolean rightMove ()</p><p> 功能描述:將方塊想右邊移
33、動。</p><p><b> 方法</b></p><p> 方法定義:public void turnNext()</p><p> 功能描述:實(shí)現(xiàn)方塊的旋轉(zhuǎn)。</p><p> leftturn方法</p><p> 方法定義:private synchronized boolea
34、n leftturn()</p><p> 功能描述:將當(dāng)前塊實(shí)現(xiàn)翻轉(zhuǎn)。</p><p> deleteFullLine方法</p><p> 方法定義:private boolean deleteFullLine()</p><p> 功能描述:實(shí)現(xiàn)滿行刪除的方法。</p><p><b> er
35、ase方法</b></p><p> 方法定義:private void erase()</p><p> 功能描述:將當(dāng)前塊從畫布的對應(yīng)位置移除。</p><p><b> display方法</b></p><p> 方法定義:private void display()</p>&
36、lt;p> 功能描述:實(shí)現(xiàn)重畫畫布的時(shí)候顯示當(dāng)前塊</p><p> 4.關(guān)鍵類成員函數(shù)流程圖及代碼</p><p><b> 4.1系統(tǒng)流程圖</b></p><p><b> 4.2源代碼[7]</b></p><p> import java.awt.*; </p>
37、<p> import java.awt.event.*; //俄羅斯方塊類 </p><p> class ERS_Block extends Frame{ </p><p> public static boolean isPlay=false; </p><p> public static int level=1,score=0; &l
38、t;/p><p> public static TextField scoreField,levelField; </p><p> public static MyTimer timer; </p><p> GameCanvas gameScr; </p><p> public static void main(String[] a
39、rgus){ </p><p> ERS_Block ers = new ERS_Block("俄羅斯方塊游戲 "); </p><p> WindowListener win_listener = new WinListener(); </p><p> ers.addWindowListener(win_listener); </
40、p><p><b> } </b></p><p> //俄羅斯方塊類的構(gòu)造方法 </p><p> ERS_Block(String title){ </p><p> super(title); </p><p> setSize(600,480); </p><p&
41、gt; setLayout(new GridLayout(1,2)); </p><p> gameScr = new GameCanvas(); </p><p> gameScr.addKeyListener(gameScr);</p><p> timer = new MyTimer(gameScr); </p><p> t
42、imer.setDaemon(true); </p><p> timer.start(); </p><p> timer.suspend(); </p><p> add(gameScr); </p><p> Panel rightScr = new Panel(); </p><p> rightSc
43、r.setLayout(new GridLayout(2,1,0,30)); </p><p> rightScr.setSize(120,500); </p><p> add(rightScr); //右邊信息窗體的布局 </p><p> MyPanel infoScr = new MyPanel(); </p><p> in
44、foScr.setLayout(new GridLayout(4,1,0,5)); </p><p> infoScr.setSize(120,300); </p><p> rightScr.add(infoScr); //定義標(biāo)簽和初始值 </p><p> Label scorep = new Label("分?jǐn)?shù):",Label.LE
45、FT); </p><p> Label levelp = new Label("級數(shù):",Label.LEFT); </p><p> scoreField = new TextField(8); </p><p> levelField = new TextField(8); </p><p> scoreFi
46、eld.setEditable(false); </p><p> levelField.setEditable(false); </p><p> infoScr.add(scorep); </p><p> infoScr.add(scoreField); </p><p> infoScr.add(levelp); </p
47、><p> infoScr.add(levelField); </p><p> scorep.setSize(new Dimension(20,60)); </p><p> scoreField.setSize(new Dimension(20,60)); </p><p> levelp.setSize(new Dimension(
48、20,60)); </p><p> levelField.setSize(new Dimension(20,60)); </p><p> scoreField.setText("0"); </p><p> levelField.setText("1"); //右邊控制按鈕窗體的布局 </p><
49、p> MyPanel controlScr = new MyPanel(); </p><p> controlScr.setLayout(new GridLayout(5,1,0,5)); </p><p> rightScr.add(controlScr); //定義按鈕play </p><p> Button play_b = new Butt
50、on("開始游戲"); </p><p> play_b.setSize(new Dimension(50,200)); </p><p> play_b.addActionListener(new Command(Command.button_play,gameScr)); //定義按鈕Level UP </p><p> Button
51、level_up_b = new Button("提高級數(shù)"); </p><p> level_up_b.setSize(new Dimension(50,200)); </p><p> level_up_b.addActionListener(new Command(Command.button_levelup,gameScr)); </p>&
52、lt;p> Button level_down_b =new Button("降低級數(shù)"); </p><p> level_down_b.setSize(new Dimension(50,200)); </p><p> level_down_b.addActionListener(new Command(Command.button_leveldown,
53、gameScr)); </p><p> Button pause_b =new Button("游戲暫停"); </p><p> pause_b.setSize(new Dimension(50,200)); </p><p> pause_b.addActionListener(new Command(Command.button_p
54、ause,gameScr)); </p><p> Button quit_b = new Button("退出游戲"); </p><p> quit_b.setSize(new Dimension(50,200)); </p><p> quit_b.addActionListener(new Command(Command.butto
55、n_quit,gameScr)); </p><p> controlScr.add(play_b); </p><p> controlScr.add(level_up_b); </p><p> controlScr.add(level_down_b); </p><p> controlScr.add(pause_b); <
56、;/p><p> controlScr.add(quit_b); </p><p> setVisible(true); </p><p> gameScr.requestFocus(); </p><p><b> } </b></p><p><b> //游戲畫布類 <
57、/b></p><p> class GameCanvas extends Canvas implements KeyListener{ </p><p> final int unitSize = 30; //小方塊邊長 </p><p> int rowNum; //正方格的行數(shù) </p><p> int columnNu
58、m; //正方格的列數(shù) </p><p> int maxAllowRowNum; //允許有多少行未削 </p><p> int blockInitRow; //新出現(xiàn)塊的起始行坐標(biāo) </p><p> int blockInitCol; //新出現(xiàn)塊的起始列坐標(biāo) </p><p> int [][] scrArr; //屏幕數(shù)組
59、</p><p> Block b; //對方快的引用 //畫布類的構(gòu)造方法 </p><p> GameCanvas(){ </p><p> rowNum = 15; </p><p> columnNum = 10; </p><p> maxAllowRowNum = rowNum - 2; <
60、/p><p> b = new Block(this); </p><p> blockInitRow = rowNum - 1; </p><p> blockInitCol = columnNum/2 - 2; </p><p> scrArr = new int [32][32]; </p><p><
61、b> } </b></p><p><b> }</b></p><p><b> //畫方塊的方法 </b></p><p> public void drawUnit(int row,int col,int type){ </p><p> scrArr[row][c
62、ol] = type; </p><p> Graphics g = getGraphics(); </p><p> switch(type){ //表示畫方快的方法 </p><p> case 0: g.setColor(Color.black);break; //以背景為顏色畫 </p><p> case 1: g.setC
63、olor(Color.blue);break; //畫正在下落的方塊 </p><p> case 2: g.setColor(Color.magenta);break; //畫已經(jīng)落下的方法 </p><p><b> } </b></p><p> g.fill3DRect(col*unitSize,getSize().height-
64、(row+1)*unitSize,unitSize,unitSize,true); </p><p> g.dispose(); </p><p><b> } </b></p><p> public Block getBlock(){ </p><p> return b; //返回block實(shí)例的引用 &l
65、t;/p><p><b> } </b></p><p><b> } </b></p><p><b> //滿行刪除方法 </b></p><p> void deleteFullLine(){ </p><p> int full_line_
66、num = 0; </p><p> int k = 0; </p><p> for (int i=0;i<rowNum;i++){ </p><p> boolean isfull = true; </p><p> L1:for(int j=0;j<columnNum;j++) </p><p&g
67、t; if(scrArr[i][j] == 0){ </p><p><b> k++; </b></p><p> isfull = false; </p><p> break L1; </p><p><b> } </b></p><p> if(isfu
68、ll) full_line_num++; </p><p> if(k!=0 && k-1!=i && !isfull) </p><p> for(int j = 0; j < columnNum; j++){ </p><p> if (scrArr[i][j] == 0) </p><p>
69、 drawUnit(k-1,j,0); </p><p><b> else </b></p><p> drawUnit(k-1,j,2); </p><p> scrArr[k-1][j] = scrArr[i][j]; </p><p><b> } </b></p>&
70、lt;p><b> } </b></p><p> for(int i = k-1 ;i < rowNum; i++){ </p><p> for(int j = 0; j < columnNum; j++){ </p><p> drawUnit(i,j,0); </p><p> scr
71、Arr[i][j]=0; </p><p><b> } </b></p><p><b> } </b></p><p> ERS_Block.score += full_line_num; </p><p> ERS_Block.scoreField.setText("&quo
72、t;+ERS_Block.score); </p><p><b> }</b></p><p> //處理鍵盤輸入的方法 </p><p> public void keyPressed(KeyEvent e){ </p><p> if(!ERS_Block.isPlay) </p><p
73、><b> return; </b></p><p> switch(e.getKeyCode()){ </p><p> case KeyEvent.VK_DOWN:b.fallDown();break; </p><p> case KeyEvent.VK_LEFT:b.leftMove();break; </p>
74、<p> case KeyEvent.VK_RIGHT:b.rightMove();break; </p><p> case KeyEvent.VK_SPACE:b.leftTurn();break; </p><p><b> } </b></p><p><b> }</b></p>
75、<p><b> } </b></p><p><b> //處理控制類 </b></p><p> class Command implements ActionListener{ </p><p> static final int button_play = 1; //給按鈕分配編號 </
76、p><p> static final int button_levelup = 2; </p><p> static final int button_leveldown = 3; </p><p> static final int button_quit = 4; </p><p> static final int button
77、_pause = 5; </p><p> static boolean pause_resume = true; </p><p> int curButton; //當(dāng)前按鈕 </p><p> GameCanvas scr; //控制按鈕類的構(gòu)造方法 </p><p> Command(int button,GameCanvas
78、 scr){ </p><p> curButton = button; </p><p> this.scr=scr; </p><p><b> }</b></p><p><b> //按鈕執(zhí)行方法 </b></p><p> public void acti
79、onPerformed (ActionEvent e){ </p><p> switch(curButton){ </p><p> case button_play:if(!ERS_Block.isPlay){ </p><p> scr.initScr(); </p><p> ERS_Block.isPlay = true;
80、</p><p> ERS_Block.score = 0; </p><p> ERS_Block.scoreField.setText("0"); </p><p> ERS_Block.timer.resume(); </p><p><b> } </b></p><
81、;p> scr.requestFocus(); </p><p><b> break; </b></p><p> case button_levelup:if(ERS_Block.level < 10){ </p><p> ERS_Block.level++; </p><p> ERS_Bl
82、ock.levelField.setText(""+ERS_Block.level); </p><p> ERS_Block.score = 0; </p><p> ERS_Block.scoreField.setText(""+ERS_Block.score); </p><p><b> } </
83、b></p><p> scr.requestFocus(); </p><p><b> break; </b></p><p> case button_leveldown:if(ERS_Block.level > 1){ </p><p> ERS_Block.level--; </p&g
84、t;<p> ERS_Block.levelField.setText(""+ERS_Block.level); </p><p> ERS_Block.score = 0; </p><p> ERS_Block.scoreField.setText(""+ERS_Block.score); </p><p&
85、gt;<b> } </b></p><p> scr.requestFocus(); </p><p><b> break; </b></p><p> case button_pause:if(pause_resume){ </p><p> ERS_Block.timer.susp
86、end(); </p><p> pause_resume = false; </p><p><b> }else{ </b></p><p> ERS_Block.timer.resume(); </p><p> pause_resume = true; </p><p><b
87、> } </b></p><p> scr.requestFocus(); </p><p><b> break; </b></p><p> case button_quit:System.exit(0); </p><p><b> } </b></p>
88、<p><b> } </b></p><p><b> } </b></p><p><b> //方塊類 </b></p><p> class Block { </p><p> static int[][] pattern = { </p&
89、gt;<p> {0x0f00,0x4444,0x0f00,0x4444},//用十六進(jìn)至表示,本行表示長條四種狀態(tài) </p><p> {0x04e0,0x0464,0x00e4,0x04c4}, </p><p> {0x4620,0x6c00,0x4620,0x6c00}, </p><p> {0x2640,0xc600,0x2640,
90、0xc600}, </p><p> {0x6220,0x1700,0x2230,0x0740}, </p><p> {0x6440,0x0e20,0x44c0,0x8e00}, </p><p> {0x0660,0x0660,0x0660,0x0660} </p><p><b> }; </b></
91、p><p> int blockType; //塊的模式號(0-6) </p><p> int turnState; //塊的翻轉(zhuǎn)狀態(tài)(0-3) </p><p> int blockState; //快的下落狀態(tài) </p><p> int row,col; //塊在畫布上的坐標(biāo) </p><p> Game
92、Canvas scr; //塊類的構(gòu)造方法 </p><p> Block(GameCanvas scr){ </p><p> this.scr = scr; </p><p> blockType = (int)(Math.random() * 1000)%7; </p><p> turnState = (int)(Math.r
93、andom() * 1000)%4; </p><p> blockState = 1; </p><p> row = scr.getInitRow(); </p><p> col = scr.getInitCol(); </p><p><b> } </b></p><p><
94、;b> //定時(shí)線程 </b></p><p> class MyTimer extends Thread{</p><p> GameCanvas scr; </p><p> public MyTimer(GameCanvas scr){ </p><p> this.scr = scr; </p>
95、<p><b> }</b></p><p> public void run(){ </p><p> while(true){ </p><p><b> try{ </b></p><p> sleep((10-ERS_Block.level + 1)*100); &l
96、t;/p><p><b> } </b></p><p> catch(InterruptedException e){} </p><p> if(!scr.getBlock().fallDown()){ </p><p> scr.deleteFullLine(); </p><p>
97、if(scr.isGameEnd()){ </p><p> ERS_Block.isPlay = false; </p><p> suspend(); </p><p><b> }</b></p><p><b> else </b></p><p> scr
98、.getBlock().reset(); </p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> cl
99、ass WinListener extends WindowAdapter{ </p><p> public void windowClosing (WindowEvent l){ </p><p> System.exit(0); </p><p><b> } </b></p><p><b>
100、}</b></p><p><b> 5.軟件運(yùn)行結(jié)果</b></p><p><b> 圖5.1系統(tǒng)主窗口</b></p><p> 圖5.2方塊翻轉(zhuǎn)功能</p><p> 圖5.3方塊翻轉(zhuǎn)功能</p><p> 圖5.4界面消行功能</p>
101、;<p><b> 圖5.6得分情況</b></p><p><b> 圖5.7游戲結(jié)束</b></p><p><b> 結(jié)論</b></p><p> 學(xué)習(xí)了《Java面向?qū)ο缶幊獭穂8]的課程,為了更進(jìn)一步的提高我們對Java的深入學(xué)習(xí),進(jìn)行了一周的課程設(shè)計(jì),我所選擇課程設(shè)
102、計(jì)是利用Java設(shè)計(jì)一個(gè)簡單的俄羅斯方塊游戲。采用swing界面設(shè)計(jì)技術(shù)[9]設(shè)計(jì)窗口,按鈕等,并添加事件監(jiān)聽,并采用線程技術(shù)[10]控制游戲的速度。俄羅斯方塊的應(yīng)用程序要求的功能:玩家可以在游戲區(qū)中堆積方塊,并能夠在游戲過程中隨時(shí)了解得分情況,可以通過游戲控制功能來選擇開始新的一局游戲,暫?;蛲顺鲇螒?,玩家可以根據(jù)自己的需要自行設(shè)定游戲的開始級別,級別越高,游戲的速度越快,難度越大等功能都以完全實(shí)現(xiàn)。此俄羅斯方塊游戲可以為用戶提供一個(gè)
103、可在普通個(gè)人電腦上運(yùn)行的,界面美觀的,易于控制的俄羅斯方塊游戲。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]《Java面向?qū)ο蟪绦蛟O(shè)計(jì)》 陳明主編,清華大學(xué)出版社。</p><p> [2]《JAVA課程設(shè)計(jì)》 黃明 梁旭 周紹斌編著,電子工業(yè)出版社。</p><p> [3]《JAVA
104、編程寶典》李鐘尉 陳丹丹 張振坤編著,人民郵電出版社</p><p> [4]《.JSP網(wǎng)站編程教程》第1版 屈輝立 陳可明 石武,北京希望電子出版社。 </p><p> [5]《B/S模式構(gòu)建在線考試系統(tǒng)》 白勇,重慶電力高等??茖W(xué)校學(xué)報(bào)。</p><p> [6]《Java 編程思想》 Bruce E
105、ckel,北京機(jī)械工業(yè)出版社</p><p> [7] 《實(shí)用Java程序設(shè)計(jì)教程》 宛延闿,北京機(jī)械工業(yè)出版社。</p><p> [8] 《JAVA面向?qū)ο蟪绦蚓幊獭?張孝祥,北京清華出版社。</p><p> [9]《Java 語言使用教程》 丁振凡,北京郵件大學(xué)出版社。 </p><p> [10]《Java 語言使用教程實(shí)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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ì)實(shí)驗(yàn)報(bào)告---俄羅斯方塊
- java課程設(shè)計(jì)報(bào)告-俄羅斯方塊
- java俄羅斯方塊課程設(shè)計(jì)
- java課程設(shè)計(jì)--俄羅斯方塊游戲
- java課程設(shè)計(jì)---俄羅斯方塊游戲
- java課程設(shè)計(jì)---俄羅斯方塊游戲
- 俄羅斯方塊課程設(shè)計(jì)報(bào)告
- 《c++俄羅斯方塊》課程設(shè)計(jì)--俄羅斯方塊
- 俄羅斯方塊課程設(shè)計(jì)報(bào)告
- java課程實(shí)踐報(bào)告--俄羅斯方塊
- 俄羅斯方塊課程設(shè)計(jì)
- 俄羅斯方塊課程設(shè)計(jì)
- 課程設(shè)計(jì)---俄羅斯方塊
- 俄羅斯方塊課程設(shè)計(jì)
- 俄羅斯方塊課程設(shè)計(jì)
- 課程設(shè)計(jì)--俄羅斯方塊設(shè)計(jì)報(bào)告
- 俄羅斯方塊課程設(shè)計(jì)
- 俄羅斯方塊課程設(shè)計(jì)
- 俄羅斯方塊課程設(shè)計(jì)
- 俄羅斯方塊編程課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論