快速业务通道

J2ME连连看基础功能源代码(含详细注释) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
   /**连线类型*/    private int linkType;    /**无法连线*/    private final int NO_LINK = 0;    /**水平连线*/    private final int H_LINK = 1;    /**垂直联系*/    private final int V_LINK = 2;    /**一个拐点,先移动x*/    private final int ONE_CORNER_FIRSTX = 3;    /**一个拐点,先移动y*/    private final int ONE_CORNER_FIRSTY = 4;    /**两个拐点,待完善*/    private final int TWO_CORNER = 5;    /**    * 两次拐弯的行号和列号    * 数据格式为:    *  第一个拐点的行号,第一个拐点的列号,第二个拐点的行号,第二个拐点的列号    */    int[] p = new int[4];    public GameEngine(){      //初始化地图数据      initMap();    }    /**    * 初始化地图数据    */    private void initMap(){      for(int row = 0;row < map.length;row++){        for(int col = 0;col < map[row].length;col++){          map[row][col] = row + 1;        }      }      //循环打乱10次      int tempRow;      int tempCol;      int temp;      for(int i = 0;i < 10;i++){        for(int row = 0;row < map.length;row++){          for(int col = 0;col < map[row].length;col++){            //随机行号            tempRow = Math.abs(ran.nextInt() % 10);            //随机列号            tempCol = Math.abs(ran.nextInt() % 10);            //如果不是同一个单元格,则交换数据            if(!((tempRow == row) && (tempCol == col))){              temp = map[row][col];              map[row][col] = map[tempRow][tempCol];              map[tempRow][tempCol] = temp;            }          }        }      }    }    /**    * 绘制地图数据    * @param g 画笔    */    public void paintMap(Graphics g){      for(int row = 0;row < map.length;row++){        for(int col = 0;col < map[row].length;col++){          //如果没有数据,则跳过          if(map[row][col] == 0){            continue;          }else{//绘制方块            //绘制方框            g.drawRect(LEFTX + col * TILE_WIDTH, LEFTY + row * TILE_HEIGHT, TILE_WIDTH, TILE_HEIGHT);            //绘制数字            g.drawString(String.valueOf(map[row][col]), LEFTX + col * TILE_WIDTH + 5,                LEFTY + row * TILE_HEIGHT + 4,                Graphics.TOP | Graphics.LEFT);          }        }      }    }    /**    * 绘制选择框    * @param g 画笔    */    public void paintSelectArea(Graphics g){      //绘制当前选择框      g.setColor(0xff00);      g.drawRect(LEFTX + cCol * TILE_WIDTH, LEFTY + cRow * TILE_HEIGHT, TILE_WIDTH, TILE_HEIGHT);      g.setColor(0);      //绘制选中项      switch(selectTileNum){      case 1: //选择一个        g.setColor(0xff0000);        g.drawRect(LEFTX + firstCol * TILE_WIDTH, LEFTY + first

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号