设为首页
收藏本站
最近更新

文章搜索
本类热门

首页 >> 网络编程 >> JSP >> JSP实例 >> 新闻正文 [字体: ] [打印文档]
J2ME再现华容道

文章作者:
责任编辑:admin 录入时间:2005-10-25 16:18:41 来源:
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意.

百特科技[http://www.PCbyte.cn]专业的空间、主机提供商,域名注册绝对优惠!
ents CommandListener {

  private int[] loc = new int[2]; <A href="file://光">file://光</A>标的当前位置,0是水平位置,1是竖直位置
  private int[] SelectArea = new int[4];//被选定的区域,即要移动的区域
  private int[] MoveArea = new int[4];//要移动到的区域
  private Map MyMap = new Map();//地图类
  private boolean selected;//是否已经选中要移动区域的标志
  private int level;//但前的关面
  public Displayable1() {//构造函数
try {
  jbInit();//JBuilder定义的初始化函数
}catch (Exception e) {
  e.printStackTrace();
}
  }
  private void Init_game(){
//初始化游戏,读取地图,设置选择区域,清空要移动到的区域
this.loc = MyMap.read_map(this.level);//读取地图文件,并返回光标的初始位置
//0为水平位置,1为竖直位置
this.SelectArea[0] = this.loc[0];//初始化选中的区域
    this.SelectArea[1] = this.loc[1];
    this.SelectArea[2] = 1;
    this.SelectArea[3] = 1;
    this.MoveArea[0] = -1;//初始化要移动到的区域
    this.MoveArea[1] = -1;
    this.MoveArea[2] = 0;
    this.MoveArea[3] = 0;
}
  private void jbInit() throws Exception {//JBuilder定义的初始化函数
    <A href="file://初">file://初</A>始化实例变量
    this.selected = false;//设置没有被选中的要移动区域
this.level = 1;
    Images.init();//初始化图片常量
Init_game();//初始化游戏,读取地图,设置选择区域,清空要移动到的区域
setCommandListener(this);//添加命令监听,这是Displayable的实例方法
addCommand(new Command("Exit", Command.EXIT, 1));//添加“退出”按钮
  }

  public void commandAction(Command command, Displayable displayable) {
//命令处理函数
if (command.getCommandType() == Command.EXIT) {//处理“退出”
  MIDlet1.quitApp();
}
  }

  protected void paint(Graphics g) {
//画图函数,用于绘制用户画面,即显示图片,勾画选中区域和要移动到的区域
try {
  g.drawImage(Images.image_Frame, 0, 0,
Graphics.TOP | Graphics.LEFT);//画背景
        MyMap.draw_map(g);//按照地图内容画图
  if ( this.selected )
g.setColor(0,255,0);//如果被选中,改用绿色画出被选中的区域
  g.drawRect(this.SelectArea[0] * Images.UNIT + Images.LEFT,
          this.SelectArea[1] * Images.UNIT + Images.TOP,
    this.SelectArea[2] * Images.UNIT,
    this.SelectArea[3] * Images.UNIT);//画出选择区域,
                                <A href="file://如">file://如</A>果被选中,就用绿色
                                      <A href="file://否">file://否</A>则,使用黑色
        g.setColor(255,255,255);//恢复画笔颜色
  if (this.selected) {//已经选中了要移动的区域
g.setColor(255, 0, 255);//改用红色
g.drawRect(this.MoveArea[0] * Images.UNIT + Images.LEFT,
  this.MoveArea[1] * Images.UNIT + Images.TOP,
  this.MoveArea[2] * Images.UNIT,
  this.MoveArea[3] * Images.UNIT);//画出要移动到的区域
        g.setColor(255, 255, 255);//恢复画笔颜色
  }
}catch (Exception ex) {
}
System.out.println(Runtime.getRuntime().freeMemory());
System.out.println(Runtime.getRuntime().totalMemory());
  }

  private void setRange() {
//设置移动后能够选中的区域
//调整当前光标位置到地图的主位置,即记录人物信息的位置
if (this.MyMap.Grid[this.loc[1]][this.loc[0]] == Images.DLEFT) {
  this.loc[0] -= 1;//向左调
}else if (this.MyMap.Grid[this.loc[1]][this.loc[0]] == Images.DUP) {
  this.loc[1] -= 1;//向上调
}else if (this.MyMap.Grid[this.loc[1]][this.loc[0]] == Images.DLEFTUP) {
  this.loc[0] -= 1;//向左调
  this.loc[1] -= 1;//向上调
}
this.SelectArea[0] = this.loc[0];//设置光标的水平位置此新闻共有8页 上一页 1 2 3 4 5 6 7 8 下一页

推荐好友 | 频道收藏 | 打印文档 | 报告错误  
相关连接
·J2ME再现华容道
同一专题
·无相关专题
发表评论 版权声明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有
转载
要求转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
共有评论查看评论
姓名: