📄 gamecanvas.java
字号:
threadMan.start();
break;
}
repaint();
}
// postofficeControl() 邮局界面控制方法
protected void postofficeControl(int keyCode) {
int action = this.getGameAction(keyCode);
switch (action) {
case Canvas.GAME_B: //9键退出系统画面,回到游戏界面
Base.menuList = 0;
threadMan = new Thread(this);
Base.threadRunnable = true;
threadMan.start();
repaint();
break;
case Canvas.FIRE: //控制没有债务情况下的警告画面的退出
if (Base.lDebt == 0) {
Base.menuList = 0;
}
threadMan = new Thread(this);
Base.threadRunnable = true;
threadMan.start();
repaint();
break;
}
if (keyCode == -6) {
display.setCurrent(new Ad_postMoney(display));
}
if (keyCode == -7) {
Base.menuList = 0;
Base.threadRunnable = true;
threadMan = new Thread(this);
threadMan.start();
repaint();
}
}
// hospitalControl() 医院界面控制方法
protected void hospitalControl(int keyCode) {
int action = this.getGameAction(keyCode);
switch (action) {
case Canvas.GAME_B: //9键退出医院画面,回到游戏界面
Base.menuList = 0;
Base.threadRunnable = true;
threadMan = new Thread(this);
threadMan.start();
repaint();
break;
case Canvas.FIRE: //控制警告画面的退出
if (Base.hospitalStatus == 1 || Base.hospitalStatus == 2) {
Base.menuList = 0;
Base.threadRunnable = true;
threadMan = new Thread(this);
threadMan.start();
Base.hospitalStatus = 0;
repaint();
}
}
if (keyCode == -6) {
display.setCurrent(new Ad_cure(display)); ;
}
if (keyCode == -7) {
Base.menuList = 0;
Base.threadRunnable = true;
threadMan = new Thread(this);
threadMan.start();
repaint();
}
}
// storehouseControl() 库房界面控制方法
protected void storehouseControl(int keyCode) {
int action = this.getGameAction(keyCode);
switch (action) {
case Canvas.GAME_B: //9键退出当前画面,回到游戏界面
Base.menuList = 0;
threadMan = new Thread(this);
Base.threadRunnable = true;
threadMan.start();
repaint();
break;
case Canvas.DOWN:
if (Base.roomPage == 0) {
Base.roomPage = 1;
}
else {
Base.roomPage = 0;
}
break;
case Canvas.UP:
if (Base.roomPage == 0) {
Base.roomPage = 1;
}
else {
Base.roomPage = 0;
}
break;
case Canvas.FIRE:
if (Base.roomPage == 0) {
Base.roomPage = 1;
}
else {
Base.roomPage = 0;
}
break;
default:
}
}
// intermediaryControl() 中介界面控制方法
protected void intermediaryControl(int keyCode) {
int action = this.getGameAction(keyCode);
switch (action) {
case Canvas.GAME_B: //9键退出系统画面,回到游戏界面
Base.menuList = 0;
threadMan = new Thread(this);
Base.threadRunnable = true;
threadMan.start();
repaint();
break;
case Canvas.FIRE:
if (Base.interStatus == 1 || Base.interStatus == 2) {
Base.menuList = 0;
}
Base.threadRunnable = true;
threadMan = new Thread(this);
threadMan.start();
Base.interStatus = 0;
repaint();
}
if (keyCode == -6) {
display.setCurrent(new Ad_inter(display)); ;
}
if (keyCode == -7) {
Base.menuList = 0;
}
Base.threadRunnable = true;
threadMan = new Thread(this);
threadMan.start();
repaint();
}
// systemControl() 系统界面控制方法
protected void systemControl(int keyCode) {
int action = this.getGameAction(keyCode);
switch (action) {
case Canvas.UP:
if (Base.sysDy > 0) {
Base.sysDy--;
}
else {
Base.sysDy = 2;
}
repaint();
break;
case Canvas.DOWN:
if (Base.sysDy < 2) {
Base.sysDy++;
}
else {
Base.sysDy = 0;
}
repaint();
break;
case Canvas.GAME_B: //9键退出系统画面,回到游戏界面
Base.menuList = 0;
repaint();
break;
case Canvas.FIRE:
if (Base.sysDy == 0) {
Base.menuList=0;
Base.sysDy=0;
new RecStore().saveGame();
display.setCurrent(new GameCanvas(display));
;
}
if (Base.sysDy == 1) {
set();
display.setCurrent(new MenuListCanvas(display));
}
if (Base.sysDy == 2) {
Base.menuList = 0;
}
repaint();
}
}
public void loadImage(int goodsItem) {
try {
Base.image006 = Image.createImage("/res/pic006.png");
Base.image007 = Image.createImage("/res/pic007.png");
switch (goodsItem) {
case 0:
Base.image012 = Image.createImage("/res/pic012.png");
break;
case 1:
Base.image013 = Image.createImage("/res/pic013.png");
break;
case 2:
Base.image014 = Image.createImage("/res/pic014.png");
break;
case 3:
Base.image015 = Image.createImage("/res/pic015.png");
break;
case 4:
Base.image016 = Image.createImage("/res/pic016.png");
break;
case 5:
Base.image017 = Image.createImage("/res/pic017.png");
break;
case 6:
Base.image018 = Image.createImage("/res/pic018.png");
break;
case 7:
Base.image019 = Image.createImage("/res/pic019.png");
break;
}
}
catch (Exception e) {}
}
/*将所有的属性恢复到初始状态*/
static public void set() {
/*各标号及偏移量*/
Base.threadRunnable = true; //线程能否运行的标志
Base.index = 0;
Base.dx = 0;
Base.dy = 0; //游戏界面偏移量
Base.metro_dx = 0;
Base.metro_dy = 0; //地铁界面偏移量
Base.game = true;
Base.sysDy = 0;
Base.menuList = 0; //game界面菜单的编号
Base.goodsItem = 0; //商品的编号
Base.roomPage = 0; //仓库的页面数
Base.bankStatus = 0; //银行的界面编号
/*属性变量的设置*/
// 日期(游戏时间,上限40天)
Base.nDate = 0;
//健康点数-30到100点少于-20点就回家养伤,告别北京
Base.nHealth = 99;
//现金数
Base.lCash = 6000;
//存款
Base.lSave = 0;
//债务
Base.lDebt = 2500;
//拥有的货物数量,及拥有的库房大小
Base.lRoom = 100;
/*持有商品的属性*/
Base.vcd_price = 0; //持有商品VCD的平均价格
Base.vcd_number = 0; //持有商品VCD的数量
Base.phone_price = 0;
Base.phone_number = 0;
Base.sk_price = 0;
Base.sk_number = 0;
Base.cigar_price = 0;
Base.cigar_number = 0;
Base.wine_price = 0;
Base.wine_number = 0;
Base.toy_price = 0;
Base.toy_number = 0;
Base.book_price = 0;
Base.book_number = 0;
Base.car_price = 0;
Base.car_number = 0;
/*
* 黑市商品的属性
*/
Base.market_vcd_price = 0;
Base.market_phone_price = 0;
Base.market_sk_price = 0;
Base.market_cigar_price = 0;
Base.market_wine_price = 0;
Base.market_toy_price = 0;
Base.market_book_price = 0;
Base.market_car_price = 0;
}
/*商品价格的随机变动*/
static public void randomPrice() {
Random rand = new Random();
Base.market_vcd_price = Base.Average_vcd_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_cigar_price = Base.Average_cigar_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_phone_price = Base.Average_phone_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_sk_price = Base.Average_sk_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_wine_price = Base.Average_wine_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_toy_price = Base.Average_toy_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_book_price = Base.Average_book_price *
(Math.abs(rand.nextInt()) % 6 + 2);
Base.market_car_price = Base.Average_car_price *
(Math.abs(rand.nextInt()) % 6 + 2);
}
/*用于实现存款的内部类*/
public class Ad_bankSave
extends Form
implements CommandListener {
Display display;
Command commandOK;
Command commandExit;
TextField text;
public Ad_bankSave(Display display) {
super("");
this.display = display;
text = new TextField("请输入要存款的数目:", "", 50, TextField.NUMERIC);
commandOK = new Command("确定", Command.OK, 1);
commandExit = new Command("取消", Command.CANCEL, 1);
this.addCommand(commandOK);
this.addCommand(commandExit);
this.append(text);
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
String cmd = c.getLabel();
long number; //用于接收输入的金额
if (cmd.equals("确定")) {
number = Integer.parseInt(text.getString());
if (Base.lCash >= number) { //判断能否进行储蓄
Base.lCash -= number;
Base.lSave += number;
Base.bankStatus = 1;
}
else {
Base.bankStatus = 2;
}
display.setCurrent(new GameCanvas(display)); //回到低级界面
}
if (cmd.equals("取消")) {
display.setCurrent(new GameCanvas(display));
}
}
}
/*用于实现取款的内部类*/
public class Ad_bankWithdraw
extends Form
implements CommandListener {
Display display;
Command commandOK;
Command commandExit;
TextField text;
public Ad_bankWithdraw(Display display) {
super("");
this.display = display;
text = new TextField("请输入要取款的数目:", "", 50, TextField.NUMERIC);
commandOK = new Command("确定", Command.OK, 1);
commandExit = new Command("取消", Command.CANCEL, 1);
this.addCommand(commandOK);
this.addCommand(commandExit);
this.append(text);
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
String cmd = c.getLabel();
long number; //用于接收输入的金额
if (cmd.equals("确定")) {
number = Integer.parseInt(text.getString());
if (Base.lSave >= number) { //判断能否进行储蓄
Base.lCash += number;
Base.lSave -= number;
Base.bankStatus = 3;
}
else {
Base.bankStatus = 2;
}
display.setCurrent(new GameCanvas(display)); //回到低级界面
}
if (cmd.equals("取消")) {
display.setCurrent(new GameCanvas(display));
}
}
}
/*用于实现汇款的内部类*/
public class Ad_postMoney
extends Form
implements CommandListener {
Display display;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -