java課程設(shè)計(jì)報(bào)告-俄羅斯方塊_第1頁
java課程設(shè)計(jì)報(bào)告-俄羅斯方塊_第2頁
java課程設(shè)計(jì)報(bào)告-俄羅斯方塊_第3頁
java課程設(shè)計(jì)報(bào)告-俄羅斯方塊_第4頁
java課程設(shè)計(jì)報(bào)告-俄羅斯方塊_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、JAVA程序設(shè)計(jì)課程設(shè)計(jì)之俄羅斯方塊年級:13級班級:T412網(wǎng)絡(luò)工程指導(dǎo)老師:朱林小組成員:20138346021 許浩洋時間: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ì)心得體會 摘要在現(xiàn)代,高科技的飛躍發(fā)展,人們工作習(xí)慣的改變,特別是電腦 的大量普及,人們生活節(jié)奏越來越快,一些有趣的桌面游戲已經(jīng)成為 人們在使用計(jì)

2、算機(jī)進(jìn)行工作或?qū)W習(xí)之余休閑娛樂的首選,而俄羅 斯方塊游戲是人們最熟悉的小游戲之一。俄羅斯方塊(Tetris,俄文: TeTPHC )是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它 由俄羅斯人阿列克謝帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本 規(guī)則是移動、旋轉(zhuǎn)和擺放游戲自動輸岀的各種方塊,使 之排列成完整的一行或多行并且消除得分。由于上手簡單、老少皆 宜,從而家喻戶曉,風(fēng)靡世界。 為此,我們設(shè)計(jì)了一款簡單的俄羅 斯方塊JAVA游戲程序,以便更好的滿足廣大電腦工作者閑暇之余的 消遣,并且也讓我們學(xué)到編程技術(shù)與團(tuán)隊(duì)意識。關(guān)鍵字:俄羅斯方塊、JAVA游戲、編程第一章課程設(shè)計(jì)要求題目名稱:俄羅斯方塊題目

3、類型:設(shè)計(jì)型課程設(shè)計(jì)目的:1)了解JaVa的基本使用方法。192)熟悉eclipse的運(yùn)行環(huán)境。3)用JAVA來設(shè)計(jì)一個俄羅斯方塊的小游戲。4)基本實(shí)現(xiàn)俄羅斯方塊的應(yīng)用功能。實(shí)驗(yàn)原理:JAVA程序分析與設(shè)計(jì)、類的靈活運(yùn)用、多態(tài)技術(shù)、模板技術(shù)、 異常處理等。實(shí)驗(yàn)內(nèi)容:本俄羅斯方塊游戲是對于隨機(jī)給出不同的形狀(長條形、 Z字形、反Z 形、田字形、L字形、反L形、T字型)下落填充給定的區(qū)域,若填滿一條便 消掉,記分。若在游戲中各形狀填滿了給定區(qū)域,為輸者。I第二章設(shè)計(jì)概要2.1 功能設(shè)計(jì)本項(xiàng)目是為了實(shí)現(xiàn)俄羅斯方塊的基本功能而設(shè)計(jì)的,基本能夠達(dá)到俄羅斯 方塊的各種游戲性。項(xiàng)目需求分析如下:1)由方塊組

4、成的不同的隨機(jī)圖形會從區(qū)域上方開始緩慢落下。2)玩家可以做的操作有:以90度為單位旋轉(zhuǎn)方每一格塊。以格子為單位左右移動方塊,讓方塊加速落下。3)方塊移到區(qū)域最下方或是著地到其他方塊上無法移動時,就會固定在該處, 而新的隨機(jī)圖形會出現(xiàn)在區(qū)域上方開始落下。4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會自動消除并成為玩家的 得分。5) 一次性銷毀不同行數(shù)方塊得分不同,一行1分,兩行2分,三行5分,四行10分。6) 當(dāng)固定的方塊堆到區(qū)域最上方,則游戲結(jié)束。2.2 功能分析2.2.1系統(tǒng)操作界面遨俄羅斯方塊2.2.2程序主要功能說明1. 面板畫筆類代碼:PaCkageTetris;import im

5、port import import import importjava.awt.Color; java.awt.Font; java .a wt.Graphics;ja Va awt.eve nt. Ke y Adapte r; ja Va awt.eve nt. Ke yEve nt; java .u til. Arrays;8importja Va .UtiLTime r;importja Va .UtiLTime rTa S k;HnPOrt ja Va x.s wing.J Fra me; import ja Va x.s Wingj Panel;CIaSS TetriSPanele

6、xtends JPane1/游戲主面板20行10列PriVateStatiCfinalintPriVateStatiCfinalint/代表方塊著陸的墻PriVateCellWa 11=PUbIiCROWS= 20;COLS = 10;newCelI ROWS COLS;/定義每一小塊的大小PriVate StatiC final/游戲得分PriVateintSCOre;/游戲銷毀行數(shù)PriVateintIineS;/ 一次性銷毀行數(shù)的計(jì)分標(biāo)準(zhǔn)intCELL_SIZE =25;0行=0分,1行=1分,2行=4分,3行=10分,4行=20分)PriVate StatiC/游戲結(jié)束標(biāo)記PriVat

7、eboolean/游戲暫停標(biāo)記PriVatebooleanfinal int SCORE_LEVEL=0 J ,4 J 0,20;gamever = falsePaUSe =false/正在下落的四格方塊PriVa teTe trominoCUrre ntTe tro/下一個下落的四格方塊PriVa teTe trominonextTe tro/定義游戲定時器PUbliC StatiC JFrame fra me = intWidth =(intheight =PriVate Timer timerVOid main(String args)new JFrame( ”俄羅斯方塊”);COLS+

8、8)* CELL_SlZE +100;ROWS *CELL_SIZE ÷100;frame.setSize(Width, height);EXrr_ON-CLOSE );frame .SetLocationRe la tiveTo(null );fra me.se tDe fa ultC lose Ope ration(J Frame./取消系統(tǒng)默認(rèn)布局 fiame.setLayout(null );Te tris Panel Panel =new TetriSPaneI();PaneLSetLOCatiOn(45, 35);panel,setSize(C0LS+8)* CELL_S

9、lZE , ROWS*CELL_SIZE +1);fra me. add(panel);frame s e t Vis ib Ie (true );PaneLaCtiOn();PUbliC VOid Paint(GraPhiCS g) SUPer Paint(g);/填充背景顏色this PaintBaCkgrOUnd(g);/繪制游戲墻PaintWaI1(g);/繪制分?jǐn)?shù)墻 PaintSCOre(g);/繪制面板邊框Pa intTe tris BOrder(g);/繪制當(dāng)前四格方塊 PaintCUrrentTetr o (g);/繪制下個四格方塊 PaintNe XtTetro(g);/Pr

10、iVateStatiCfinalint/PriVateStatiCfinalint/PriVateStatiCfinalintBG-COLOR = 0xC3D5EA;BORDER_COLOR = 0x667799;FONT_COLOR = OXOOOO00;/繪制背景的方法PUbIiC VOid PaintBaCkgrOUnd(GraPhiCS g) g.setColor( new Color( BG-COLOR); /this.setBackground(new COIOr(BG_COLOR);g.fillRect(0,0,this .getWidth(),this getHe ight()

11、;/繪制游戲墻的方法VOid PaintWalI(GraPhiCS g) row=0;row< col=0;col<WailCELL.PUbIiC for (int for (intCelICeU = int X =col* int y= row*if (Cei1=ROWS;row+)COLS;col+) rowcol;SIZE ;CELL_SlZEnuU )g.setColor( new Color(BORDER_COLOR);g.drawRect(x, y,CELL_SlZE , CELL_SIZE );else g.setColor( new COIOr(CeILgetCol

12、or();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)intx = 12*inty = 6*FOnt font = String msg = g.setColor(CELL_SIZE;CELL_SlZE ;new Font(,楷體,Font. BOLD,23); "分?jǐn)?shù):H + SCOre ;new Color(F

13、ONT_COLOR);g.setFont(fbnt);g.drawString(msg, x, y);y+=2* CELL_SIZE ; msg ="行數(shù):"+lines9g.drawString(msg, x, y);if (gamever )msg= ,(T.T)【S】再來“; y+=2* CELL_SlZE ;X-= CELLSIZE ;g.drawString(msg, x, y); else if ( PaUSe ) msg= ” C繼續(xù)”; y+=2* CELL_SlZE ;g.drawString(msg, x, y); else msg= , P暫?!?;y&

14、#247;=2* CELL_SiZE ;g.drawString(msg, x, y);1/繪制面板邊框的方法PUbliC VOid PaintTetriSBOrder(GraPhiCS g)g.setColor( new Color(BORDER_COLOR);*R0WS);g.drawRect(O, O,CELL_SiZE *( C0LS+8)-l,CELL_SlZE/繪制當(dāng)前四格方塊的方法PUbliC VOid PaintCUrrentTetro( GraPhiCS g)if ( CUrrentTetrO = null )/如果沒有四格方塊,則返回不繪畫re turn ;for (Cei

15、l cell:CUrrentTetrO.CelIS )0;6int row = CeILgetROW(); int COl = cell.getCol();int X = col*CELL_SlZEint y = row* g.setColor( g.fillRect(x, y, g.setColor(CELL_SlZE;new Color(cell.getColor();CELL_SlZE , CELL_SlZE );new Color(BORDER_COLOR);g.drawRect(x, y,CELL_SiZE , CELL_SIZE );/繪制下個四格方塊的方法PUbliC VOid

16、PaintNeXtTetro( GraPhiCS g) if ( neXtTetro = null )/如果沒有四格方塊,則返回不繪畫return ;1for (Cell Ce止nextTetro . CellS )int row = CelLgetROW();int COl = cell.getCol();int X = (col+9)*CELL_SIZE;int y = (row+l)*CELL_SlZE;g.setColor(new COIOr(Cell.getColor();g.fillRect(x, y,CELL_SiZE , CELL_SlZE );g.setColor( new

17、Color(BORDER_COLOR);g.drawRect(x, y,CELL_SlZE , CELL_SlZE );/讓四格方塊動起來的方法PUbliC VOidaction() StartGaIneACtiOn19/請求此容器獲取輸入焦點(diǎn)this .requestFocus();this addKeyListener(new KeyAdaPter()PUbliC VOid keyPressed(KeyEvent e) int key= e.getKeyCode();if (gamever )if (key=KeyEvent. VK-S ) StartGaIneACtiOn();re tu

18、rn ;if (PaUSe )if (key=KeyEvent. VK-C )COntinUeACtiOn();return ;VK_D0WN:VK-LEFT:VK-RIGHT :VK_UP :VK_SPACE:VK_P :SWitCh (key) CaSe KeyEVe nt. SOftDOWnACtiOn(); break ;CaSe KeyEVe nt. InOVeLeftACtiOn(); break ;CaSe KeyEVe nt. InOVe RightACtiOn(); break ;CaSe KeyEVe nt. rotate RightAction(); break ;CaS

19、e KeyEVe nt. hardDownAction(); break ;CaSe KeyEVe nt. PaUSeACtiOn(); break ; repaint();/暫停游戲的方法PriVate VOid PaUSeACtiOno PaUSe = true ;timer CanCeI();1/繼續(xù)游戲的方法PriVate VOid COntinUeACtiOno PaUSe = false ;timer = new Timer();timer .SChedUle( new TimerTaSkO PUbIiC VOid run() SOftDOWnACtiOn();repaint();

20、, 500, 500);1);/在游戲開始時調(diào)用或者【S按下時調(diào)用16PUbliC VOidS ta rtG a m e Ac t io n () gamever = false ;PaUSe = false ;SCOre = O;IineS = O;/清空游戲主而板empty Wa 11();/生成下一個四格方塊ne xtTetromino();/生成定時器對象timer = new Timer();/啟動定時器工作timer .SChedUle( new TimerTaSko PUbliC VOid run() /調(diào)用而板的四格方塊下落方法(自由下落) SoftDownActionO;/重

21、畫面板repaint();, 500, 500);/清空游戲主面板方法PUbliC VO id e In P tyW a 11() for (int row =0;row< ROWS ;row+)/wallrow這行全部用null表不ArrayS fill(WaIl row,null);/生成(隨機(jī))下一個四格方塊,1.下一個變成當(dāng)前的。2.隨機(jī)生成下一個。PUbIiCVOid nextTetromino()(if ( neXtTetro= null )/第一次ncxtTcho是null時就隨機(jī)生成一個ne XtTetro = Te tromin o.randomTetromino();

22、/下一個四格方塊立即變成當(dāng)前四格方塊CUrrentTetrO= ne XtTetro ;ne XtTetro= TetrOmin o.randomTetromino ();)/四格方塊下落流程,方塊移動到區(qū)域最下方或者移動到其他方塊上則固定在此處。/而新的四個方塊則會出現(xiàn)在區(qū)域上方并開始下落且隨機(jī)生成下一個四格方塊PUbIiCVOid SOftDOWnACtiOn()if (CanDOWn()/如果能下落則繼續(xù)下落CUrrentTetrO SOftDOWn (); else /不能下落則著陸到墻上tetrominoLandToWall();/每一個四格方塊著陸清除滿行且計(jì)分de stroy()

23、;/每一個四格方塊著陸需要檢測游戲是否結(jié)束if (gameOver()/如果游戲結(jié)束game Ove rAction(); else /隨機(jī)生成下一個四格方塊ne xtTetromino();/檢查方塊是否能夠繼續(xù)下落(落到最底部或者墻上的下方有方塊) PriVate boolean CanDOWnO /檢查是否到底部CUrrentTetrOROWS-I).CeiISCell CenS =for (Cell CC 止CeIIS) if (ceU.getRow()= re turn false ;/檢查次四格方塊下方是否有方塊for (CelI Ce止CelIS)int row = cell.g

24、e tRow();int COl = cell.getCol();Cell block =WaIl row+lcol;if (block!= null )re turn false ;return true/方塊“著陸”到墻上,取出每個小方塊找到對應(yīng)的行號 row和列號coL,將Ceil 小方塊放 到對應(yīng)的wallrowcol 位置上PriVateVOid tetrominoLandToWall() Cell CelIS =CUrrentTe tro CelIS;for (Cell Ce止Cells)int row = CelLgetROW();int COI = cell.ge tCol()

25、;/將CeIl小方塊放到對應(yīng)的wallrowcol 位置上Wa 11 rowcol=ce 11;/銷毀滿行的方法PriVate VOid destroy() /統(tǒng)計(jì)本次銷毀的行數(shù)int IineS =O;for (int row =O ;row<RoWSHOW+)/判斷此行是否是滿行if (fullCells(row)/清除此行ClearLine (row);/每清除一行就累計(jì)加一lines+;/整個游戲而板每一行判斷之后要記錄銷毀行數(shù)與計(jì)分SCOre += SCORE_LEVEL lines;this 1 ines+= lines;/判斷某一行是否填滿Cell 小方塊PriVate b

26、oolean fullCells(int row) Cellline =Wa Il row;for (int i=0; i<line.Iength ;i+)if (Iine i=null )/只要慈航有一個位置沒有Cen ,就不是滿行return false ;return true/清除此行的方法,方法:(依次將此行的上一行復(fù)制到下一行,第一行全部用PriVate VOidCIearLine(int row) /循環(huán)將游戲面板中的每一行復(fù)制到下一行for ( int i=row; i>=l ;i)/wallrow = Arrays.copyf(wallrow-1 , COLS);

27、System, arraycopy (Wall row-1, 0,Wall row, 0,COLS);1/第一行全部用null填充ArrayS fill (Wail 0, null );null填充)/檢查游戲是否結(jié)束(思路:游戲主而板中第一行出現(xiàn)四個方塊的區(qū)域有小方塊Cell戲結(jié)束)PriVateboolean gameOver() gamever = Wa 1103!=null Il Wall 04!=null ;returngamever ;/清零游戲結(jié)束現(xiàn)場(停止計(jì)時器)PrivateVOid gameOverAction() /停止計(jì)時器timer . CanCeI();/以四格方塊

28、為單位左右移動的方法:1.遇到左右邊界不能移動。2.遇到左右有方塊不能移動。在則游/左移的方法PrivateVOid mOVeLeftAction() CUrrentTetrO.m OVeLeft();if (OUtOfBOUndSoIlCOinCide() CUrrentTetrO.m OveRight();/判斷四格方塊是否與墻上的方塊重合的方法PriVate boolean COinCideO for (Cell Ce 止CUrrentTetrO.cells )int COl = cell.getCol();int row = CelLgetROW();/Sys tern.out.pri

29、ntln(col+,f:H+row);if (Wa 11 rowcol!=null )return true ;return false ;18/判斷四格方塊是否出邊界的方法PriVate boolean OUtOfBOUndSo for (Cell Ce止CUrrentTetro . CeilS )int COl = cell.getCol();if (col<0llcol>=COLS)return true ;return false ;/右移的方法PriVate VOidmove RightACtiOnO CUrrentTetrO.m OVeRight();if (OUtOf

30、BOUndSoIlCOinCide()CUrrentTetrO.m OVeLeft();/四格方塊加速下落的方法PriVate VOid hardDownActionO /四格方塊繼續(xù)下落WhiIe (CanDOWn()CUrrentTetrO SOftDOWn ();/著陸到墻上tetrominoLandToWall();/清除滿行并計(jì)分de stroy();if(gameOver() gameOverAction(); else ne xtTetromino();/旋轉(zhuǎn)流程控制Private VOid rotateRightActionO CUrrentTetrO.rotateRight(

31、);if (OUtOfBOUndSoIlCOinCide()CUrre ntTe tro.rota te Le ft();2.2.2方塊類代碼:PaCkage Tetris;/代表游戲中每一個小格子方塊PUbIiC CIaSS Ceil /小方塊在游戲而板中的哪一行PriVateintrow ;/小方塊在游戲而板中的哪一列PriVateintCOl ;1119/小方塊的顏色PriVate int COIOr29PUbliC Ce 11( int row,int col, int COIOr)thisthisthis.row = row; COl = col; COIOr = color;PUb

32、liCint getRow() returnrow;PUbliCVOid SetROw(int row) this row = row;1PUbIiCint getCol() returnCOl ;PUbliCVOid SetCO1(int COI) this COl = col;1PUbliCint getColor() re turnCOIOr ;PUbliCVOid SetCOIor(int COIOr) this COIOr = color;/小方塊向下移動PUbliC VOid down() row +;/小方塊向左移動PUbliC VOid Iefto COl 一;/小方塊向右移動

33、PUbliC VOid right() COl +;2.2.3七種方塊旋轉(zhuǎn)屬性定義類代碼:PaCkage Tetris;import java.UtiLRandoin;/四個方塊類,有7種子類:ITSZJLOPUbliC abstract ClaSS TetrOminO PUbIiCStatiCfinalintPUbliCStatiCfinalintPUbliCStatiCfinalint/每一種四個方塊都有自己的顏色LCOLOR =OXfi9988;T_COLOR =0x44ff88;S _COLOR =0x704077;PUbliCStatiCfinalintZ_COLOR =OXCCee

34、00;PUbliCStatiCfinalintJ _COLOR =OXffll 44;PUbliCStatiCfinalintL_COLOR =Oxl 122ff;PUbIiCStatiCfinalint0_COLOR =0x6642bb;/四個方塊有四個小方塊(Cell)組成PrOteCtedCeCenS=new Cell4;/每一種四格方塊都有旋轉(zhuǎn)狀態(tài)(旋轉(zhuǎn)方式) PrOteCtedOffcetStateS;/定義成員內(nèi)部類PrOteCted CIaSS OffSetintrowO,COIO ;introwl,COll;introw2,col2;introw3,col3 ;PUbliCOf

35、fSe t(introwO,intcolO,int rowl,intcoll,introw2,intcol2,introw3,intco!3)this rowO=rowO;this.COIO=colO;this rowl=rowl;this.COll=COlI;this row2=row2;this.col2=col2;this row3=row3;this col3=col3;/隨機(jī)生成一個具體的四格方塊PUbliC StatiC Tetronino randomTetromino() RandOm random = new RandOm();/ int type = random.next

36、lnt(7);SWitCh(type)CaSeO:returnnew 1();CaSe1:re turnnew T();CaSe2:re turnnew J();CaSe3:re turnnew 0();CaSe4:returnnew S();CaSe5:re turnnew L();CaSe6:re turnInew Z();/re turnnull ;PUbIiCVOidSOftDOWnO (for (int i=0;i<CenS Iength ;i+)CenSi.down();/四格方塊的下落,是四個小方塊一起下落moveLeft() PUbliCVOidfor (int i=0;

37、i< CelIS i.left();CelIS Iength;i+);i+)PUbliC VOid moveRight() for (int i=0;i< CelIS Iength CelIS i.right();/四格方塊旋轉(zhuǎn)標(biāo)記PriVateint index = 9999;/向右旋轉(zhuǎn)PUbliC VOid index ÷+;OffSet OffSet =Cell axis =rotateRight() StateSCenS0;index %statesCelIS1.Se tRow(a XiS .ge tRow()+offs e t.CeliS1 J.setCol(a

38、xis.getCol()+offset.CelIS2.Se tRow(a xis.ge tRow()+offs e t.CelIS2.SetCOI(axis.getCol()+offset.CeliS3.Se tRow(a XiS .ge tRo w()+offs e t.CelIS3 .SetCOI(axis.getCoI()+offset PUbliC VOid index 一; OffSet OffSet =th ngt b/向左旋轉(zhuǎn)rotateLeft() StateS index %statesCell axis =CellS 0;CelIS1.Se tRow(a xis.ge tR

39、ov()+offs e t.CeliS1 .setCol(axis.getCol()+offset.CelIS2.Se tRow(a xis.ge tRow()+offs e t.CelIS2.SetCOI(axis.getCol()+offset.CeIlS3.Se tRow(a XiS .ge tRow()+offs e t.CelIS3 .SetCOI(a xis.ge tCol()+offset.12Col13Col, x , , , , J )/ 17 17 )/ J/I 形的四格方塊CIaSS I extendsTetrOminoPUbliC 1() /I形的四格方塊在游戲而板中的

40、初始位置與顏色CeIlS0=CelIS1=CeIIS2=CelIS31=new CelI(0,4, new CeiI(0,3, new CelI(0,5, new CelI(0,6,LCOLOR );LCOLOR );LCOLOR );LCOLOR );/I形四格方塊的旋轉(zhuǎn)狀態(tài)StateS =new OffSetnew OffSet(0,0,-1,0,1,0,2,0), new Offcet(0,0,0,-1,0,1,0,2)1/形的四格方塊CIaSS T extends Te trominoPUbliC T()IrX 形的四格方塊在游戲面板中的初始位置與顏色CelIS0 =new Cen(O

41、4,T_COLOR );CelISI =new CelI(0,3,T_COLOR );CelISP =new CelI(0,5,T_COLOR );CelIS3 =new CelI(1,4,T_COLOR );/ 形四格方塊的旋轉(zhuǎn)狀態(tài)StateS =new Offcet(new Offcet(0,0,1,0,-1,0,0,-1), new OffSet(0,0,0,1,0,-1,-1,0), new Offcet(0,0,-1,0,1,0,0,1), new OffSet(0,0,0,-1,0,1,1,0)/S 形的四格方塊CIaSS S extends Te trominoPUbIiC S(

42、)/S形的四格方塊在游戲而板中的初始位置與顏色CelIS0 =new CelI(0,4,S_COLOR);CelIS1 =new CelI(1,3,S _COLOR);CelIS2 =new CelI(0,5,S _COLOR);CelIS3 =new CelI(1,4,S _COLOR);/S形四格方塊的旋轉(zhuǎn)狀態(tài) StateS = new OffSet new Offcet(0,0,1,0,-1,-1,0,-1), new OffSet(0,0,0,1J,-1J ,0)/J 形的四格方塊CIaSS J extends Te trominoPUbIiC J()/J形的四格方塊在游戲而板中的初始

43、位置與顏色CelISO =new CelI(0,4,J_COLOR );CelISI =new Cell(0,3,J_COLOR );CelIS2 =new CelI(0,5,J_COLOR );CellS3 =new CelI(1,5,J_COLOR );/J 形四格方塊的旋轉(zhuǎn)狀態(tài) StateS = new Offcet new Offcet(0,0,-1,0,1,0,1,-1), new Offcet(0,0,0,1,0,-1,-1 ,-1), new OffSet(0,0,-1,0,1,0,-1,1), new Offcet(0,0,0,-1,0,1,1,1)/L 形的四格方塊CIaSS

44、 L extends TetrOminoPUbliC L()/L形的四格方塊在游戲而板中的初始位置與顏色CelIS0 =new CelI(0,4,L_COLOR );CelISI=new CeIl(0,3,L_COLOR );CelIS2 =new Ce 11(0,5,L_COLOR );CeliS3 =new CeII(1,3,L_COLOR );/L形四格方塊的旋轉(zhuǎn)狀態(tài)StateS = new Offcet new OffSet(0,0,-1,0,1,0,-1 ,-1), new Offcet(0,0,0,1,0,-1 ,-1,1), new Offcet(0,0,1,0,-1,0,1,1), new OffSet(0,0,0,-1,0,1,1,-1)/Z形的四格方塊CIaSS Z extends Te trominoPUbIiC Z()/Z 形的四格方塊在游戲而板中的初始位置與顏色CelIS0 =

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論