欢迎来到天天文库
浏览记录
ID:49196409
大小:123.50 KB
页数:26页
时间:2020-03-01
《【精品】J2ME连连看基础功能源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、〃界面类代码importjavax.microedition.Icdui.Canvas;importjavax.microedition.Icdui.Graphics;*连连看游戏界面*/publicclassLinkCanvasextendsCanvasimplementsRunnable{/…游戏逻辑类rGameEngineengine;/I屏幕宽度绘制方法*/protectedvoidpaint(Graphicsg){/intwidth;/…屏幕高度*/intheight;publicLinkCanvas(){〃创建对象en
2、gine=newGameEngine();//获得屏幕的高度和宽度width=getWidth();height=getHeight();〃启动线程Threadt=newThread(this);t.start();}〃清屏clearScreen(g);〃绘制地图engine.paintMap(g);〃绘制选择框engine.paintSelectArea(g);〃绘制连线engine.paintLinkLine(g);}/**"清屏方法*@paramg训笔*/privatevoidclearScreen(Graphicsg){g
3、.setColor(Oxffffff);g.fillRect(O,0,width,height);g.setColor(O);}publicvoidkeyPressed(intkeyCode){intaction=getGameAction(keyCode);switch(action){caseUP:engine.moveUP();break;caseDOWN:engine.moveDown();break;caseLEFT:engine.moveLeft();break;caseRIGHT:engine.moveRight()
4、;break;caseFIRE:engine.fire();//选择块break;}}publicvoidrun(){try{while(true){〃延时Thread.sleep(100);//每次判断逻辑engine.action();repaint();}}catch(Exceptione){e.printStackTrace();}}}//逻辑类源代码importjava.util.*;importjavax.microedition.ledui.*;*游戏数据和逻辑类publicclassGameEngine{/i选屮块
5、的个数*/privateintselectTileNum=0;//第一个选择块的行号和列号/i行号*/privateintfirstRow;/八列号*/privateintfirstCol;〃第二个选择块的行号和列号/**tf号*/privateintsecondRow;/—列号*/privateintsecondCol;//当前选择框,默认在左上角厂*当前选择框的行号*/privateintcRow;/…当前选择框的列号”/privateintcCol;/_最大行数*/privatefinalintMAX_ROW=10;/…最大
6、列数"/privatefinalintMAX_COL=10;/i地图数据,0代表空,数据1-10分别代表十种不同的结构*/privateint[][]map=newint[MAX_ROW][MAX_COL];privateRandomran=newRandom();//地图区域左上角的坐标privatefinalintLEFTX=20;privatefinalintLEFTY=50;/"毎个单元格的宽度hprivatefinalintTlLE_WIDTH=20;/_毎个单元格的高度*/privatefinalintTlLE_HEI
7、GHT=20;/i连线类型rprivateintlinkType;/_无法连线rprivatefinalintNO_LINK=0;/—水平连线*/privatefinalintH_LINK=1;/_垂直联系*/privatefinalintV_LINK=2;/**-个拐点•先移动xrprivatefinalprivatefinalintONE_CORNER_FIRSTX=3;先移动y*/intONE_CORNER_FIRSTY=4;/i两个拐点,privatefinalintTWO_CORNER=5;标两次拐弯的行号和列号*数据格
8、式为:*/int[]p=newint[4];publicGameEngine(){〃初始化地图数据initMapO;}*初始化地图数据*/privatevoidinitMap(){for(introw=0;row
此文档下载收益归作者所有