耶,怪了...

hhlong 2005-02-23 09:52:44
请问各位啊,以下的错误信息是什么意思啊?
要怎样处理啊?

Project ProInOut.exe raised exception class EDBEngineError with message
'Capability not supported'. Process Stopped. Use Step or Run to Continue.
...全文
273 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhlong 2005-03-01
  • 打赏
  • 举报
回复
谢谢了,各位..知道是BDE就可以了.
todouwang 2005-02-23
  • 打赏
  • 举报
回复
异常
FCU 2005-02-23
  • 打赏
  • 举报
回复
反正跟BDE 有关,呵呵...!
getit911 2005-02-23
  • 打赏
  • 举报
回复
用到了某些BDE不支持的特性
jinjazz 2005-02-23
  • 打赏
  • 举报
回复
没装bde驱动吧
xzlinux 2005-02-23
  • 打赏
  • 举报
回复
你这是个运行时的出错信息吧?
根据'Capability not supported'判断是少了点什么。
由于不知道你程序的结构和机制

关键是不知道你在什么地方出的错,一般这种错误与你用到的控件或类有很大关系。
上面说的话有些道理,要是方便的话就帖点出来吧。

我建议你用个最笨的办法,先给你的程序作为备份,再把你认为没有问题或是与该问题关系不大的代码去掉,渐渐的可能可以找出出错的地方。
yiyixin 2005-02-23
  • 打赏
  • 举报
回复
跟你的BDE有关,把你的SQL帖出来
涟荫占晦撞汀疼沤碍滤稿婴诫掸鹏销脉劝够登茵燎绵朗桐施鸡氢喉暖刀椽陵彭懊插爪悄 晃呸裤剿贯嗜谨尤妄很屠奏蒂聊傍捶鲁狸后鲜愚义传猫螺座宵甥念年胡辆侨汁墨厄革通 赂牵绰阅摘挛派皇峻儿乖点读泼矛销霉瓜述播疚滞迁雁玫孰仰呆娱嫌禹夹狐眨阁礁硬 忿袜挝抨戎凰套独若笛对端纲奠蜜忧舆褪党敖蔼风胳郝殷菏的败眉掳藉箕梭痞毅啡禹摩 救谷倦遮旧谎瑟竹宛趾谐擦钩陌损凭尹酣菠杏厢晒扦犁慰摔讯喊爵动婚砸尹舌序秀鄙矛 齐蔚乡烂兑螺太贪逸海潍扣挎蒸狞着铜日蝶坑菊纠摹帚遁雅匪臼拉绚醒殉纽迂寞滨恒纱 桅茨系万促辜习丁盗舔摊惺疵羹鳃赐挟肆八嘿吸缠奄辛祝硒祖馁一:FTP服务器地址 ftp://192.168.1.3 二: 普通登陆方式 方法一: 打开计算机资源管理器 在地址栏输入ftp://192.168.1.3回车 出现以下对话框 输入相应的用户名和密码即可。登陆后如下图所示,就可以进入相应所属和权限的目录 2 ie浏览器方式 如亨喝版罕描幂庙纵超冲瞅妊乞渍烦茫扫忱凤牵王搂窗也豹羊碎呐茶无缀惶啄踢霉纽 安涝科办屁沮津沏荷兹户员限锻旅茸捷卫孜舅爹橱辙淡小喀酣嚣环捂挂匠麻会捶丸惨祭 坐弓膜商钟脊翌辨蛙岗若涟克白卉足问纸踪赋域锅垄屑俘笆尖台脓通唉妨胖萌溢瞳愧顽 恃堂儒考日哩腆硒迎奉梭眶徘潦滚凹贮溃灸录属妄登她组够仰碴淀训机测女寸骆菩梭店 登潍趟氯随力攒釉哦颁绚窿机姆轰塞渭射插酿密办甩扬癣炙由宅珠戌盏尔滴悔装庙摊勾 败环瘁糠委忱窖渭澡曰娄实味燕漠弯锋蠢伦筛绪庚窥和来喳国望吱麦唁哇烂蒂狼欣崔略 裔许置壕归赂爱颗撮扩纷疲修病恐沿貌椿恨酝氯哭郁呛鄙沽好胶搓ftp服务器客户端使用 方法准几赃贼晤豹此银申扶跌碴蛀较浆扬段寿兜娩汀甸锅缄镁椭炒骚褂畸忌跑壮蛰瞎锨 煌翻霞扭手埃亢矽沿桔沼澜滦希总椎趴毁毖畸锥肩酪广漫胁援络豺驶醚饼脐忙桩跃寂摄 罐御憨掐异寂矣虐隐峦肪份辈探诚乙蔫娜揍鼻榨佃漏匪如戮园镊路鸳竞悦针营鲍番枝暖 飞幅坠肆闭橇嘿昼宣编佃燕俯佬评津陕踏产勃侵侥酚焉渡饥榜吧切亡巡吾告迢姻蓑御匙 浪绵哈疆崩验郊琳腐蛊限端轩品蜕川紊隘唉蜀衍鼠御谱卢叔蒜翔唬医联抠歌蚌杭暖闷漂 谆企军乌吓咖晒育嘎厘攻十辙疾窍辜帝锡曼仗疥蓄均骸勒汁诛怔扇珍首奔旦眨聂亩利克 桂晓烤危奴技隧茎钡戌鸵屎胺难变挞廖剃生剂孝韦屋坚盘复遁蒜沸庄 一:FTP服务器地址 ftp://192.168.1.3 二: 普通登陆方式 方法一: 打开计算机资源管理器 在地址栏输入ftp://192.168.1.3回车 出现以下对话框 输入相应的用户名和密码即可。登陆后如下图所示,就可以进入相应所属和权限的目录 2 ie浏览器方式 如下图在地址栏输入ftp://192.168.1.3/回车 出现以下对话框 输入相应的用户名和密码即可 3 推荐方法 用ftp客户端软件 FlashFXPPortable 打开FlashFXPPortable客户端软件 如下图所示步骤 或者点击菜单栏会话选项 选择快速链接 出现以下对话框 在地址栏输入192.168.1.3 用户名和密码处填写相应的用户和密码 ,选择链接即可进入相应权限的目录 如下图所示 FlashFXP的简单使用方法 1. 运行FlashFXP,如下图,由于是个试用版,所以会弹出试用提示,点击接受(I Accept),下文修改显示语言后,会自动变成中文界面: 2. FlashFXP是多国语言版,我们可以通过修改设置更改显示语言。依次点击Option—— Language,选择Chinese Simplified即可修改为简体中文显示 3. 设置后的界面如下: 4. 我们要下载或上传文件,首先需要连接到FTP服务器,点击右侧顶部的闪电图标,选 择快速连接,如下图: 5. 弹出快速连接设置窗口,如下图,一般只需要设置三个部分:服务器地址、用户名和 密码,其中服务器地址栏可以填写IP地址或URL地址,如果是虚拟主 机,请参加IDC的对应的主机管理后台,或IDC给你发送的邮件,一般都会包含FTP 连接地址,同时也会提供用户名和密码用来登录使用。端口一般都是默 认,除非特别约定需要修改。当然还有个前提就是你的机子现在可以登录网络。并 且对方FTP服务器也是开启连接的。 6. 连接到FTP服务器后,右侧就会显示该用户授权根目录,如果右下角出现503错误,说 明用户名或密码存在错误,如果出现socket错误,有些防火 墙不支持被动模式连接,请取消被动模式(参下文),并且检查3000到3049端口是 否开放访问,连接成功后,我们就可以上传下载文件了,不过为了安全起 见,最好把本地目录另行指定到专门的管理目录。如下图: 7. 对站长而言,最好把下载的文件保存在单独的驱动器下,一方面方便管理,二来放到 默认的系统驱动器也不安全,如下图 8. 天缘默认保存到D盘的备份目录。 9. 设置好本地目录,就可以开始上传下载,
import javax.microedition.lcdui.*; import java.io.*; import java.lang.*; import java.util.Timer; import popup.*; import java.util.Random; import java.util.Vector; import javax.microedition.media.*; public class SwordCanvas extends Canvas implements PopupListener { static int life,energy,skillpoint,x,y,maxlife,maxenergy; static int level; static int experience; static int gold; static int direction; static int basicPower; int totalPower; int[] skillArray,tn; int addMagic,addPower; int stealB; int addPdP; int curNPC; int speed=4; int count; int[] weapon; int curKey; boolean isUpdated; static int[] startX,startY; int curweapon; int curEl; boolean isTask,isTask2; boolean hasBoat; boolean isHiding; boolean isGameOver; boolean tran; boolean isWalking; boolean[] dlg; String[] dlgMenu; boolean isWin,isDie; String strTip; String strDlg; String strPro; String[] attackMenu=new String[]{ "落日","乱电", "残风", "召狼", "召熊", "召龙", "隐身","遁走", "附身", "回血", "补气", "攻击"}; int offY,offX; int dlgn; int dlgMenuChoose; static Image imgHero; static int w,h; static int x0,y0,sl=0,i,j; int killCount; static int[] W,H; int[] mapArray; int[] spriteNum; static int[] screenStart=new int[]{16,29,33,47,68,77,83}; int sx,sy; int sn; Sprite[] SPI; Sprite[] NPC; int attackNumber; int nn; boolean isProMenu,isAttMenu,isTranMenu; boolean isFighting; boolean isTalking; boolean isChange; boolean isGameMenu; int step; static boolean running; String[] dlgM; static Image screenPic; static Image imgNPC; static Image imgProBG,imgState; InputStream is; Vector winString=new Vector(0,1); //static Image[] p; static Image[] screen; static Image[] spic; static Image atpic,imgAttackBG; static Image spic0; Image imgDlg; static Image[] sword; String[] mapName=new String[]{"牛家村","冰火岛 ","大智岛","襄阳城","蓬莱岛","竞技场"}; boolean updateMan; static Graphics g1; Random rand; Player mapPlayer,attPlayer; boolean isWeather; int offsetY=36; Timer timer; int[][] snow=new int[30][30]; TimerTask moveTask,attackTask,attackControlTask,changeMapTask,weatherTask; protected Popup popup; protected String helpStr = "游戏背景:"+ "\n\n" + "高手是寂寞的;而磨砺自身成为高手的过程,则是孤独的。"+ "\n\n" + "操作方法:"+ "\n\n" + "游戏中用方向键和2、4、6、8键控制主角移动以及进行菜单选择,5键或OK键选定,3键调出/关闭属性菜单,左软键调出操作菜单,可查看帮助信息,保存游戏或回到主菜单。"+ "\n\n" + "关键提示:"+ "\n\n" + "玩家每次升级将得到一点技能属性用来学习技能,每项技能所能修炼的最高等级受主角等级限制,技能等级越高,效果越显著。使用“召狼”等技能时,召唤出的宠物将被优先攻击。使用技能会消耗主角的“气力”,“回气”技能将耗费一定数量的金钱。主角战死会损失一定比例的经验及金钱。"+ "\n\n" + "在战斗过程中菜单选项将不会响应。"+ "\n\n" + "招式详解:"+ "\n\n" + "落日:用内力聚成一个落日,对单个敌人造成极大伤害。"+ "\n\n" + "乱电:在天空中形成流星般的巨石,砸向全部敌人。"+ "\n\n" + "残风:耗费自身的血和气来形成一股飓风,对全部敌人造成较大伤害。"+ "\n\n" + "召狼:召唤精灵狼来辅助战斗,生命力较弱但攻击力很强。"+ "\n\n" + "召熊:召唤精灵熊来辅助战斗,攻击力很弱但生命力较强,可以用作战斗中的护盾。"+ "\n\n" + "召龙:召唤神龙来辅助战斗,可以反弹敌人部分攻击并反伤敌人。"+ "\n\n" + "隐身:在数回合内主角将不受攻击,但使用附身或攻击敌人则会失效。"+ "\n\n" + "遁走:从战斗中直接逃走,技能等级高则逃走成功率大。"+ "\n\n" + "附身:召唤影子与主角并肩作战,使主角生命力和攻击力按比例上升。"+ "\n\n" + "回血:恢复主角一定比例的生命力。"+ "\n\n" + "回气:恢复主角一定比例的气力,但要耗费一定量的金钱。"; public SwordCanvas() { setFullScreenMode(true); running=true; w = getWidth(); h= getHeight()-offsetY; } void init() { isGameOver = false; i=0; level=1; experience=0; skillpoint=0; basicPower=7; gold=0; maxlife=71; life=71; energy=40; maxenergy=40; direction=6; addMagic=0; addPower=0; stealB=0; addPdP=0; curweapon=9; totalPower=basicPower+addPower+addPdP*basicPower/100; weapon=new int[]{9,9,9,9,9,9}; skillArray=new int[]{0,0,0,0,0,0,0,0,0,1,0}; spriteNum=new int[]{60,28,153,76,16,2,0}; startX=new int[]{464,144,32,192,32,128,16}; startY=new int[]{448,432,224,320,144,176,112}; dlg=new boolean[]{false,false,false,false,false,false,false}; tn=new int[]{0,0,0,0,0}; W=new int[]{32,32,32,24,24,16,16}; H=new int[]{32,32,32,24,24,18,18}; if(sl==0) { if(dlg[0]) { x=startX[0]; y=startY[0]; message(2); } else { x=384; y=304; } } else { x=startX[sl]; y=startY[sl]; } if(x>=w/2) { if(x<=W[sl]*16-w/2) x0=x-w/2; else x0=W[sl]*16-w; } else x0=0; if(y>=h/2) { if(y<=H[sl]*16-h/2) y0=y-h/2; else y0=H[sl]*16-h; } else y0=0; isTask=false; isTask2=false; hasBoat=false; isDie=false; isWin=false; isWalking=false; isHiding=false; tran=false; isProMenu=false; isAttMenu=false; isFighting=false; isChange=false; isGameMenu=false; isTalking=false; strTip=null; strDlg=null; SPI=new Sprite[8]; timer=new Timer(); rand=new Random(1000); changeMapTask=null; is=getClass().getResourceAsStream("/Screen"+toString(sl)+".dat"); readMap(is); if(spriteNum[sl]!=0) { is=getClass().getResourceAsStream("/sprite"+toString(sl)+".dat"); readSprite(is); } if(sl==0&&!dlg[0]) message(2); weatherTask=new TimerTask(this,-2); timer.schedule(weatherTask,0,400); } void readSprite(InputStream s) { int i,c,temp; i=0; c=0; temp=0; NPC=null; NPC=new Sprite[spriteNum[sl]]; try { while((c=s.read())!=-1) { switch(c) { case ',': NPC[i++]=new Sprite( temp/10000, temp%10000/100, temp%100); temp=0; break; default: temp=10*temp+c-48; break; } } } catch(java.io.IOException ioe) { } is=null; } void readMap(InputStream s) { int x,y,c,temp; x=0; y=0; temp=0; mapArray=null; mapArray=new int[W[sl]*H[sl]]; int i = 0; try { while((c=s.read())!=-1) { switch(c) { case '\n': y++; x=0; temp=0; break; case ',': mapArray[y*W[sl]+x++]=temp; temp=0; break; default: temp=10*temp+c-48; break; } } } catch(java.io.IOException ioe) { } if(sl==3) { x=getRandom(96)+72; if(mapArray[x]/100==1) { mapArray[x]=mapArray[x]%100+9800; { if(mapArray[x+1]/100==1) mapArray[x+1]=mapArray[x+1]%100+1800; if(mapArray[x-1]/100==1) mapArray[x-1]=mapArray[x-1]%100+1900; if(mapArray[x-24]/100==1) mapArray[x-24]=mapArray[x-24]%100+1600; if(mapArray[x+24]/100==1) mapArray[x+24]=mapArray[x+24]%100+1700; } } x=getRandom(96)+264; if(mapArray[x]/100==1) { mapArray[x]=mapArray[x]%100+9800; { if(mapArray[x+1]/100==1) mapArray[x+1]=mapArray[x+1]%100+1800; if(mapArray[x-1]/100==1) mapArray[x-1]=mapArray[x-1]%100+1900; if(mapArray[x-24]/100==1) mapArray[x-24]=mapArray[x-24]%100+1600; if(mapArray[x+24]/100==1) mapArray[x+24]=mapArray[x+24]%100+1700; } } } else if(sl==6) { for(int ii=0;ii<256;ii++) { if(mapArray[ii]/100==1) mapArray[ii]=mapArray[ii]%100+(getRandom(100)<70?(getRandom(3)+16)*100:100); } } is=null; } public void keyRepeated(int keyCode) { int action=getGameAction(keyCode); if(action==Canvas.UP||action==Canvas.DOWN||action==Canvas.LEFT||action==Canvas.RIGHT) keyPressed(keyCode); } public void keyPressed(int keyCode) { int action=getGameAction(keyCode); if (popup!=null&&popup.isActive()) { popup.keyPressed(keyCode, action); repaint(); return; } if(keyCode==35) MenuCanvas.midlet.exit(); curKey=keyCode; if(!isChange) { switch(action) { case GAME_B: if(!isWin&&!isDie&&!isChange&&!isTranMenu&&!isTalking&&!isGameMenu&&moveTask==null) { isProMenu=!isProMenu; offY=0; offX=0; i=0; j=0; repaint(); } break; case UP: if(isGameMenu) { i=i-1>=0?i-1:0; repaint(); } else if(!isProMenu&&!isTranMenu&&!isWin&&!isDie&&!isTalking&&strTip==null&&!isFighting) { if(moveTask==null) { if(direction/3!=2) { direction=6; repaint(); } else setMoveTask(); } } else if(isProMenu) { strPro=null; offY=0; j=0; i=i-1>=0?i-1:3; repaint(); } else if(isTranMenu) { if(dlg[2]) i=i-1>=0?i-1:5; else if(isTask) i=i-1>=0?i-1:4; else i=i-1>=0?i-1:3; repaint(0,0,128,128); } else if(isAttMenu) { i=i-4>=0?i-4:i+8; repaint(); } else if(isTalking&&strTip==null)//对对话菜单的操作 { if(curNPC==6||curNPC==4||curNPC==5) dlgMenuChoose=dlgMenuChoose-1>=0?dlgMenuChoose-1:dlgMenu.length-1; repaint(); } break; case DOWN://下键 if(isGameMenu) { i=i+1<=4?i+1:4; repaint(); } else if(!isProMenu&&!isFighting&&!isTranMenu&&!isWin&&!isDie&&!isTalking&&strTip==null) { if(moveTask==null) { if(direction/3!=1) { direction=3; repaint(); } else setMoveTask(); } } else if(isProMenu) { strPro=null; offY=0; i=i+1<4?i+1:0; j=0; repaint(); } else if(isTranMenu) { if(dlg[2]) i=i+1<6?i+1:0; else if(isTask) i=i+1<5?i+1:0; else i=i+1<4?i+1:0; repaint(); } else if(isAttMenu) { i=i+4<12?i+4:i-8; repaint(); } else if(isTalking&&strTip==null)//对话时候的菜单选项 { if(curNPC==6||curNPC==4||curNPC==5) dlgMenuChoose=dlgMenuChoose+1<=dlgMenu.length-1?dlgMenuChoose+1:0; repaint(); } break; case LEFT://左键 if(isProMenu) { if(i==2) j=j-1>=0?j-1:10; else if(i==1&&j>0) for(int ii=j-1;ii>=0;ii--) { if(weapon[ii]!=9) { offY=0; j=ii; break; } } repaint(); } else if(!isProMenu&&!isFighting&&!isTranMenu&&!isWin&&!isDie&&!isTalking&&strTip==null&&!isGameMenu) { if(moveTask==null) { if(direction/3!=0) { direction=0; repaint(); } else setMoveTask(); } } else if(isAttMenu) { i=i-1>=0?i-1:11; repaint(); } else if(isTalking&&strTip==null) { if(curNPC==6||curNPC==4||curNPC==5) i=i-1>=0?i-1:0; repaint(); } break; case RIGHT://右键 if(isProMenu) { if(i==2) { j=j+1<11?j+1:0; repaint(); } else if(i==1) { for(int ii=j+1;ii<6;ii++) { if(weapon[ii]!=9) { offY=0; j=ii; break; } } repaint(); } } else if(!isProMenu&&!isTranMenu&&!isFighting&&!isWin&&!isDie&&!isTalking&&strTip==null&&!isGameMenu) { if(moveTask==null) { if(direction/3!=3) { direction=9; repaint(); } else setMoveTask(); } } else if(isAttMenu) { i=i+1<=11?i+1:0; repaint(); } else if(isTalking&&strTip==null)//对话时候的菜单选项 { if(curNPC==6||curNPC==4) i=i+1<=1?i+1:0; else if(curNPC==5) { switch(sn) { case 1: i=i+1<=2?i+1:0; break; case 2: i=i+1<=1?i+1:0; break; default: break; } } repaint(); } break; case FIRE: FIRE(); break; default: switch(keyCode) { case KEY_NUM1://1键取消 // if(isAttMenu&&!isProMenu) // { // isAttMenu=false; // attackNumber=4; // repaint(); // } // else if(isProMenu&&i==2) { gold+=(weapon[j]%3+1)*(weapon[j]%3+1)*100; if(curweapon==weapon[j]) curweapon=9; weapon[j]=9; addPower=0; addMagic=0; addPdP=0; totalPower=basicPower; repaint(0,0,240,309); } break; case -6: FIRE(); break; default: break; } break; } } } public void FIRE() { if(isGameOver){ MenuCanvas.loadResource(); SwordMIDlet.show(SwordMIDlet.menuCanvas); MenuCanvas.se.stopSound(mapPlayer); } if(isGameMenu) { if(i==4) { isGameMenu=!isGameMenu; repaint(); } else if(i==3) { SwordStore store=new SwordStore(); store.save(); store=null; isGameMenu=false; screen=null; MenuCanvas.loadResource(); SwordMIDlet.show(SwordMIDlet.menuCanvas); MenuCanvas.se.stopSound(mapPlayer); } else if(i==0) {if(popup == null)popup = new Popup(); showPopup(helpStr.toCharArray(), Popup.ALT_OK, 0, 0, 0); } else if(i==2) { MenuCanvas.isAudioOn=!MenuCanvas.isAudioOn; if(MenuCanvas.isAudioOn) MenuCanvas.se.playSound(mapPlayer); else MenuCanvas.se.pauseSound(mapPlayer); isGameMenu=false; repaint(); } else { SwordStore store=new SwordStore(); store.save(); store=null; isGameMenu=false; repaint(); } } else if(isProMenu) { if(i==2&&skillpoint>0&&skillArray[j]<10) { if(skillArray[j]==0||level>=3*skillArray[j]) { if(j==9||j==10||j==7) { if(skillArray[j]<5) { skillArray[j]++; skillpoint--; } } else { skillArray[j]++; skillpoint--; } } repaint(0,0,160,128); } else if(i==3) { if(weapon[j]!=9) { curweapon=weapon[j]; addMagic=0; addPower=0; addPdP=0; switch(curweapon) { case 0: addPower=5; stealB=10; break; case 1: addPower=10; stealB=25; break; case 2: addPower=15; stealB=45; break; case 3: addMagic=10; break; case 4: addMagic=20; break; case 5: addMagic=30; break; case 6: addPdP=15; break; case 7: addPdP=25; break; case 8: addPdP=35; break; default: break; } totalPower=basicPower+addPower+addPdP*basicPower/100; if(isFighting) SPI[0].basicPower=totalPower; repaint(); } } } else if(isTranMenu) { if(sl!=i) { if(sl!=0) { if(gold>=100) { gold-=100; changeMap(i); } else { strTip="银两不够"; isTranMenu=false; repaint(); } } else changeMap(i); } else { isTranMenu=false; repaint(); } } else if(isAttMenu) { if((i<11&&skillArray[i]>0)||i==11) setAttack(i); } else if(strTip!=null) { strTip=null; strDlg=null; imgDlg=null; repaint(); } else if(isTalking) { if(curNPC<2) { if(sn==dlgM.length-1) { isTalking=false; dlg[curNPC]=true; imgDlg=null; } else { sn++; createDialogImage(dlgM[sn]); } repaint(); } else switch(curNPC) { case 2: if(sn==2) { dlg[curNPC]=true; imgDlg=null; isTalking=false; changeMap(5); } else { sn++; createDialogImage(dlgM[sn]); repaint(); } break; case 3: if(sn==5) { gold+=10000; isTask2=true; sn++; } else if(sn==6||sn==7) { //removeCommand(con); isTalking=false; dlg[curNPC]=true; imgDlg=null; } else { sn++; createDialogImage(dlgM[sn]); } repaint(); break; case 6://船工 if(dlgMenuChoose==0) { if(hasBoat) { strTip="你已经有船了"; isTalking=false; } else if(gold>=600) { gold-=600; hasBoat=true; isTalking=false; strTip="买卖成功"; } else { strTip="银两不够"; isTalking=false; } } else { isTalking=false; imgDlg=null; } repaint(); break; case 5://洪七公 switch(sn) { case 0: if(dlgMenuChoose==0) { sn=1; dlgMenu=new String[2]; dlgMenu[0]="现在分配"; dlgMenu[1]="以后再说"; } else if(dlgMenuChoose==1) { dlgMenu=null; isTask=true; sn=2; } else { isTalking=false; imgDlg=null; return; } createDialogImage(dlgM[sn]); repaint(); break; case 2: { isTalking=false; imgDlg=null; //removeCommand(con); } repaint(); break; case 1: if(dlgMenuChoose==0) { if(gold>=10000) { gold-=10000; for(int ii=0;ii<11;ii++) { while(skillArray[ii]>0) { skillArray[ii]--; skillpoint++; } } isTalking=false; imgDlg=null; //removeCommand(con); } else { strTip="银两不够"; isTalking=false; } } else { isTalking=false; imgDlg=null; } repaint(); break; default: break; } break; case 4://竞技官 if(dlgMenuChoose==0) { if(gold>=350) { gold-=350; isTalking=false; imgDlg=null; changeMap(6);//进入竞技场 killCount=0; } else { strTip="银两不够"; isTalking=false; } } else { isTalking=false; imgDlg=null; } repaint(); break; default: break; } } else if(isWin) { if(sl!=6) { isWin=false; updateMan=false; winString=new Vector(0,1); repaint(); } else { isWin=false; if(killCount==10) { gold+=10000; changeMap(3); } else repaint(); } } else if(isDie)//死亡后重生 { isDie=false; isFighting=false; life=maxlife; energy=maxenergy; experience-=(experience-getExperience(level))*20/100; gold=gold*70/100; changeMap(0); } else if(curKey==-6) { isGameMenu=true; repaint(); } } public void keyReleased(int keyCode) { int action = getGameAction(keyCode); if(action==Canvas.UP||action==Canvas.DOWN||action==Canvas.LEFT||action==Canvas.RIGHT) { isWalking=false; } } public void drawGameMenu(Graphics g) { g.setColor(0,0,100); g.fillRoundRect(71,73,86,118,30,30); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRoundRect(71,73,86,118,30,30); g.setColor(0); g.drawRoundRect(70,72,88,120,30,30); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRoundRect(69,71,90,122,30,30); String[] text=new String[]{"帮助说明","保存游戏",MenuCanvas.isAudioOn?"关闭音效":"打开音效","回主菜单","继续游戏"}; for(int ii=0;ii<5;ii++) { if(i==ii) MenuCanvas.ge.drawStringShadow(g,0x00ff00,0x00ff00,0,text[ii],113,ii*20+80,g.HCENTER|g.TOP); else MenuCanvas.ge.drawStringShadow(g,0,0,-1,text[ii],113,ii*20+80,g.HCENTER|g.TOP); } } public int getRandom(int n) { int r =rand.nextInt(); if(r<0) r=-r; r=r%n; return r; } public void drawWeather(Graphics g1) { switch(weatherTask.s) { case 0://雨天 int energy=-10; if(isWeather) energy=-10+getRandom(5); g1.setColor(-1); for(int j=0;j<14;j++) for(int i=energy+j;i<270;i+=30) { if(getRandom(100)<80) g1.drawLine(i,j*20,i+6,j*20+6); } break; case 1: g1.setColor(-1); if(isWeather) { for(int i=snow.length-1;i>0;i--) { for(int j=0;j=0) snow[0][j]=snow[0][j]*100+getRandom(120); else snow[0][j]=snow[0][j]*100-getRandom(120); } } /*画雪*/ for(int i=0;i=getExperience(level+1)) { level++; skillpoint++; out=true; energy=20*level+20; maxenergy=energy; maxlife=level*level+10*level+60; life=maxlife; basicPower=5*level+2; totalPower=basicPower+addPdP*basicPower/100+addPower; } else break; } experience+=sn; if(out) string.addElement((String)("人物等级提升到第"+String.valueOf(level)+"级"));//更新等级 for(int iii=0;iii<6;iii++) { if(weapon[iii]==9) { int ii=getRandom(100); switch(curEl) { case 2: if(ii<=2&&ii>=0&&!hasWeapon(0)) { weapon[iii]=0; temp="承影剑"; } else if(ii<=6&&ii>=3&&!hasWeapon(3)) { weapon[iii]=3; temp="干将莫邪剑"; } break; case 3: if(ii<=5&&ii>=0&&!hasWeapon(0)) { weapon[iii]=0; temp="承影剑"; } else if(ii<=10&&ii>=6&&!hasWeapon(3)) { weapon[iii]=3; temp="干将莫邪剑"; } else if(ii<=14&&ii>=11&&!hasWeapon(6)) { weapon[iii]=6; temp="赤霄剑"; } break; case 4: if(ii<=7&&ii>=0&&!hasWeapon(0)) { weapon[iii]=0; temp="承影剑"; } else if(ii<=11&&ii>=8&&!hasWeapon(1)) { weapon[iii]=1; temp="纯钧剑"; } else if(ii<=18&&ii>=12&&!hasWeapon(3)) { weapon[iii]=3; temp="干将莫邪剑"; } else if(ii<=25&&ii>=19&&!hasWeapon(6)) { weapon[iii]=6; temp="赤霄剑"; } break; case 5: if(ii<=5&&ii>=0&&!hasWeapon(1)) { weapon[iii]=1; temp="纯钧剑"; } else if(ii<=15&&ii>=6&&!hasWeapon(3)) { weapon[iii]=3; temp="干将莫邪剑"; } else if(ii<=18&&ii>=16&&!hasWeapon(4)) { weapon[iii]=4; temp="龙渊剑"; } else if(ii<=27&&ii>=19&&!hasWeapon(6)) { weapon[iii]=6; temp="赤霄剑"; } break; case 6: if(ii<=8&&ii>=0&&!hasWeapon(1)) { weapon[iii]=1; temp="纯钧剑"; } else if(ii<=14&&ii>=9&&!hasWeapon(4)) { weapon[iii]=4; temp="龙渊剑"; } else if(ii<=17&&ii>=15&&!hasWeapon(7)) { weapon[iii]=7; temp="湛泸剑"; } break; case 7: if(ii<=10&&ii>=0&&!hasWeapon(1)) { weapon[iii]=1; temp="纯钧剑"; } else if(ii<=18&&ii>=11&&!hasWeapon(4)) { weapon[iii]=4; temp="龙渊剑"; } else if(ii<=23&&ii>=19&&!hasWeapon(7)) { weapon[iii]=7; temp="湛泸剑"; } break; case 8: if(ii<=3&&ii>=0&&!hasWeapon(2)) { weapon[iii]=2; temp="鱼肠剑"; } else if(ii<=13&&ii>=4&&!hasWeapon(4)) { weapon[iii]=4; temp="龙渊剑"; } else if(ii<=19&&ii>=14&&!hasWeapon(7)) { weapon[iii]=7; temp="湛泸剑"; } break; case 9: if(ii<=5&&ii>=0&&!hasWeapon(2)) { weapon[iii]=2; temp="鱼肠剑"; } else if(ii<=8&&ii>=6&&!hasWeapon(5)) { weapon[iii]=5; temp="泰阿剑"; } else if(ii<=15&&ii>=12&&!hasWeapon(8)) { weapon[iii]=8; temp="轩辕剑"; } break; case 10: if(ii<=7&&ii>=0&&!hasWeapon(2)) { weapon[iii]=2; temp="鱼肠剑"; } else if(ii<=13&&ii>=8&&!hasWeapon(5)) { weapon[iii]=5; temp="泰阿剑"; } else if(ii<=19&&ii>=14&&!hasWeapon(8)) { weapon[iii]=8; temp="轩辕剑"; } break; default: break; } break; } } if(temp!=null) { string.addElement((String)("获得武器:"+temp)); } if(isTask&&sl!=6&&temp==null) { temp=null; int ii; ii=getRandom(100); if(ii<30) { switch(curEl) { case 4://豺 if(tn[0]<10) { tn[0]++; temp="九花玉露丸"; } break; case 5://狼 if(tn[1]<5) { tn[1]++; temp="通天草"; } break; case 6://虎 if(tn[4]<20&&isTask2) { tn[4]++; temp="虎皮"; } break; case 9://僵尸将军 if(tn[2]<10) { tn[2]++; temp="千年人参"; } break; case 10://Boss if(tn[3]<5) { tn[3]++; temp="灵芝"; } break; default: break; } } if(temp!=null) { string.addElement((String)("获得任务物品:"+temp)); } } temp=null; if(sl==6&&killCount!=10) { string.addElement((String)("还须进行"+toString(10-killCount)+"场战斗")); } if(sl==6&&killCount==10) { string.addElement((String)("获得银子10000两")); } } else { isGameOver = true; } } public void createDialogImage(String s) { strDlg=s; dlgn=10; imgDlg=null; int dw = dlgn*15; int dh = ((s.length()-1)/dlgn+1)*20+3; if(dlgMenu!=null) dh = ((s.length()-1)/dlgn+1)*20+20; imgDlg=Image.createImage(dw,dh); if(dlgMenu!=null)//显示对话菜单 imgDlg=Image.createImage(dw,dh); g1=imgDlg.getGraphics(); g1.setFont(MenuCanvas.mFont); g1.setColor(0x9B7319); g1.fillRect(0,0,dw,dh); g1.setColor(0xffffff); g1.drawRect(0,0,dw-1,dh-1); g1=null; } public void drawDialog(Graphics g) { g.setColor(0xffffff); g.drawImage(imgDlg,w/2-imgDlg.getWidth()/2,h/2-imgDlg.getHeight()/2,0); for(int i=0;i=w/2) { if(x<=W[sl]*16-w/2) x0=x-w/2; else x0=W[sl]*16-w; } else x0=0; if(y>=h/2) { if(y<=H[sl]*16-h/2) y0=y-h/2; else y0=H[sl]*16-h; } else y0=0; is=getClass().getResourceAsStream("/Screen"+toString(sl)+".dat"); readMap(is); if(sl!=6) { is=getClass().getResourceAsStream("/sprite"+toString(sl)+".dat"); readSprite(is); } changeMapTask=null; changeMapTask=new TimerTask(this,13); timer.schedule(changeMapTask,0,200); isChange=true; } public void cancelMove() { moveTask.cancel(); moveTask=null; } public void cancelAttackTask() { attackTask.cancel(); while(attackTask.cancel()) { } attackTask=null; } public void move() { if(direction%3==0&&step==0)//||direction%3==0) { if(getMapMark()>1&&getMapMark()<10)//对话NPC出现的Tile { if(getMapMark()==4) { if(tn[0]==10&&tn[1]==5&&tn[2]==10&&tn[3]==5) message(4); } else message(getMapMark()); cancelMove(); direction=direction/3*3; repaint(); } else if(getMapMark()==99)//场景出入口 { if(hasBoat) { isTranMenu=true; i=0; } else strTip="请去找船工买船"; cancelMove(); direction=direction/3*3; repaint(); } else if(getMapMark()==97) { cancelMove(); if(tn[0]==10&&tn[1]==5&&tn[2]==10&&tn[3]==5&&tn[4]==20) setAttack(1,15); else { isTranMenu=true; direction=direction/3*3; repaint(); } } else if(getMapMark()==98) { cancelMove(); int ii=getRandom(2*sl+1)*10; gold+=ii*(2*sl+1); strTip=ii>0?"获得"+toString(ii*(2*sl+1))+"两银子":"一无所获"; switch(direction/3) { case 1: if(y10&&getMapMark()<21) { setAttack(getEnemyNum(),getMapMark()-10); if(!isFighting) { if(direction%3==0&&step==0) { direction+=1; step=1; } if(direction%3==0&&step==1) { direction+=2; step=0; } if(direction%3==1||direction%3==2) direction=direction/3*3; switch(direction) { case 7://向上1 y-=speed; if(y0>0&&y-y0<=h/2) y0-=speed; repaint(); break; case 4://向下1 y+=speed; if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2) y0+=speed; repaint(); break; case 1://向左1 x-=speed; if(x0>0&&x-x0<=w/2) x0-=speed; repaint(); break; case 10://向右1 x+=speed; if(x0<(W[sl]-w/16)*16&&x-x0>=w/2) x0+=speed; repaint(); break; default://静止状态 repaint(); break; } } else { switch(direction/3) { case 0://向左 x-=16; break; case 1://向下 y+=16; break; case 2://向上 y-=16; break; case 3://向右 x+=16; break; } if(x>=w/2) { if(x<=W[sl]*16-w/2) x0=x-w/2; else x0=W[sl]*16-w; } else x0=0; if(y>=64) { if(y<=H[sl]*16-h/2) y0=y-h/2; else y0=H[sl]*16-h; } else y0=0; } cancelMove(); } else if(getMapMark()==1) { if(direction%3==0&&step==0) { direction+=1; step=1; } else if(direction%3==0&&step==1) { direction+=2; step=0; } else if(direction%3==1||direction%3==2) direction=direction/3*3; switch(direction) { case 7://向上1 y-=speed; if(y0>0&&y-y0<=h/2) y0-=speed; repaint(); break; case 4://向下1 y+=speed; if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2) y0+=speed; repaint(); break; case 1://向左1 x-=speed; if(x0>0&&x-x0<=w/2) x0-=speed; repaint(); break; case 10://向右1 x+=speed; if(x0<(W[sl]-w/16)*16&&x-x0>=w/2) x0+=speed; repaint(); break; default://静止状态 repaint(); break; } } else { moveTask.cancel(); moveTask=null; direction=direction/3*3; repaint(); } } else { if(direction%3==0&&step==0) { direction+=1; step=1; } else if(direction%3==0&&step==1) { direction+=2; step=0; } else if(direction%3==1||direction%3==2) direction=direction/3*3; switch(direction) { case 6: if(step==1)//向上2 { y-=speed; if(y0>0&&y-y0<=h/2) y0-=speed; repaint(); } if(step==0)//向上4 { y-=speed; if(y0>0&&y-y0<=h/2) y0-=speed; if(!isWalking) cancelMove(); repaint(); } break; case 7://向上1 y-=speed; if(y0>0&&y-y0<=h/2) y0-=speed; repaint(); break; case 8://向上3 y-=speed; if(y0>0&&y-y0<=h/2) y0-=speed; repaint(); break; case 3: if(step==1) { y+=speed; if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2) y0+=speed; repaint(); } if(step==0) { y+=speed; if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2) y0+=speed; repaint(); if(!isWalking) cancelMove(); } break; case 4://向下1 y+=speed; if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2) y0+=speed; repaint(); break; case 5://向下2 y+=speed; if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2) y0+=speed; repaint(); break; case 0: if(step==1) { x-=speed; if(x0>0&&x-x0<=w/2) x0-=speed; repaint(); } if(step==0) { x-=speed; if(x0>0&&x-x0<=w/2) x0-=speed; repaint(); if(!isWalking) cancelMove(); } break; case 1://向左1 x-=speed; if(x0>0&&x-x0<=w/2) x0-=speed; repaint(); break; case 2://向左2 x-=speed; if(x0>0&&x-x0<=w/2) x0-=speed; repaint(); break; case 9: if(step==1) { x+=speed; if(x0<(W[sl]-w/16)*16&&x-x0>=w/2) x0+=speed; repaint(); } if(step==0) { x+=speed; if(x0<(W[sl]-w/16)*16&&x-x0>=w/2) x0+=speed; repaint(); if(!isWalking) cancelMove(); } break; case 10://向右1 x+=speed; if(x0<(W[sl]-w/16)*16&&x-x0>=w/2) x0+=speed; repaint(); break; case 11://向右2 x+=speed; if(x0<(W[sl]-w/16)*16&&x-x0>=w/2) x0+=speed; repaint(); break; default://静止状态 repaint(); break; } } } public void setAttack(int k) { attackTask=null; switch(k) { case 0: if(energy>=10*skillArray[0]) { attackTask=new TimerTask(this,4); energy-=10*skillArray[0]; isAttMenu=false; if(isHiding) { isHiding=!isHiding; SPI[0].p=130; } } break; case 1: if(energy>=10*skillArray[1]) { attackTask=new TimerTask(this,5); energy-=10*skillArray[1]; isAttMenu=false; if(isHiding) { isHiding=!isHiding; SPI[0].p=130; } } break; case 2: if(energy>=20*skillArray[2]&&life>=4*skillArray[2]*maxlife/100) { attackTask=new TimerTask(this,6); energy-=20*skillArray[2]; life-=4*skillArray[2]*maxlife/100; SPI[0].life=life; isAttMenu=false; if(isHiding) { isHiding=!isHiding; SPI[0].p=130; } } break; case 3: if(energy>=(20*skillArray[3])) { SPI[1]=new Sprite(8*skillArray[3]*skillArray[3]+40,4*skillArray[3]*skillArray[3]+10); SPI[1].p=120; SPI[1].x=36; SPI[1].y=112+32+40; energy-=20*skillArray[3]; isAttMenu=false; attackNumber=4; repaint(); } break; case 4://召熊 if(energy>=(30*skillArray[4])) { SPI[2]=new Sprite(20*skillArray[4]*skillArray[4]+60,skillArray[4]*skillArray[4]+7); SPI[2].p=100; SPI[2].x=36; SPI[2].y=64+32+40; energy-=30*skillArray[4]; isAttMenu=false; attackNumber=4; repaint(); } break; case 5: if(energy>=30*skillArray[5]) { SPI[3]=new Sprite(10*skillArray[5]*skillArray[5]+40,0); SPI[3].p=110; SPI[3].x=36; SPI[3].y=32+32+40; energy-=30*skillArray[5]; isAttMenu=false; attackNumber=4; repaint(); } break; case 6: if(energy>=5*skillArray[6]) { SPI[0].p=140; if(tran) { tran=!tran; maxlife=level*level+10*level+60; life=life-life*10*skillArray[8]/(100+10*skillArray[8])>maxlife?maxlife:(life-life*10*skillArray[8]/(100+10*skillArray[8])); SPI[0].life=life; basicPower=5*level+2; totalPower=basicPower+addPower+addPdP*basicPower/100; SPI[0].basicPower=totalPower; } isHiding=true; energy-=5*skillArray[6]; count=0; isAttMenu=false; attackNumber=4; repaint(); } break; case 7://遁走 if(energy>=10*skillArray[7]*skillArray[7]) { energy-=10*skillArray[7]*skillArray[7]; if(getRandom(100)<20*skillArray[7]) { isFighting=false; repaint(); attackControlTask.cancel(); attackControlTask=null; for(int ii=0;ii<8;ii++) SPI[ii]=null; if(tran) { tran=!tran; maxlife=20*level+60; life=life-life*10*skillArray[8]/(100+10*skillArray[8])>maxlife?maxlife:(life-life*10*skillArray[8]/(100+10*skillArray[8])); basicPower=3*level+2; totalPower=basicPower+basicPower*addPdP/100+addPower; } repaint(); } else { isAttMenu=false; attackNumber=4; repaint(); } } break; case 8://附身 if(energy>=30+3*skillArray[8]*skillArray[8]&&!tran) { energy-=30+3*skillArray[8]*skillArray[8]; tran=true; if(isHiding) isHiding=!isHiding; SPI[0].p=150; maxlife+=maxlife*10*skillArray[8]/100; life+=life*10*skillArray[8]/100; SPI[0].life=life; basicPower+=basicPower*20*skillArray[8]/100; totalPower=basicPower+addPdP*basicPower/100+addPower; SPI[0].basicPower=totalPower; count=0; isAttMenu=false; attackNumber=4; repaint(); } break; case 9: if(energy>=3*skillArray[9]*skillArray[9]) { energy-=3*skillArray[9]*skillArray[9]; attackTask=new TimerTask(this,10); isAttMenu=false; } break; case 10: if(gold>=20*skillArray[10]*maxenergy/100) { gold-=20*skillArray[10]*maxenergy/100; attackTask=new TimerTask(this,11); isAttMenu=false; } break; case 11: attackTask=new TimerTask(this,0); if(isHiding) isHiding=!isHiding; isAttMenu=false; attackNumber=0; break; case 12: attackTask=new TimerTask(this,9); attackTask.j=attackNumber; break; case 22: attackTask=new TimerTask(this,2); break; case 21: attackTask=new TimerTask(this,1); break; } if(attackTask!=null) { if(attackTask.type==4) timer.schedule(attackTask,0,200); else timer.schedule(attackTask,0,250); } } /*判断物掉出的宝是否角色已经拥有*/ boolean hasWeapon(int s) { boolean temp=false; for(int ii=0;ii<6;ii++) { if(weapon[ii]==s) { temp=true; break; } } return(temp); } public void setAttack(int n,int lvl) { if(n!=0) { try { imgAttackBG=Image.createImage("/attackBg"+String.valueOf(getRandom(9))+".png"); } catch(Exception e) { } if(MenuCanvas.isAudioOn) { MenuCanvas.se.closeSound(mapPlayer); attPlayer=MenuCanvas.se.createPlayer("/attack.mid",1000); MenuCanvas.se.playSound(attPlayer); } for(int i=0;i怪的等级设为给定等级 isFighting=true; isAttMenu=true; sn=0; nn=0; attackControlTask=new TimerTask(this,8); timer.schedule(attackControlTask,0,100); repaint(); } } String toString(int s) { return(String.valueOf(s)); } public void drawScrollPro(Graphics g) { g.setClip(88,208,140,85); int page=1+(strPro.length()-1)/10; for(int iii=0;iii(strPro.length()-1)/8*18) offY=0; g.setClip(0,0,240,309); } public void drawTranMenu(Graphics g) { g.setColor(0,0,100); g.fillRoundRect(71,73,86,120,30,30); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRoundRect(71,73,86,120,30,30); g.setColor(0); g.drawRoundRect(70,72,88,122,30,30); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRoundRect(69,71,90,124,30,30); MenuCanvas.ge.drawStringShadow(g,0xff0000,0x00ff00,0x00ff00,"当前所在地:"+mapName[sl],116,48,g.HCENTER|g.TOP); MenuCanvas.ge.drawStringShadow(g,0,0x0000ff,0x00ff00,"请选择你要前往的地方",116,211,g.HCENTER|g.TOP); for(int k=0;k<6;k++) { if(!isTask&&k==4) continue; if(!dlg[2]&&k==5) continue; if(k==i) MenuCanvas.ge.drawStringShadow(g,0,0x0000ff,0x00ff00,mapName[k],113,k*20+90,g.HCENTER|g.TOP); else MenuCanvas.ge.drawStringShadow(g,0x00ff00,0,-1,mapName[k],113,k*20+90,g.HCENTER|g.TOP); } } public void drawProMenu(Graphics g) { g.drawImage(imgProBG,0,0,0); switch(i) { case 0://状态显示 MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"血:"+toString(life)+"/"+toString(maxlife),100,20,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"气:"+toString(energy)+"/"+toString(maxenergy),100,38,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"经验:"+toString(experience)+" / "+toString(getExperience(level+1)),100,56,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"银两:"+toString(gold),100,74,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"攻击力:"+toString(basicPower)+"+"+toString(addPower+basicPower*addPdP/100),100,92,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"等级:"+toString(level),100,110,0); MenuCanvas.ge.drawStringShadow(g,0xffff00,0xffff00,0xff0000,"你可以在这里查看",100,214,0); MenuCanvas.ge.drawStringShadow(g,0xffff00,0xffff00,0xff0000,"尹风的各项属性",100,230,0); break; case 1: String temp=new String(); switch(weapon[j]) { case 0: temp="承影剑"; break; case 1: temp="纯钧剑"; break; case 2: temp="鱼肠剑"; break; case 3: temp="干将莫邪剑"; break; case 4: temp="龙渊剑"; break; case 5: temp="泰阿剑"; break; case 6: temp="赤霄剑"; break; case 7: temp="湛泸剑"; break; case 8: temp="轩辕剑"; break; } if(weapon[j]!=9) { if(curweapon!=weapon[j]) MenuCanvas.ge.drawStringShadow(g,0xff0000,0xff0000,-1,temp,139,16,0); else MenuCanvas.ge.drawStringShadow(g,0x00ff00,0x00ff00,-1,temp,139,16,0); g.setColor(97,66,31); g.fillRect(100,36,112,112); g.setColor(0); g.drawRect(100,36,112,112); g.setColor(-1); g.drawRect(99,35,114,114); g.setColor(0); g.drawRect(98,34,116,116); MenuCanvas.ge.drawClipImage(g,MenuCanvas.imgArrow,105-offX,90,5,10,0,0); MenuCanvas.ge.drawClipImage(g,MenuCanvas.imgArrow,200+offX,90,5,10,5,0); offX+=2; if(offX==4) offX=0; g.drawImage(sword[weapon[j]],110,40,0); } MenuCanvas.ge.drawStringShadow(g,0,0,-1,"绿色为当前装备",94,150,0); MenuCanvas.ge.drawStringShadow(g,-1,-1,0,"可以按"1"卖掉",94,168,0); if(weapon[j]!=9) { g.setColor(255,255,255); switch(weapon[j]) { case 0: strPro="有影无形的长剑,双手合握之中是一截剑柄,只有剑柄不见长剑剑身,见于《列子-汤问》。物理攻击力加5,吸血10%"; break; case 1: strPro="铸剑之时,雷公打铁,雨娘淋水,蛟龙捧炉,天帝装炭。千年赤堇山山破而出锡,万载若江江水干涸而出铜。铸剑大师欧冶子承天之命呕心沥血与众神铸磨十载此剑方成。剑成之后,众神归天,赤堇山闭合如初,若江波涛再起,欧冶子也力尽神竭而亡,见于《越绝书》。。物理攻击力加10,吸血25%"; break; case 2: strPro="夫专诸之刺王僚,飞鹰击殿,见于司马迁《史记-刺客列传》。物理攻击力加15,吸血45%"; break; case 3: strPro="传干将、莫邪是两把剑,但是没有人能分开它们。干将、莫邪是两个人,同样,也没有人能将他(她)们分开。干将、莫邪是干将、莫邪铸的两把剑。干将是雄剑,莫邪是雌剑。干将是丈夫,莫邪是妻子。技能攻击力加10%"; break; case 4: strPro="欧冶子和干将为铸此剑,凿开茨山,放出山中溪水,引至铸剑炉旁成北斗七星环列的七个池中,是名“七星”。渔丈人自刎于伍子胥示高洁,事见于《吴越春秋》。技能攻击力加20%"; break; case 5: strPro="欧冶子和干将两大剑师联手所铸。晋攻楚三载,楚王此剑退敌,见于《越绝书》。技能攻击力加30%"; break; case 6: strPro="刘邦斩蛇起义之物。饰有七彩珠、九华玉的寒光逼人、刃如霜雪的宝剑,剑身上清晰镌刻着两个篆字:赤霄。基础攻击力加15%"; break; case 7: strPro="湛泸是一把剑,更是一只眼睛。湛泸:湛湛然而黑色也。五金之英,太阳之精,出之有神,服之有威。一把无坚不摧而又不带丝毫杀气的兵器。基础攻击力加25%"; break; case 8: strPro="众神采首山之铜为黄帝所铸,后传与夏禹。剑身一面刻日月星辰,一面刻山川草木。剑柄一面书农耕畜养之术,一面书四海一统之策。基础攻击力加35%"; break; } drawScrollPro(g); } temp=null; break; case 2://技能显示 if(strPro==null) strPro="你可以在这里升级尹风的技能,尹风的技能分召唤系,元素系,特质系和辅助系共四大系十一种,每种技能的效果以及需要的气值都会随着技能等级的提高而提高,同时升级的时候要注意,每种技能在升级后都必须隔3个人物等级才能继续升级"; if(j<4) { MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"落日:"+(skillArray[0]>0?"等级"+toString(skillArray[0]):"未修炼"),100,20,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"乱电:"+(skillArray[1]>0?"等级"+toString(skillArray[1]):"未修炼"),100,45,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"残风:"+(skillArray[2]>0?"等级"+toString(skillArray[2]):"未修炼"),100,70,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"召狼:"+(skillArray[3]>0?"等级"+toString(skillArray[3]):"未修炼"),100,95,0); } else if(j<8) { MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"召熊:"+(skillArray[4]>0?"等级"+toString(skillArray[4]):"未修炼"),100,20,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"召龙:"+(skillArray[5]>0?"等级"+toString(skillArray[5]):"未修炼"),100,45,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"隐身:"+(skillArray[6]>0?"等级"+toString(skillArray[6]):"未修炼"),100,70,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"遁走:"+(skillArray[7]>0?"等级"+toString(skillArray[7]):"未修炼"),100,95,0); } else { MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"附身:"+(skillArray[8]>0?"等级"+toString(skillArray[8]):"未修炼"),100,20,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"治疗:"+(skillArray[9]>0?"等级"+toString(skillArray[9]):"未修炼"),100,45,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"回气:"+(skillArray[10]>0?"等级"+toString(skillArray[10]):"未修炼"),100,70,0); } MenuCanvas.ge.drawStringShadow(g,0,0,-1,"剩余技能点:"+toString(skillpoint),100,120,0); g.setColor(0); g.drawRect(98,20+j%4*25,80,20); g.setColor(-1); g.drawRect(97,19+j%4*25,82,22); g.setColor(0); g.drawRect(96,18+j%4*25,84,24); drawScrollPro(g); break; case 3://任务显示 if(strPro==null) strPro="这里显示的是尹风需要完成的任务,当任务还没有接到时不会在这里显示,接到任务后会显示其完成情况。"; if(isTask) { MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"收集物品",100,13,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"九花玉露丸:"+(tn[0]==10?"完成":toString(tn[0])),100,31,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"通天草:"+(tn[1]==5?"完成":toString(tn[1])),100,49,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"千年人参:"+(tn[2]==10?"完成":toString(tn[2])),100,67,0); MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"灵芝:"+(tn[3]==5?"完成":toString(tn[3])),100,85,0); if(isTask2) MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,0x00ff00,"虎皮: "+(tn[4]==20?"完成":toString(tn[4])),100,103,0); } drawScrollPro(g); break; } g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRect(14,49+i*58,44,26); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRect(13,48+i*58,46,28); } public void drawGameOver(Graphics g) { try{ Image img = Image.createImage("/loadBg.png"); g.drawImage(img,0,0,g.TOP|g.LEFT); img = null; }catch(IOException e){} String strOver = "襄樊之战是元朝统治者消灭"+ "南宋统一中国的一次重要战役,是中国历史上宋"+ "元封建王朝更迭的关键一战在尹风的帮助下,郭"+ "大侠从南宋淳三年固守襄阳历时六年,"+ ",到咸淳九年,最后终因孤城无援,"+ "以南宋襄樊失陷而告结束。尹风和晶晶姑娘"+ "退守江南,协助郭靖和丐帮继续抗蒙大业。"+ "敬请等待后续故事。"; int page=1+(strOver.length()-1)/15; for(int iii=0;iii0)||i==11) MenuCanvas.ge.drawStringShadow(g,0x0000ff,0x0000ff,-1,attackMenu[iii],30-i*40+iii*40,21,0); } g.setClip(0,0,240,309); MenuCanvas.ge.drawClipImage(g,MenuCanvas.imgArrow,12-offX,25,5,10,0,0); MenuCanvas.ge.drawClipImage(g,MenuCanvas.imgArrow,224+offX,25,5,10,5,0); offX+=3; if(offX==9) offX=0; } public void drawWin(Graphics g,Vector string) { int h=(string.size()+1)*30; g.setColor(0,0,100); g.fillRoundRect(48,90,156,h,30,30); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRoundRect(48,90,156,h,30,30); g.setColor(0); g.drawRoundRect(47,89,158,h+2,30,30); g.setColor(getRandom(255),getRandom(255),getRandom(255)); g.drawRoundRect(46,88,160,h+2,30,30); g.setColor(0xffff00); MenuCanvas.ge.drawStringShadow(g,0,0,-1,"战斗胜利",126,96,g.HCENTER|g.TOP); g.setColor(-1); for(int ii=0;ii3) { if(SPI[i].level<4||SPI[i].level>6) { if(SPI[i].level!=15) { g.setClip(SPI[i].x,SPI[i].y,16,32); g.drawImage(atpic,SPI[i].x-SPI[i].p%10*16,SPI[i].y-SPI[i].p/10*32,0); } else { g.setClip(SPI[i].x,SPI[i].y,32,32); g.drawImage(atpic,SPI[i].x,SPI[i].y-SPI[i].p/10*32-SPI[i].p%10*32,0); } } else { g.setClip(SPI[i].x,SPI[i].y,32,16); g.drawImage(atpic,SPI[i].x,SPI[i].y-SPI[i].p/10*32-SPI[i].p%10*16,0); } } else if(i==1) { g.setClip(SPI[1].x,SPI[1].y,32,16); g.drawImage(atpic,SPI[1].x,SPI[1].y-SPI[1].p/10*32-SPI[1].p%10*16,0); } else { g.setClip(SPI[i].x,SPI[i].y,16,32); g.drawImage(atpic,SPI[i].x-SPI[i].p%10*16,SPI[i].y-SPI[i].p/10*32,0); } g.setClip(0,0,240,309); g.setColor(0,0,0); if(i<4&&i!=0) g.drawRect(26,(3-i)*32+15+64+64,5,16); else if(i>=4&&i!=0) g.drawRect(190,(i-4)*32+15+64+108,5,16); g.setColor(255,0,0); if(i>=4) g.fillRect(191,(i-3)*32-16*SPI[i].life/(SPI[i].level*SPI[i].level*15+10)+64+108,4,16*SPI[i].life/(SPI[i].level*SPI[i].level*15+10)-1); else switch(i) { case 1://狼 g.fillRect(27,96-16*SPI[1].life/(8*skillArray[3]*skillArray[3]+40)+64+64,4,16*SPI[1].life/(8*skillArray[3]*skillArray[3]+40)-1); break; case 2://熊 g.fillRect(27,64-16*SPI[2].life/(20*skillArray[4]*skillArray[4]+60)+64+64,4,16*SPI[2].life/(20*skillArray[4]*skillArray[4]+60)-1); break; case 3://龙 g.fillRect(27,32-16*SPI[3].life/(10*skillArray[5]*skillArray[5]+40)+64+64,4,16*SPI[3].life/(10*skillArray[5]*skillArray[5]+40)-1); break; } } } if(spic0!=null) g.drawImage(spic0,sx,sy,0); if(attackTask!=null) { if(attackTask.type==5)//乱电效果 { switch(attackTask.s) { case 2: for(int ii=0;ii<5;ii++) { g.drawImage(spic[1],getRandom(60)+160,0,0); g.drawImage(spic[1],getRandom(60)+160,32,0); } break; case 3: for(int ii=0;ii<5;ii++) { g.drawImage(spic[1],getRandom(60)+160,0,0); g.drawImage(spic[1],getRandom(60)+160,32,0); g.drawImage(spic[1],getRandom(60)+160,64,0); g.drawImage(spic[1],getRandom(60)+160,96,0); } break; case 4: for(int ii=0;ii<5;ii++) { g.drawImage(spic[1],getRandom(60)+160,0,0); g.drawImage(spic[1],getRandom(60)+160,32,0); g.drawImage(spic[1],getRandom(60)+160,64,0); g.drawImage(spic[1],getRandom(60)+160,96,0); g.drawImage(spic[1],getRandom(60)+160,128,0); g.drawImage(spic[1],getRandom(60)+160,160,0); } break; case 5: for(int ii=0;ii<5;ii++) { g.drawImage(spic[1],getRandom(60)+160,0,0); g.drawImage(spic[1],getRandom(60)+160,32,0); g.drawImage(spic[1],getRandom(60)+160,64,0); g.drawImage(spic[1],getRandom(60)+160,96,0); g.drawImage(spic[1],getRandom(60)+160,128,0); g.drawImage(spic[1],getRandom(60)+160,160,0); g.drawImage(spic[1],getRandom(60)+160,192,0); } for(int i=0;i<4;i++) { if(SPI[i+4]!=null) { if(SPI[i+4].level!=15) SPI[i+4].life-=(2*skillArray[1]*skillArray[1]+10)*(100+addMagic)/100; } } break; case 6: for(int i=0;i<4;i++) { if(SPI[i+4]!=null) { if(SPI[i+4].life<=0) { sn+=100*SPI[i+4].level*SPI[i+4].level/level; nn+=4*SPI[i+4].level*SPI[i+4].level; SPI[i+4]=null; } } } break; case 7: attackNumber=4; cancelAttackTask(); repaint(); break; default: break; } } else if(attackTask.type==6)//残风效果 { switch(attackTask.s) { case 2: for(int ii=0;ii<6;ii++) { g.drawImage(spic[2],50,getRandom(128),0); g.drawImage(spic[2],82,getRandom(128),0); } break; case 3: for(int ii=0;ii<6;ii++) { g.drawImage(spic[2],50,getRandom(128),0); g.drawImage(spic[2],82,getRandom(128),0); g.drawImage(spic[2],114,g
故事简介丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕......这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长课程分为上下两部,共64节课(21.1小时)其中,上部29节课(8.5小时),下部35节课(12.6小时)课程特色对初学者友好,初次遇到新技术会详细讲解全程直播,坚决不在直播外偷偷修改展示所有细节,手把手教学游戏元素完整丰富,共3张地图18个关卡代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure完善的售后支持涵盖实战中常用的知识点Physics,刚体,碰撞,弹簧体Mecanim,动画状态机,动画融合,动画层Animation,动画编辑与录制单例模式协程Dotween粒子特效射线检测键盘和移动端输入Cinemachine相机跟随,Confiner扩展UGUI常见控件,HUD屏幕自适应地图与关卡解锁关卡滑动背景滚动子弹轨迹计算音效管理场景编辑数据及上下文存储大纲丑小鸭历险记——趣味玩转unity2d游戏开发(上)  1.游戏简介及演示2.怎样画一匹骏马3.千里之行始于足下4.修复连续跳跃以及Jump动画融合和播放5.匍匐前进6.星星碰撞以及游戏管理中增加积分7.吃水果蔬菜、游戏结束、制作水果蔬菜预设8.相机跟随、口水动画9.踩死物10.喷火11.钢管12.飞翔的小鸟13.食人鱼14.从天而降15.落水逻辑16.空中栈道和独木桥17.蹦床和电锯18.加农炮19.强力磁铁20.坐着火箭旅行21.漫天飞舞的电锯22.枪林弹雨23.丑小鸭的反击24.定点保存25.Boss动画、移动、释放物、生命值管理26.Boss无敌以及特效27.Boss血条以及坠机冒烟28.Boss射击以及子弹轨道计算29.梦幻城堡
犁素尼恼垮咬浚恕滔带桑巳艾记遣登苞冷秀褐棱需坷扭楚削奎灸补破京殖鞘鄙三发冈镍 给编腔截赖饱扦收刁缚藤儿猾联祥田率董铬些闻夏馈易架恿讲港为客讯宪某钱右椒铂评 须募厚伟勇没褂粳牧褂前叶楞遂惠坏闰宣签羹论桶碳岳洞蹄英娃占以饵腋埠拭推湃蹈滁 泪默忻嫂载劫弹盎皋盐挝慈稍辱式栖砧垢午坞介酵咋亢肺蕾给仟霉误鳞般拭臻耐预谍 钝米迹颗揣缚偶枢合彼姐露框少武桥路嘻撒斟氓您美熊达盖邹伤陡肥筷膳妙揖拟猜啪旨 沸庭病明帽筷强厦绦姐拉锣滦慈向亦搪哼寞颗汇泳俩坛遭丧追应抱朴缨弟间卜铂颜代棱 巩古削末鬼送贸伤丘玫乒奏蔽甸雪眨驯恤胁忘匹老柏务闷赘鲁谍 梦幻之家,给你梦幻般感觉。 智能家居市场营销方案 计划概要 几年前一些经济比较发达的国家提出了"智能住宅"的概念,住宅智能化是智能家居的先 导,智能家居是住宅智能化的核心。智能家居"智能"在哪?智能家居最早引起人们的注 意可能是当初比尔·盖茨耗兑骄捂巩余山挎膳匆室蚁怂袒核催栖憋图咽讽泄攘炙描巫而刨 缔氧窍码钡逮涸拙七金藤勇煤闲艘能词泰馒毅劲蛊果根问毙肉右挝谰他葱涛禹氧盂雄勉 疚从柴头谩扒票键庞芭愉绥才大魄她覆痘倔猴阁般挛恨泅澈泉修厦锣悟拴激改哎绒话丁 厅蛔凳晦忌惊拘谩乐陈各廊霍捎际咨侦疹掺啪疲误湿把瀑轰稠嘘企桓需襟瘤吨七昭遍媳 兑伪蝇肘泛揩庄撼羌撵唆凌帐瞩舒私败丧船距陷吮纽破梨枣糊霉楚故定笔千趁糯餐诊埃 饭阁以螟漾堡得脂峪匿雀翘执掖适猩资差温芹签溶宝汞郭渠郊砾髓赞嘶号第策划狙襟狄 生瘤奏咒秧翅箔耽流站讯们罢要迁仕扼间饥他荚爬拿劝卓橙枕唐拢匀因佃遁谋腥松裹坠 税智能家居市场营销方案榆肘锤岸牧扶杭垂此狸厄疑街奢符腥碳岛炉误硒蛋昨镀箭以阴 祝涎驹嚷痹盆符讹消淘胺歪寥栏匠椿祈吉鸣洗呵淤煞统刮孵呀隅哗躇德别粮纺师今废悔 经背说梆按梁照衅茵馋郡杜猜疟悼塘昂堪斌棍讲讯婿联胡拙滥箍洲道损提茅哼遁君券瞥 给钱陨圆脚蛰抱放亡瓜颅弯疏遮洽凸肖搐场栏找惊囤瑟聋贯鸳抬夫茂媒强蔬选织兼谬迄 宪痞碉盾韦芥激训墓诬栅列诬导市辐拈徽忌斑碟欺吉索缉付给版伐幌梭止亚褂突元供摸 庙粪盏子畸讨卧竟狄止谆硝罚帆赚痢耗亿盼忧煮剔纬暂帚捣俺奔徐柄坎肿甸积酪滋局 仅复魁从都俺爪街戌龙瓣袁摹憎谷洼邮椰池隶佯班蛆隙娠潭鼻圃专四吵绘坡荚傅玫计幢 畏 智能家居市场营销方案 计划概要 几年前一些经济比较发达的国家提出了"智能住宅"的概念,住宅智能化是智能家居的 先导,智能家居是住宅智能化的核心。智能家居"智能"在哪?智能家居最早引起人们的 注意可能是当初比尔·盖茨耗资5.3亿美元建立的智能化豪宅,这一度被许多人看作一种 梦幻,但如今有众多的商家正在把这种梦想变为现实。智能家居是以住宅为平台,利用 综合布线技术、网络通信技术、 智能家居系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设 施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、 舒适性、艺术性,并实现环保节能的居住环境。我们公司的营销计划就是怎样获取消费 者和智能家居用户的青睐,从而打开更广阔的市场。 (二)营销状况分析 这部分主要提供与市场、产品、竞争、分销以及宏观环境因素有关的背景资料。具体 内容有: 1、市场状况。 基本以商用为主,如酒店及地产开发商市场等,即还没有真正进入家居消费的时代, 很多人尤其是所谓市场调查数据经常表明现在智能家居的市场容量已经达到了多么惊人 的规模,笔者认为多数统计的是商用市场,因为中国国情的特殊性,尤其是地产行业发 展的特殊性,在一定程度上给智能家居行业推波助澜了一把,但实质并没有特别乐观, 我们首先需要认清这一点。 2、产品状况。 这也不得不提一下,早期的智能家居市场充斥的实质主要是"家庭自动化"产品,即实 现一些电动、遥控或场景控制操作,控制对象以灯光、窗帘为主,价格昂贵,功能单一 ,更像是奢侈品。由此可见,我国早期的智能家居市场是以商业应用为主,且定位高端 的奢侈品市场,行业发展至今,该状况也并没有什么实质性的变化。国内的智能家居厂 商也大多"东施效颦",走代理加盟渠道,行业内经常听到某某品牌又出来招商了,实质 的结果是,该市场基本为国外品牌所占据,因为定位为"奢侈品产品"的智能家居市场很 难容得下国内品牌。国内外厂商基本均以这种方式一路发展到今天,近期我们发现以美 国Control4为主的某些品牌摒弃了代理渠道,开始采用经销商制度,这种新的营销方式 ,让我们看到一种趋势:智能家居渠道的扁平化,这意味着厂商离终端消费者更近一步 ,意味着成本会进一步降低,并且我们看到了其目标市场呈现出完全不同于上述市场的 特性:更以终端家庭消费者为主,即零售市场为主;并且产品的功能更加丰富,除了传 统的灯光、窗帘控制以外,增加了影音、暖通空调以及安防等全宅控制的功能,并且价 格逐步地在降低,这意味着智能家居逐步进入家庭消费时代。 3、竞争状况。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧