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

文章搜索
本类热门

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

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

百特科技[http://www.PCbyte.cn]专业的空间、主机提供商,域名注册绝对优惠!
c[0]--;//向左移动一下
setRange();//设置光标移动的区域,该函数能将光标移动到地图主位置
repaint();//重新绘图
  }
}else {//已经选定了要移动的区域
  if (this.loc[0] - 1 >= 0) {//向左还有移动空间
this.loc[0]--;//向左移动一下
if (setMoveRange()) {//能够移动,该函数能够设置要移动到的区域
  repaint();//重新绘图
}else {//不能移动
  this.loc[0]++;//退回来
}
  }
}
break;
  case Canvas.RIGHT://向右
if (!this.selected) {//还没有选定要移动的区域
    if (this.loc[0] + 1 < Images.WIDTH) {//向右还有移动空间
if (this.MyMap.Grid[this.loc[1]][this.loc[0] + 1] ==
    Images.DLEFT) {//该图片有两个格宽
this.loc[0]++;//向右移动一下
if (this.loc[0] + 1 < Images.WIDTH) {//向右还有
                    <A href="file://移">file://移</A>动空间
    this.loc[0]++;//向右移动一下
  setRange();//设置光标移动的区域,
    <A href="file://该">file://该</A>函数能将光标移动到地图主位置
  repaint();//重新绘图
}else {//向右没有移动空间
  this.loc[0]--;//退回来
}
}else {//该图片只有一个格宽
this.loc[0]++;//向右移动一下
setRange();//设置光标移动的区域,
      <A href="file://该">file://该</A>函数能将光标移动到地图主位置
repaint();//重新绘图
}
  }else {
    }
}else {//已经选定了要移动的区域
  if (this.loc[0] + 1 < Images.WIDTH) {//向右还有移动空间
this.loc[0]++;//向右移动一下
if (setMoveRange()) {//能够移动,该函数能够设置要移动到的区域
  repaint();//重新绘图
}else {//不能移动
  this.loc[0]--;//退回来
}
  }
}
break;
  case Canvas.FIRE:
if (this.selected) {//已经选定了要移动的区域
    Move();//将要移动的区域移动到刚选中的区域
  repaint();//重新绘图
  this.selected = false;//清除已选定要移动区域的标志
            if ( win()) {
System.out.println("win");
  }
}else {//还没有选定要移动的区域
  if (this.MyMap.Grid[this.loc[1]][this.loc[0]] ==
Images.BLANK) {//要移到的位置是一个空白
  }else {//要移到的位置不是空白
this.selected = true;//设置已选定要移动区域的标志
  }
            repaint();//重新绘图
          }
break;
}
  }

  private boolean win(){
    <A href="file://判">file://判</A>断是否已经救出了曹操
if ( this.MyMap.Grid[Images.HEIGHT - 2 ][Images.WIDTH - 3 ] == Images.CAOCAO )
        return true;
    else
        return false;
  }

  private void PrintGrid(String a) {
    <A href="file://打">file://打</A>印当前地图的内容,用于调试
System.out.println(a);
for (int i = 0; i < Images.HEIGHT; i++) {
  for (int j = 0; j < Images.WIDTH; j++) {
System.out.print( (char)this.MyMap.Grid[j]);
  }
  System.out.println("");
}
  }

  private void Move() {
    <A href="file://将">file://将</A>要移动的区域移动到刚选中的区域
if (this.MoveArea[0] == -1 || this.MoveArea[1] == -1 ||
    this.SelectArea[0] == -1 || this.SelectArea[1] == -1) {//没有选中区域
}else {//已经选中了要移动的区域和要移动到的区域
  byte[][] temp = new byte[this.SelectArea[3]][this.SelectArea[2]];
    <A href="file://复">file://复</A>制要移动的区域,因为这块区域可能会被覆盖掉
  for (int i = 0; i < this.SelectArea[2]; i++) {
for (int j = 0; j < this.SelectArea[3]; j++) {
    temp[j] =
this.MyMap.Grid[this.SelectArea[1] +j]
[this.SelectArea[0] + i];
}
  }
  <A href="file://PrintGrid">file://PrintGrid</A>("1"); // 调试信息
  <A href="file://将">file://将</A>要移动的区域移动到刚选中的区域(即要移动到的区域)
  for (int i = 0; i < this.SelectArea[2]; i++) {
for (int j = 0; j < this.SelectArea[3]; j++) {

此新闻共有8页 上一页 1 2 3 4 5 6 7 8 下一页

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