华容道游戏j2me实现(5).htm
来自「这是很好的J2ME实例教程,很适合初学者!」· HTM 代码 · 共 565 行 · 第 1/3 页
HTM
565 行
{//向右没有移动空间<BR>this.loc[0]--;//退回来<BR>}<BR>}else
{//该图片只有一个格宽<BR>this.loc[0]++;//向右移动一下<BR>setRange();//设置光标移动的区域,<BR><A
href="file://该">file://该</A>函数能将光标移动到地图主位置<BR>repaint();//重新绘图<BR>}<BR>}else
{<BR>}<BR>}else {//已经选定了要移动的区域<BR>if (this.loc[0] + 1 <
Images.WIDTH) {//向右还有移动空间<BR>this.loc[0]++;//向右移动一下<BR>if
(setMoveRange()) {//能够移动,该函数能够设置要移动到的区域<BR>repaint();//重新绘图<BR>}else
{//不能移动<BR>this.loc[0]--;//退回来<BR>}<BR>}<BR>}<BR>break;<BR>case
Canvas.FIRE:<BR>if (this.selected)
{//已经选定了要移动的区域<BR>Move();//将要移动的区域移动到刚选中的区域<BR>repaint();//重新绘图<BR>this.selected
= false;//清除已选定要移动区域的标志<BR>if ( win())
{<BR>System.out.println("win");<BR>}<BR>}else {//还没有选定要移动的区域<BR>if
(this.MyMap.Grid[this.loc[1]][this.loc[0]] ==<BR>Images.BLANK)
{//要移到的位置是一个空白<BR>}else {//要移到的位置不是空白<BR>this.selected =
true;//设置已选定要移动区域的标志<BR>}<BR>repaint();//重新绘图<BR>}<BR>break;<BR>}<BR>}</P>
<P>private boolean win(){<BR><A
href="file://判">file://判</A>断是否已经救出了曹操<BR>if (
this.MyMap.Grid[Images.HEIGHT - 2 ][Images.WIDTH - 3 ] ==
Images.CAOCAO )<BR>return true;<BR>else<BR>return false;<BR>}</P>
<P>private void PrintGrid(String a) {<BR><A
href="file://打">file://打</A>印当前地图的内容,用于调试<BR>System.out.println(a);<BR>for
(int i = 0; i < Images.HEIGHT; i++) {<BR>for (int j = 0; j <
Images.WIDTH; j++) {<BR>System.out.print(
(char)this.MyMap.Grid[i][j]);<BR>}<BR>System.out.println("");<BR>}<BR>}</P>
<P>private void Move() {<BR><A
href="file://将">file://将</A>要移动的区域移动到刚选中的区域<BR>if (this.MoveArea[0]
== -1 || this.MoveArea[1] == -1 ||<BR>this.SelectArea[0] == -1 ||
this.SelectArea[1] == -1) {//没有选中区域<BR>}else
{//已经选中了要移动的区域和要移动到的区域<BR>byte[][] temp = new
byte[this.SelectArea[3]][this.SelectArea[2]];<BR><A
href="file://复">file://复</A>制要移动的区域,因为这块区域可能会被覆盖掉<BR>for (int i = 0;
i < this.SelectArea[2]; i++) {<BR>for (int j = 0; j <
this.SelectArea[3]; j++) {<BR>temp[j][i]
=<BR>this.MyMap.Grid[this.SelectArea[1] +j]<BR>[this.SelectArea[0] +
i];<BR>}<BR>}<BR><A
href="file://PrintGrid">file://PrintGrid</A>("1"); // 调试信息<BR><A
href="file://将">file://将</A>要移动的区域移动到刚选中的区域(即要移动到的区域)<BR>for (int i
= 0; i < this.SelectArea[2]; i++) {<BR>for (int j = 0; j <
this.SelectArea[3]; j++) {<BR>this.MyMap.Grid[this.MoveArea[1] +
j]<BR>[this.MoveArea[0] + i] = temp[j][i];<BR>}<BR>}<BR><A
href="file://PrintGrid">file://PrintGrid</A>("2");// 调试信息<BR><A
href="file://将">file://将</A>要移动的区域中无用内容置成空白<BR>for (int i = 0; i <
this.SelectArea[3]; i++) {<BR>for (int j = 0; j <
this.SelectArea[2]; j++) {<BR>if (!isInRange2(this.SelectArea[0] +
j,<BR>this.SelectArea[1] + i)) {//该点是不在要移动到<BR><A
href="file://的">file://的</A>区域之内,需置空<BR>this.MyMap.Grid[this.SelectArea[1]
+ i]<BR>[this.SelectArea[0] + j] = Images.BLANK;<BR>}else
{<BR>}<BR>}<BR>}<BR><A
href="file://PrintGrid">file://PrintGrid</A>("3");//
调试信息<BR>this.SelectArea[0] =
this.MoveArea[0];//重置选中位置的水平坐标<BR>this.SelectArea[1] =
this.MoveArea[1];//重置选中位置的竖直坐标<BR>this.MoveArea[0] =
-1;//清空要移动到的位置<BR>this.MoveArea[1] =
-1;//清空要移动到的位置<BR>this.MoveArea[2] =
0;//清空要移动到的位置<BR>this.MoveArea[3] =
0;//清空要移动到的位置<BR>}<BR>}<BR>}</P></TD></TR></TBODY></TABLE>
<P> 代码的相关分析,在详细设计阶段已经讲过,代码中有比较相近的注释,请读者自行研读分析.将全部的代码写好,用wtk2.0自带的Ktoolbar工具建立一个工程,接下来把去不源文件放到正确位置下,然后点击build,再点run,就完成了程序的编写.当然如果有错误还要修改和调试.</P><BR><BR></DIV></TD></TR>
<TR>
<TD class=center01>
<DIV align=center>来源:天极网 作者:
<DIV></DIV></DIV></TD>
<TD class=center01 width=280>
<DIV align=center><FONT color=#0000ff><A
href="http://act.it.sohu.com/book/chapter.php?id=461&volume=4&chapter=4">上一页</A></FONT>
<FONT color=#0000ff><A
href="http://act.it.sohu.com/book/serialize.php?id=461">回书目</A></FONT>
<FONT color=#0000ff><A
href="http://act.it.sohu.com/book/chapter.php?id=461&volume=4&chapter=6">下一页</A></FONT>
</DIV></TD></TR></TBODY></TABLE>
<TABLE>
<TBODY>
<TR>
<TD width=760>
<TABLE height=10 cellSpacing=0 cellPadding=0 width=760 border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE><!------------ 评论 ---------------->
<TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
<TBODY>
<TR>
<TD><IFRAME id=vs src="华容道游戏J2ME实现(5).files/comment_list1.htm"
frameBorder=0 width="100%"
scrolling=no></IFRAME></TD></TR></TBODY></TABLE><BR>
<SCRIPT language=javascript>function CheckNetwordForm(theForm){ if("" == theForm.content.value) { alert("写两句吧~~"); theForm.content.focus(); return false; } var index; for(index=0;index<theForm.content.value.length;index++) { if(" " != theForm.content.value.charAt(index)) break; } if(index == theForm.content.value.length) { alert("写两句吧~~"); theForm.content.focus(); return false; } if (theForm.content.value.length>100){ alert("评论字数不能超过100哦"); theForm.content.focus(); return false; } return true;}</SCRIPT>
<!------------------ 评论 --------------->
<FORM name=netword onsubmit="javascript: return CheckNetwordForm(this);"
action=insertnetword.php method=post>
<TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
<TBODY>
<TR>
<TD class=text6 height=25> 给此书打分:<A name=1></A> <SELECT
name=score> <OPTION value=5 selected>非常好</OPTION> <OPTION
value=4>还凑合</OPTION> <OPTION value=3>一般吧</OPTION> <OPTION
value=2>不太行</OPTION> <OPTION value=1>太差了</OPTION></SELECT>
用户名: <INPUT id=id type=hidden value=461 name=id> <INPUT type=hidden
value=/book/chapter.php?id=461&volume=4&chapter=5
name=backurl> <INPUT id=username maxLength=20 name=username> <FONT
color=#666666>*评论字数请控制在一百字以内</FONT> </TD></TR></TBODY></TABLE><BR> <TEXTAREA id=description name=content rows=4 wrap=off cols=80></TEXTAREA>
<INPUT type=submit value=提交 name=Submit>
</FORM></TD></TR></TBODY></TABLE></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
<TBODY>
<TR>
<TD width=1003 background=华容道游戏J2ME实现(5).files/t_bj01.gif height=9><IMG
height=1 src="" width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD>
<HR width=760 noShade SIZE=1>
</TD></TR>
<TR>
<TD align=middle><A class=black href="http://www.chinaren.com/"
target=_blank>ChinaRen</A> - <A class=black
href="http://big5.www.sohu.com/" target=_blank>繁体版</A> - <A class=black
href="http://hr.sohu.com/hrm.html" target=_blank>搜狐招聘</A> - <A class=black
href="http://add.sohu.com/" target=_blank>网站登录</A> - <A class=black
href="http://help.sohu.com/" target=_blank>帮助中心</A> - <A class=black
href="http://book.news.sohu.com/onClick=this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.sohu.com');return"
target=_blank false;>设置首页</A> - <A class=black
href="http://adinfo.sohu.com/" target=_blank>广告服务</A> - <A class=black
href="http://www.sohu.com/about/lianxi.htm" target=_blank>联系方式</A> - <A
class=black href="http://www.sohu.com/about/privacy.html"
target=_blank>保护隐私权</A> - <A class=black href="http://www.sohu.com/about/"
target=_blank>About SOHU</A> - <A class=black
href="http://www.sohu.com/about/" target=_blank>公司介绍</A><BR><SPAN
class=eng>Copyright © 2004 Sohu.com Inc. All rights reserved. 搜狐公司
版权所有</SPAN> </TD></TR></TBODY></TABLE></CENTER><!-- START NNR Site Census V5.1 --><!-- COPYRIGHT 2004 Nielsen // Netratings -->
<SCRIPT language=JavaScript type=text/javascript>
<!--
var _rsCI="cn-sohu";
var _rsCG="0";
var _rsDT=0;
var _rsDU=0;
var _rsDO=0;
var _rsX6=0;
var _rsSI=escape(window.location);
var _rsLP=location.protocol.indexOf('https')>-1?'https:':'http:';
var _rsRP=escape(document.referrer);
var _rsND=_rsLP+'//secure-cn.imrworldwide.com/';
if (parseInt(navigator.appVersion)>=4)
{
var _rsRD=(new Date()).getTime();
var _rsSE=1;
var _rsSV="";
var _rsSM=0.01;
_rsCL='<scr'+'ipt language="JavaScript" type="text/javascript" src="'+_rsND+'v51.js"><\/scr'+'ipt>';
}
else
{
_rsCL='<img src="'+_rsND+'cgi-bin/m?ci='+_rsCI+'&cg='+_rsCG+'&si='+_rsSI+'&rp='+_rsRP+'">';
}
document.write(_rsCL);
//-->
</SCRIPT>
<NOSCRIPT><IMG alt="" src="华容道游戏J2ME实现(5).files/m.gif"> </NOSCRIPT><!-- END NNR Site Census V5.1 -->
<SCRIPT language=JavaScript src="华容道游戏J2ME实现(5).files/nnselect.js"></SCRIPT>
<NOSCRIPT><IMG height=1 src="" width=1> </NOSCRIPT></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?