import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Canvas;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.InputStream;
import java.util.Random;
import java.util.Vector;
/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2008-6-19
* Time: 9:32:07
* To change this template use File | Settings | File Templates.
*/
public class RpgCanvas {
private static byte mode;
private static final byte MOVE = 0;
private static final byte FIGHT = 1;
private static final byte DIALOGUE = 2;
private static final byte STATUS = 3;
private static final byte WEAPONSHOP = 4;
private static final byte MOVIE = 5;
private static final byte PEOPLEINFO = 6;
private static final byte PACKAGE = 7;
private static final byte SKILL = 8;
private static final byte MAPINFO = 9;
private static final byte SYSINFO = 10;
private static final byte CLOTHESSHOP = 11;
private static final byte CLOTHESINFO = 12;
private static final byte FIGHTERMOVIE = 13;
private static final byte YOUWIN = 14;
private int width, height;
private int rows, cols;
private int mapWidth, mapHeight;
private int[][] mapData;
private int left, top;
private int leftLine, topLine;
private int offsetY;
public Image[] groundImg, secondImg, fourImg, sprImg, npcImg, fightImg, effectImg, heroChange;
public Image logo, mapPoint, mapPointPass, heroImg, emperorImg;
private boolean isFight;
private int viewRows, viewCols;
private Random rand;
private Man [] mans;
public Man player;
private Man fighter;
private int counter;//计数器
private int focus;//计数器
private int freeTime;//保险时间
public int mapIndex;//地图编号
private Font ft = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
private String[] fightMenu = {
"攻击", "道具", "逃走"
};
private String[] statusMenu = {
"人物", "道具", "技能", "地图", "系统", "返回"
};
private String[] peopleInfo = {
"等级", "生命", "内力", "经验", "攻击", "武器"
};
private String [] weapon = {
"无名匕首", "残影刀", "偃月刀", "碧血剑", "紫青双剑"
};
private String[] weaponDescription = {
"防身,江湖时尚人士必备",
"让人眼花缭乱,高手必备",
"传说关公用过的刀",
"无坚不摧,吹毛断发",
"具有仙神之力"
};
private String[] clothes = {
"布衣", "狼皮衫", "青龙袍", "英雄铠", "仙灵甲"
};
private String[] clothesDescription = {
"没钱的时候总得穿啊",
"狼皮所制,旅行必备",
"拥有青龙之气,若隐若现",
"穿上他,你就是英雄",
"灵气护身,刀枪不入"
};
private String[][] dialogueStr = {
{"跳~~楼~~了!!杀~~人~~了!!!上等丝绸出口转内销了,清仓价处理。", "今天你牛了么?", "大家好才是真的好。",
"就是这个味儿!", "今天,我们的目标是:没有蛀牙!!!"},
{"窗前明月光,玻璃好上霜。若不及时擦,指定准得脏。。。", "树下一个猴,树上七个猴,一共几个猴?",
"大年初一来客人,家里有一头驴和一口猪。我是先杀驴呢,还是先杀猪呢?", "走两步!...", "大哥,缘分啊"},
{"进来看进来瞧。新鲜出炉的孝子大拍卖咯,有钱的捧个钱场,没钱的捧个人场,不买也进来看看啊", "你妈贵姓?",
"那我们大家立刻开始这段感情吧!", "我Kao!I服了You!", "长夜漫漫,无心睡眠。"},
{"帅哥,有没有女朋友啊?~~~帅哥有四级证吧,没四级总有别的吧,没别的总有宝马萨。什么都没有?!算了,今天老娘便宜你,10块钱带送过早的@#$%^&"},
{"欢迎来到游戏学院。一次交费,包学包会,不会免费再学。毕业发证,全国通用!!!"},
{"秦时明月汉时关,万里长征人未还。但使龙城飞将在,不教胡马度阴山。"},
{"明天开听证会,各界人士请准时到场。此次会议的主题是关于调整水电费的相关议题,欢迎大家踊跃发言。"},
{"高薪急征CS高手!!"},
{"菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。"}
};
private int dialogueIndex;
private int[] events = {0, 0, 0, 0, 0, 0, 0, 0, 0};
private String[] showStr;
private int showTop;
private int showHeight;
private int showSpeed;
private String[] skillStr = {
"斩击", "天女散花", "破天一剑", "龙凤合鸣"
};
private int[] skillPast = {
5, 30, 90, 120
};
private int [] positionIndex = {//地图位置
20, 90,
50, 70,
70, 80,
120, 110,
130, 140,
160, 150
};
private String[] systemStr = {
"返回", "保存", "帮助", "主菜单"
};
private long money = 10000;
private int currExp, nextExp;//经验值
private int[] hasWeapon = {
0, 0, 0, 0, 0
};
private int[] weaponPrice = {
100, 300, 500, 800, 1200
};
private int[] addAttack = {
10, 30, 50, 80, 100
};
private int[] hasClothes = {
0, 0, 0, 0, 0
};
private int [] clothesPrice = {
80, 120, 300, 600, 1500
};
private int [] addDefence = {
8, 15, 25, 40, 80
};
private int [] equit = {
-1, -1
};
private int[] crc_table;
//动画计数器
private int movieCounter;
private int offsetX;
private int winY, upY;
private int playerHurt, fighterHurt;//伤害点
private int tempMoney, tempExp;
private boolean isUp;//是否升级
public boolean isFirstIn;//是否第一次进入皇宫
private GameCanvas gcs;
public RpgCanvas(GameCanvas gcs) {
this.gcs = gcs;
width = gcs.getWidth();
height = gcs.getHeight();
viewRows = height / 16 + 1;
viewCols = width / 16 + 1;
rand = new Random();
currExp = 0;
nextExp = 19;
mapIndex = 0;
switchMode(MOVE);
}
protected void paint(Graphics g) {
switch (mode) {
case MOVE:
drawGame(g);
break;
case FIGHT:
drawFight(g);
break;
case MOVIE:
drawMovie(g);
break;
case STATUS:
drawStatus(g);
break;
case PEOPLEINFO:
drawPeopleInfo(g);
break;
case PACKAGE:
drwaPackage(g);
break;
case SKILL:
drawSkill(g);
break;
case MAPINFO:
drwaMapInfo(g);
break;
case SYSINFO:
drawSysInfo(g);
break;
case DIALOGUE:
drawDialogue(g);
break;
case WEAPONSHOP:
drawWeaponShop(g);
break;
case CLOTHESSHOP:
drawClothesShop(g);
break;
case CLOTHESINFO:
drawClothesInfo(g);
break;
case FIGHTERMOVIE:
drawFighterMovie(g);
break;
case YOUWIN:
drawYouWin(g);
break;
// case :
// drawBeginning(g);
// break;
}
}
public void drawBeginning(Graphics g) {
g.drawImage(effectImg[4], width / 2, height, 33);
g.drawImage(emperorImg, 40, height - 38, 33);
g.drawImage(heroImg, width - 40, height - 38, 33);
}
private void drawFighterMovie(Graphics g) {
g.setClip(0, 0, width, height);
g.setColor(0);
g.fillRect(0, 0, width, height);
g.drawImage(sprImg[6], 20, height
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
很强悍的rgp手机游戏源码 (269个子文件)
menu.gif 12KB
background1.gif 8KB
background2.gif 7KB
background3.gif 5KB
route.gif 5KB
flame1.gif 127B
flame2.gif 121B
RpgCanvas.java 61KB
GameCanvas.java 21KB
GameMidlet.java 477B
Man.java 368B
1.map 7KB
0.map 3KB
CPLogo.png 14KB
myLogo.png 9KB
20.png 5KB
SPLogo.png 4KB
6.png 3KB
4.png 2KB
15.png 2KB
19.png 2KB
MSPLogo.png 2KB
3.png 2KB
17.png 2KB
victory.png 2KB
1.png 2KB
defeat.png 1KB
18.png 1KB
7.png 1KB
22.png 1KB
UI_get.png 1KB
city.png 994B
zhangqian.png 797B
emperor.png 787B
5.png 746B
d26.png 688B
b44.png 688B
1.png 684B
d16.png 585B
b50.png 585B
d28.png 519B
b48.png 519B
d19.png 501B
b66.png 501B
d15.png 486B
d14.png 482B
b53.png 453B
s16.png 449B
c4.png 447B
d34.png 445B
b62.png 445B
d36.png 416B
b72.png 416B
b17.png 406B
b42.png 405B
d32.png 405B
16.png 386B
a45.png 384B
5.png 373B
2.png 368B
s23.png 357B
s25.png 352B
a46.png 350B
c8.png 343B
s24.png 342B
s17.png 341B
s57.png 339B
s38.png 338B
effect_1.png 338B
c5.png 335B
s19.png 332B
s59.png 328B
s58.png 325B
s39.png 324B
s18.png 324B
s13.png 319B
s40.png 319B
a63.png 319B
c7.png 316B
s45.png 315B
c0.png 312B
c15.png 310B
c1.png 309B
d24.png 309B
b57.png 309B
s27.png 304B
s32.png 303B
s31.png 303B
b41.png 303B
s15.png 302B
s34.png 301B
s6.png 301B
s22.png 300B
c2.png 299B
s28.png 299B
s26.png 299B
s8.png 298B
s30.png 297B
s46.png 297B
s14.png 296B
共 269 条
- 1
- 2
- 3
资源评论
- yd_gxm2013-05-21java的,我还以为是c++ 的呢
ironhx
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功