欢迎来到天天文库
浏览记录
ID:55535282
大小:54.00 KB
页数:28页
时间:2020-05-16
《连连看J2ME源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、连连看J2ME源代码2008-12-30 作者: 编辑:齐瑞瑞 点击进入论坛关键词:连连看 J2ME J2ME连连看源代码(含详细注释) //界面类代码 importjavax.microedition.lcdui.Canvas; importjavax.microedition.lcdui.Graphics; /** *连连看游戏界面 */ publicclassLinkCanvasextendsCanvasimplementsRunnable{ /**游戏逻辑类*/ GameEngineengine; /**屏
2、幕宽度*/ intwidth; /**屏幕高度*/ intheight; publicLinkCanvas(){ //创建对象 engine=newGameEngine(); //获得屏幕的高度和宽度 width=getWidth(); height=getHeight(); //启动线程 Threadt=newThread(this); t.start(); } /** *绘制方法 */ protectedvoidpaint(Graphicsg){ //清屏 clearScreen(g); //绘制地图 engi
3、ne.paintMap(g); //绘制选择框 engine.paintSelectArea(g); //绘制连线 engine.paintLinkLine(g); } /** *清屏方法 *@paramg画笔 */ privatevoidclearScreen(Graphicsg){ g.setColor(0xffffff); g.fillRect(0,0,width,height); g.setColor(0); } publicvoidkeyPressed(intkeyCode){ intaction=getGameA
4、ction(keyCode); switch(action){ caseUP: engine.moveUP(); break; caseDOWN: engine.moveDown(); break; caseLEFT: engine.moveLeft(); break; caseRIGHT: engine.moveRight(); break; caseFIRE: engine.fire();//选择块 break; } } publicvoidrun(){ try{ while(true){ //延时 Thr
5、ead.sleep(100); //每次判断逻辑 engine.action(); repaint(); } }catch(Exceptione){ e.printStackTrace(); } } } //逻辑类源代码 importjava.util.*; importjavax.microedition.lcdui.*; /** *游戏数据和逻辑类 */ publicclassGameEngine{ /**选中块的个数*/ privateintselectTileNum=0; //第一个选择块的行号和列号 /**
6、行号*/ privateintfirstRow; /**列号*/ privateintfirstCol; //第二个选择块的行号和列号 /**行号*/ privateintsecondRow; /**列号*/ privateintsecondCol; //当前选择框,默认在左上角 /**当前选择框的行号*/ privateintcRow; /**当前选择框的列号*/ privateintcCol; /**最大行数*/ privatefinalintMAX_ROW=10; /**最大列数*/ privatefinalintM
7、AX_COL=10; /**地图数据,0代表空,数据1-10分别代表十种不同的结构*/ privateint[][]map=newint[MAX_ROW][MAX_COL]; /**随机数对象*/ privateRandomran=newRandom(); //地图区域左上角的坐标 privatefinalintLEFTX=20; privatefinalintLEFTY=50; /**每个单元格的宽度*/ privatefinalintTILE_WIDTH=20; /**每个单元格的高度*/ privatefinalintTILE_
8、HEIGHT=20; /**连线类型*/ privateint
此文档下载收益归作者所有