java課程設(shè)計(jì)報(bào)告-俄羅斯方塊.doc
《java課程設(shè)計(jì)報(bào)告-俄羅斯方塊.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計(jì)報(bào)告-俄羅斯方塊.doc(21頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
II JAVA程序設(shè)計(jì)課程設(shè)計(jì) 之 俄羅斯方塊年級(jí):13級(jí) 班級(jí):T412 網(wǎng)絡(luò)工程指導(dǎo)老師:朱林小組成員:20138346021 許浩洋 時(shí)間:2015年11月11日目錄摘要第一章 課程設(shè)計(jì)要求第二章 設(shè)計(jì)概要2.1 功能設(shè)計(jì)2.2 功能分析2.2.1 系統(tǒng)操作界面2.2.2 程序主要功能說明第三章 調(diào)試分析與測試結(jié)果3.1 游戲運(yùn)行界面3.2 測試項(xiàng)目3.2.1 功能區(qū)按鍵測試3.2.2 鍵盤功能測試3.2.3 游戲結(jié)束測試第四章 設(shè)計(jì)總結(jié)4.1 改進(jìn)意見4.2 Java課程設(shè)計(jì)心得體會(huì)II19摘要在現(xiàn)代,高科技的飛躍發(fā)展,人們工作習(xí)慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來越快,一些有趣的桌面游戲已經(jīng)成為人們?cè)谑褂糜?jì)算機(jī)進(jìn)行工作或?qū)W習(xí)之余休閑娛樂的首選,而俄羅斯方塊游戲是人們最熟悉的小游戲之一。俄羅斯方塊(Tetris, 俄文:)是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它由俄羅斯人阿列克謝帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲自動(dòng)輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。 為此,我們?cè)O(shè)計(jì)了一款簡單的俄羅斯方塊JAVA游戲程序,以便更好的滿足廣大電腦工作者閑暇之余的消遣,并且也讓我們學(xué)到編程技術(shù)與團(tuán)隊(duì)意識(shí)。關(guān)鍵字:俄羅斯方塊、JAVA游戲、編程第1章 課程設(shè)計(jì)要求題目名稱:俄羅斯方塊題目類型:設(shè)計(jì)型課程設(shè)計(jì)目的: 1)了解Java的基本使用方法。 2)熟悉eclipse的運(yùn)行環(huán)境。 3)用JAVA來設(shè)計(jì)一個(gè)俄羅斯方塊的小游戲。 4)基本實(shí)現(xiàn)俄羅斯方塊的應(yīng)用功能。實(shí)驗(yàn)原理:JAVA程序分析與設(shè)計(jì)、類的靈活運(yùn)用、多態(tài)技術(shù)、模板技術(shù)、異常處理等。實(shí)驗(yàn)內(nèi)容:本俄羅斯方塊游戲是對(duì)于隨機(jī)給出不同的形狀(長條形、Z字形、反Z形、田字形、L字形、反L形、T字型)下落填充給定的區(qū)域,若填滿一條便消掉,記分。若在游戲中各形狀填滿了給定區(qū)域,為輸者。 第二章 設(shè)計(jì)概要2.1 功能設(shè)計(jì)本項(xiàng)目是為了實(shí)現(xiàn)俄羅斯方塊的基本功能而設(shè)計(jì)的,基本能夠達(dá)到俄羅斯方塊的各種游戲性。項(xiàng)目需求分析如下:1)由方塊組成的不同的隨機(jī)圖形會(huì)從區(qū)域上方開始緩慢落下。2)玩家可以做的操作有: 以90度為單位旋轉(zhuǎn)方每一格塊。以格子為單位左右移動(dòng)方塊,讓方塊加速落下。3)方塊移到區(qū)域最下方或是著地到其他方塊上無法移動(dòng)時(shí),就會(huì)固定在該處,而新的隨機(jī)圖形會(huì)出現(xiàn)在區(qū)域上方開始落下。4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會(huì)自動(dòng)消除并成為玩家的得分。5)一次性銷毀不同行數(shù)方塊得分不同,一行1分,兩行2分,三行5分,四行10分。6)當(dāng)固定的方塊堆到區(qū)域最上方,則游戲結(jié)束。處理玩家操作2.2 功能分析2.2.1 系統(tǒng)操作界面2.2.2 程序主要功能說明1.面板畫筆類代碼:package Tetris;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.util.Arrays;import java.util.Timer;import java.util.TimerTask;import javax.swing.JFrame;import javax.swing.JPanel;public class TetrisPanel extends JPanel/游戲主面板20行10列private static final int ROWS = 20;private static final int COLS = 10;/代表方塊著陸的墻private Cell wall = new CellROWSCOLS;/定義每一小塊的大小private static final int CELL_SIZE = 25;/游戲得分private int score;/游戲銷毀行數(shù)private int lines;/一次性銷毀行數(shù)的計(jì)分標(biāo)準(zhǔn)(0行=0分,1行=1分,2行=4分,3行=10分,4行=20分)private static final int SCORE_LEVEL =0,1,4,10,20;/游戲結(jié)束標(biāo)記private boolean gameOver = false;/游戲暫停標(biāo)記private boolean pause = false;/正在下落的四格方塊private Tetromino currentTetro ;/下一個(gè)下落的四格方塊private Tetromino nextTetro ;/定義游戲定時(shí)器private Timer timer;public static void main(String args)JFrame frame = new JFrame(俄羅斯方塊);int width = (COLS+8)*CELL_SIZE+100;int height = ROWS*CELL_SIZE+100;frame.setSize(width, height);frame.setLocationRelativeTo(null);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/取消系統(tǒng)默認(rèn)布局frame.setLayout(null);TetrisPanel panel = new TetrisPanel();panel.setLocation(45, 35);panel.setSize(COLS+8)*CELL_SIZE,ROWS*CELL_SIZE+1);frame.add(panel);frame.setVisible(true);panel.action();public void paint(Graphics g)super.paint(g);/填充背景顏色this.paintBackground(g);/繪制游戲墻paintWall(g);/繪制分?jǐn)?shù)墻paintScore(g);/繪制面板邊框paintTetrisBorder(g);/繪制當(dāng)前四格方塊paintCurrentTetro(g);/繪制下個(gè)四格方塊paintNextTetro(g); /private static final int BG_COLOR = 0xC3D5EA;/private static final int BORDER_COLOR = 0x667799;/private static final int FONT_COLOR = 0x000000;/繪制背景的方法public void paintBackground(Graphics g)g.setColor(new Color(BG_COLOR);/this.setBackground(new Color(BG_COLOR);g.fillRect(0, 0, this.getWidth(), this.getHeight();/繪制游戲墻的方法public void paintWall(Graphics g)for(int row=0;rowROWS;row+)for(int col=0;colCOLS;col+)Cell cell = wallrowcol;int x =col*CELL_SIZE;int y= row*CELL_SIZE;if(cell=null)g.setColor(new Color(BORDER_COLOR);g.drawRect(x, y, CELL_SIZE, CELL_SIZE);elseg.setColor(new Color(cell.getColor();g.fillRect(x, y, CELL_SIZE, CELL_SIZE);g.setColor(new Color(BORDER_COLOR);g.drawRect(x, y, CELL_SIZE, CELL_SIZE);/繪制分?jǐn)?shù)墻的方法public void paintScore(Graphics g)int x = 12*CELL_SIZE;int y = 6*CELL_SIZE;Font font = new Font(楷體,Font.BOLD,23);String msg =分?jǐn)?shù):+score;g.setColor(new Color(FONT_COLOR);g.setFont(font);g.drawString(msg, x, y);y+=2*CELL_SIZE;msg = 行數(shù):+lines;g.drawString(msg, x, y);if(gameOver)msg = (T_T)【S】再來;y+=2*CELL_SIZE;x-=CELL_SIZE;g.drawString(msg, x, y);else if(pause)msg = 【C】繼續(xù);y+=2*CELL_SIZE;g.drawString(msg, x, y);elsemsg = 【P】暫停;y+=2*CELL_SIZE;g.drawString(msg, x, y);/繪制面板邊框的方法public void paintTetrisBorder(Graphics g)g.setColor(new Color(BORDER_COLOR);g.drawRect(0, 0, CELL_SIZE*(COLS+8)-1, CELL_SIZE*ROWS);/繪制當(dāng)前四格方塊的方法public void paintCurrentTetro( Graphics g)if(currentTetro=null)/如果沒有四格方塊,則返回不繪畫return;for(Cell cell:currentTetro.cells)int row = cell.getRow();int col = cell.getCol();int x = col*CELL_SIZE;int y = row*CELL_SIZE;g.setColor(new Color(cell.getColor();g.fillRect(x, y, CELL_SIZE, CELL_SIZE);g.setColor(new Color(BORDER_COLOR);g.drawRect(x, y, CELL_SIZE, CELL_SIZE);/繪制下個(gè)四格方塊的方法public void paintNextTetro( Graphics g)if(nextTetro=null)/如果沒有四格方塊,則返回不繪畫return;for(Cell cell:nextTetro.cells)int row = cell.getRow();int col = cell.getCol();int x = (col+9)*CELL_SIZE;int y = (row+1)*CELL_SIZE;g.setColor(new Color(cell.getColor();g.fillRect(x, y, CELL_SIZE, CELL_SIZE);g.setColor(new Color(BORDER_COLOR);g.drawRect(x, y, CELL_SIZE, CELL_SIZE);/讓四格方塊動(dòng)起來的方法public void action()startGameAction();/請(qǐng)求此容器獲取輸入焦點(diǎn)this.requestFocus();this.addKeyListener(new KeyAdapter()public void keyPressed(KeyEvent e)int key= e.getKeyCode();if(gameOver)if(key=KeyEvent.VK_S)startGameAction();return;if(pause)if(key=KeyEvent.VK_C)continueAction();return;switch(key)case KeyEvent.VK_DOWN:softDownAction();break;case KeyEvent.VK_LEFT:moveLeftAction();break;case KeyEvent.VK_RIGHT:moveRightAction();break;case KeyEvent.VK_UP:rotateRightAction();break;case KeyEvent.VK_SPACE:hardDownAction();break;case KeyEvent.VK_P:pauseAction();break;repaint();/暫停游戲的方法private void pauseAction() pause = true;timer.cancel();/繼續(xù)游戲的方法private void continueAction() pause = false;timer = new Timer();timer.schedule(new TimerTask() public void run() softDownAction();repaint();, 500, 500););/在游戲開始時(shí)調(diào)用或者【S】按下時(shí)調(diào)用public void startGameAction()gameOver = false;pause = false;score = 0;lines = 0;/清空游戲主面板e(cuò)mptyWall();/生成下一個(gè)四格方塊nextTetromino();/生成定時(shí)器對(duì)象timer = new Timer();/啟動(dòng)定時(shí)器工作timer.schedule(new TimerTask() public void run() /調(diào)用面板的四格方塊下落方法(自由下落)softDownAction();/重畫面板repaint();, 500, 500);/清空游戲主面板方法public void emptyWall()for(int row =0;rowROWS;row+)/wallrow這一行全部用null表示Arrays.fill(wallrow, null);/生成(隨機(jī))下一個(gè)四格方塊,1.下一個(gè)變成當(dāng)前的。2.隨機(jī)生成下一個(gè)。public void nextTetromino()if(nextTetro=null)/第一次nextTetro是null時(shí)就隨機(jī)生成一個(gè)nextTetro = Tetromino.randomTetromino();/下一個(gè)四格方塊立即變成當(dāng)前四格方塊currentTetro = nextTetro;nextTetro = Tetromino.randomTetromino();/四格方塊下落流程,方塊移動(dòng)到區(qū)域最下方或者移動(dòng)到其他方塊上則固定在此處。/而新的四個(gè)方塊則會(huì)出現(xiàn)在區(qū)域上方并開始下落且隨機(jī)生成下一個(gè)四格方塊public void softDownAction()if(canDown()/如果能下落則繼續(xù)下落currentTetro.softDown();else/不能下落則著陸到墻上tetrominoLandToWall();/每一個(gè)四格方塊著陸清除滿行且計(jì)分destroy();/每一個(gè)四格方塊著陸需要檢測游戲是否結(jié)束if(gameOver()/如果游戲結(jié)束gameOverAction();else/隨機(jī)生成下一個(gè)四格方塊nextTetromino();/檢查方塊是否能夠繼續(xù)下落(落到最底部或者墻上的下方有方塊)private boolean canDown() /檢查是否到底部Cell cells = currentTetro.cells;for(Cell cell:cells)if(cell.getRow()=ROWS-1)return false;/檢查次四格方塊下方是否有方塊for(Cell cell:cells)int row = cell.getRow();int col = cell.getCol();Cell block = wallrow+1col;if(block!=null)return false;return true;/方塊“著陸”到墻上,取出每個(gè)小方塊找到對(duì)應(yīng)的行號(hào)row和列號(hào)col,將cell小方塊放到對(duì)應(yīng)的wallrowcol位置上private void tetrominoLandToWall() Cell cells = currentTetro.cells;for(Cell cell:cells)int row = cell.getRow();int col = cell.getCol();/將cell小方塊放到對(duì)應(yīng)的wallrowcol位置上wallrowcol=cell;/銷毀滿行的方法private void destroy() /統(tǒng)計(jì)本次銷毀的行數(shù)int lines =0;for(int row =0 ;rowROWS;row+)/判斷此行是否是滿行if(fullCells(row)/清除此行clearLine(row);/每清除一行就累計(jì)加一lines+;/整個(gè)游戲面板每一行判斷之后要記錄銷毀行數(shù)與計(jì)分score += SCORE_LEVELlines;this.lines += lines;/判斷某一行是否填滿cell小方塊private boolean fullCells(int row) Cellline = wallrow;for(int i=0; i=1;i-)/wallrow = Arrays.copyOf(wallrow-1, COLS);System.arraycopy(wallrow-1, 0, wallrow, 0, COLS);/第一行全部用null填充Arrays.fill(wall0, null);/檢查游戲是否結(jié)束(思路:游戲主面板中第一行出現(xiàn)四個(gè)方塊的區(qū)域有小方塊cell在則游戲結(jié)束)private boolean gameOver() gameOver = wall03!=null|wall04!=null;return gameOver;/清零游戲結(jié)束現(xiàn)場(停止計(jì)時(shí)器)private void gameOverAction() /停止計(jì)時(shí)器timer.cancel();/以四格方塊為單位左右移動(dòng)的方法:1.遇到左右邊界不能移動(dòng)。2.遇到左右有方塊不能移動(dòng)。/左移的方法private void moveLeftAction() currentTetro.moveLeft();if(outOfBounds()|coincide()currentTetro.moveRight();/判斷四格方塊是否與墻上的方塊重合的方法private boolean coincide() for(Cell cell:currentTetro.cells)int col = cell.getCol();int row = cell.getRow();/System.out.println(col+:+row);if(wallrowcol!= null)return true;return false;/判斷四格方塊是否出邊界的方法 private boolean outOfBounds() for(Cell cell:currentTetro.cells)int col = cell.getCol();if(col=COLS)return true;return false;/右移的方法private void moveRightAction() currentTetro.moveRight();if(outOfBounds()|coincide()currentTetro.moveLeft();/四格方塊加速下落的方法private void hardDownAction() /四格方塊繼續(xù)下落while(canDown()currentTetro.softDown();/著陸到墻上tetrominoLandToWall();/清除滿行并計(jì)分destroy();if(gameOver()gameOverAction();elsenextTetromino();/旋轉(zhuǎn)流程控制private void rotateRightAction() currentTetro.rotateRight();if(outOfBounds()|coincide()currentTetro.rotateLeft();2. 2.2方塊類代碼:package Tetris;/代表游戲中每一個(gè)小格子方塊public class Cell /小方塊在游戲面板中的哪一行private int row;/小方塊在游戲面板中的哪一列private int col;/小方塊的顏色private int color;public Cell(int row, int col, int color)this.row = row;this.col = col;this.color = color;public int getRow() return row;public void setRow(int row) this.row = row;public int getCol() return col;public void setCol(int col) this.col = col;public int getColor() return color;public void setColor(int color) this.color = color;/小方塊向下移動(dòng)public void down() row+;/小方塊向左移動(dòng)public void left() col-;/小方塊向右移動(dòng)public void right() col+;2.2.3七種方塊旋轉(zhuǎn)屬性定義類 代碼:package Tetris;import java.util.Random;/四個(gè)方塊類,有7種子類:I T S Z J L Opublic abstract class Tetromino /每一種四個(gè)方塊都有自己的顏色public static final int I_COLOR =0xff9988;public static final int T_COLOR =0x44ff88;public static final int S_COLOR =0x704077;public static final int Z_COLOR =0xccee00;public static final int J_COLOR =0xff1144;public static final int L_COLOR =0x1122ff;public static final int O_COLOR =0x6642bb;/四個(gè)方塊有四個(gè)小方塊(Cell)組成protected Cellcells = new Cell4;/每一種四格方塊都有旋轉(zhuǎn)狀態(tài)(旋轉(zhuǎn)方式)protected Offset states;/定義成員內(nèi)部類protected class Offsetint row0,col0;int row1,col1;int row2,col2;int row3,col3;public Offset(int row0,int col0, int row1,int col1, int row2,int col2, int row3,int col3)this.row0 = row0;this.col0 = col0;this.row1 = row1;this.col1 = col1;this.row2 = row2;this.col2 = col2;this.row3 = row3;this.col3 = col3;/隨機(jī)生成一個(gè)具體的四格方塊public static Tetromino randomTetromino()Random random = new Random();/int type = random.nextInt(7);switch(type)case 0:return new I();case 1:return new T();case 2:return new J();case 3:return new O();case 4:return new S();case 5:return new L();case 6:return new Z();return null;/四格方塊的下落,是四個(gè)小方塊一起下落public void softDown() for(int i=0;icells.length;i+)cellsi.down();public void moveLeft() for(int i=0;icells.length;i+)cellsi.left();public void moveRight() for(int i=0;icells.length;i+)cellsi.right();/四格方塊旋轉(zhuǎn)標(biāo)記private int index = 9999;/向右旋轉(zhuǎn)public void rotateRight() index+;Offset offset = statesindex%states.length;Cell axis = cells0;cells1.setRow(axis.getRow()+offset.row1);cells1.setCol(axis.getCol()+offset.col1);cells2.setRow(axis.getRow()+offset.row2);cells2.setCol(axis.getCol()+offset.col2);cells3.setRow(axis.getRow()+offset.row3);cells3.setCol(axis.getCol()+offset.col3);/向左旋轉(zhuǎn)public void rotateLeft() index-;Offset offset = statesindex%states.length;Cell axis = cells0;cells1.setRow(axis.getRow()+offset.row1);cells1.setCol(axis.getCol()+offset.col1);cells2.setRow(axis.getRow()+offset.row2);cells2.setCol(axis.getCol()+offset.col2);cells3.setRow(axis.getRow()+offset.row3);cells3.setCol(axis.getCol()+offset.col3);/I形的四格方塊class I extends Tetrominopublic I()/I形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,I_COLOR);cells1 = new Cell(0,3,I_COLOR);cells2 = new Cell(0,5,I_COLOR);cells3 = new Cell(0,6,I_COLOR);/I形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,-1,0,1,0,2,0),new Offset(0,0,0,-1,0,1,0,2);/T形的四格方塊class T extends Tetrominopublic T()/T形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,T_COLOR);cells1 = new Cell(0,3,T_COLOR);cells2 = new Cell(0,5,T_COLOR);cells3 = new Cell(1,4,T_COLOR);/T形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,1,0,-1,0,0,-1),new Offset(0,0,0,1,0,-1,-1,0),new Offset(0,0,-1,0,1,0,0,1),new Offset(0,0,0,-1,0,1,1,0);/S形的四格方塊class S extends Tetrominopublic S()/S形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,S_COLOR);cells1 = new Cell(1,3,S_COLOR);cells2 = new Cell(0,5,S_COLOR);cells3 = new Cell(1,4,S_COLOR);/S形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,1,0,-1,-1,0,-1),new Offset(0,0,0,1,1,-1,1,0);/J形的四格方塊class J extends Tetrominopublic J()/J形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,J_COLOR);cells1 = new Cell(0,3,J_COLOR);cells2 = new Cell(0,5,J_COLOR);cells3 = new Cell(1,5,J_COLOR);/J形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,-1,0,1,0,1,-1),new Offset(0,0,0,1,0,-1,-1,-1),new Offset(0,0,-1,0,1,0,-1,1),new Offset(0,0,0,-1,0,1,1,1);/L形的四格方塊class L extends Tetrominopublic L()/L形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,L_COLOR);cells1 = new Cell(0,3,L_COLOR);cells2 = new Cell(0,5,L_COLOR);cells3 = new Cell(1,3,L_COLOR);/L形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,-1,0,1,0,-1,-1),new Offset(0,0,0,1,0,-1,-1,1),new Offset(0,0,1,0,-1,0,1,1),new Offset(0,0,0,-1,0,1,1,-1);/Z形的四格方塊class Z extends Tetrominopublic Z()/Z形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,Z_COLOR);cells1 = new Cell(0,3,Z_COLOR);cells2 = new Cell(1,4,Z_COLOR);cells3 = new Cell(1,5,Z_COLOR);/Z形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,-1,0,0,-1,1,-1),new Offset(0,0,0,-1,1,0,1,1);/O形的四格方塊class O extends Tetrominopublic O()/O形的四格方塊在游戲面板中的初始位置與顏色cells0 = new Cell(0,4,O_COLOR);cells1 = new Cell(0,5,O_COLOR);cells2 = new Cell(1,4,O_COLOR);cells3 = new Cell(1,5,O_COLOR);/O形四格方塊的旋轉(zhuǎn)狀態(tài)states = new Offsetnew Offset(0,0,0,1,1,0,1,1);第3章 調(diào)試分析與測試結(jié)果3.1 游戲運(yùn)行界面3.2 測試項(xiàng)目3.2.1 功能區(qū)按鍵測試測試結(jié)果:開始:游戲自動(dòng)開始,方塊下落;暫停:P鍵游戲暫停;繼續(xù):C鍵游戲繼續(xù);重來:S鍵重新開始退出:游戲退出;(注:游戲在輸入法英文狀態(tài)下才可運(yùn)行)3.2.2 鍵盤功能測試測試結(jié)果:方向鍵“”:旋轉(zhuǎn)方塊;方向鍵“”:使方塊加速下落;方向鍵“”:使方塊左移;方向鍵“”:使方塊右移。空格鍵“space”:方塊立即下落. 3.2.3 游戲結(jié)束測試第4章 設(shè)計(jì)總結(jié)4.1 改進(jìn)意見本程序中還存在一些不足之處,例如:1進(jìn)一步地功能擴(kuò)展,如添加音效等;2美化玩家進(jìn)入游戲的界面; 3對(duì)軟件進(jìn)行進(jìn)一步更詳細(xì)的測試,以保證軟件的可用性和適應(yīng)性;4 利用internet 進(jìn)行用戶意見的收集,以加強(qiáng)對(duì)軟件的及時(shí)更新;5 當(dāng)游戲結(jié)束時(shí),最頂上的方塊會(huì)出現(xiàn)一些小問題,需要改進(jìn)。4.2 Java課程設(shè)計(jì)心得體會(huì)通過短短的一周的時(shí)間,我們從一個(gè)對(duì)JAVA編程懵懂的學(xué)生到現(xiàn)在可以試著用JAVA進(jìn)行簡單程序的設(shè)計(jì)與編寫,雖然在實(shí)驗(yàn)過程中,我們遇到了許多的困難,特別是因?yàn)榇蠖鄶?shù)的同學(xué)還不太適應(yīng)面向?qū)ο蟮木幊田L(fēng)格和思想,看待問題時(shí)總是想到用什么結(jié)構(gòu)來實(shí)現(xiàn)該功能,而沒有將問題看成一個(gè)封裝的整體來考慮,所以在這次課程設(shè)計(jì)中我們接觸、體驗(yàn)了面向?qū)ο笤O(shè)計(jì),使得思維在向面過程向面向?qū)ο筮^度。而且,在這個(gè)過程中,我們還學(xué)到了彼此之間怎么去配合,我們一致認(rèn)為同伴之間的合作是最重要的。在程序的設(shè)計(jì)中,我們彼此之間在設(shè)計(jì)的選擇中發(fā)生了很多的分歧,但是通過大家的討論協(xié)商,都達(dá)到了一個(gè)共識(shí),最后大家共同努力完成了這次設(shè)計(jì)實(shí)驗(yàn)。所以,首先,在這里,感謝朱林老師在這周來的教導(dǎo),以及感謝小組同學(xué)在這段時(shí)間里的幫助,因?yàn)橛心銈?,才使我們這次課程設(shè)計(jì)能夠預(yù)期完成老師布置的任務(wù)。其次,因?yàn)檫@次的學(xué)習(xí),使我們對(duì)JAVA面向?qū)ο蟮木幊逃辛松钜徊降牧私?,因?yàn)檫@次的課程設(shè)計(jì),使我在今后的工作和學(xué)習(xí)中,都有了很到的啟發(fā)。我想,這對(duì)于我們都是個(gè)很好的經(jīng)驗(yàn),因?yàn)閳F(tuán)隊(duì)合作是一種很必要的能力,每個(gè)人的能力都是有局限的,沒有人能只憑借自己一個(gè)人的能力就把一件事情做好,只有通過團(tuán)隊(duì)中每個(gè)成員的努力,發(fā)揮自身的長處,取長補(bǔ)短,最后才能將其做到最好。在這次課程設(shè)計(jì)實(shí)驗(yàn)中,我們學(xué)到的所有東西都將讓我們獲益良多,不管是對(duì)于以后的學(xué)習(xí)還是工作、生活。19- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
32 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 課程設(shè)計(jì) 報(bào)告 俄羅斯方塊
鏈接地址:http://www.szxfmmzy.com/p-1546665.html