有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

爪哇淘金热

我的任务是: 使生效 A. 小的 游戏 在里面 其中:

  1. 在那里 是 二 岛屿 在里面 A. 大海

  2. A 船 需要 到 长途行走 从…起 一 岛 到 另一个 岛 到 聚集 像 很 金 像 可能的 和 来 回来

  3. 那个 船 可以 是 导航 使用 这个 箭 钥匙

  4. A 船 不能 帆 通过 一 小岛

  5. 在那里 是 海 矿山 沿着 这个 方法 移动 在 随机的

  6. 那个 矿山 做 不 去 通过 这个 岛屿 像 他们 漂流 到处都是

  7. 如果 这个 船 击打 A. 矿 信息技术 是 摧毁。 每个 船 有 三 生命

  8. 它 拿 时间 对于 这个 金 到 是 充分地 加载 进入 这个 船 这 时间 是 大概 三 几秒钟。 如果 A. 船 没有 等待 这 长的 信息技术 是 部分地 加载 具有 金子

  9. 那个 相同的 发生 对于 卸货

  10. 那个 游戏 末端 之后 你 充分地 卸载 五 时报, 或 你的 生活 结束

  11. 在那里 是 三 困难 对于 这个 游戏: 容易的 中等的 和 困难的 一 容易的 游戏 有 较少的 矿山 比 A. 中等的 游戏 和 A. 中等的 游戏 有 较少的 矿山 比 A. 困难的 游戏

这就是我现在所拥有的:

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class GoldRush extends Applet {

int boatx=125;
int boaty= 270;
int lifes = 3;
int gold1=0;
int gold2=20;
int option;

/**
 * @param args the command line arguments
 */
public void init()
{

        setSize(900, 500);

        Object[] options = {"Easy", "Meduim","Difficult"};
         option = JOptionPane.showOptionDialog(this,"Choose a difficulty ","Gold Rush",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,
                null,options,options[2]);
        addKeyListener(new KeyListener());
        setFocusable(true);

    }

public  void paint(Graphics g) {

  Image back,boat,bomb,gold;

  back = getImage("back.jpg");
  boat = getImage("boat.jpg");
  bomb = getImage("bomb.jpg");
  gold = getImage("gold.jpg");
  g.drawImage(back, 0, 0, null);
  g.setColor(Color.BLACK);
  g.drawString("Lifes: "+ lifes, 10, 20);
  g.drawString("Gold on Your ISland: "+ gold1, 10, 40);
  g.drawString("Gold on the other Island: "+ gold2, 10, 60);

  if(boatx >=125 && boatx <= 640&& boaty >= 2 && boaty <= 450){
      g.drawImage(boat, boatx, boaty, null);
  }else {
      if(boatx<125) boatx=125;
      if(boatx>640) boatx=640;
      if(boaty<2) boaty=2;
      if(boaty>450) boaty=450;
      g.drawImage(boat, boatx, boaty, null);
  }



  if (option == 0){
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);

  }
  else if (option == 1){
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);

  }
  else if (option == 2){
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);
       g.drawImage(bomb, (int)(145 + (Math.random() * (601 - 145))),(int)(190 + (Math.random() * (700 - 190))) , null);

  }


}



public Image getImage(String name){
URL imgUrl = getClass().getClassLoader().getResource("resources/"+name);
ImageIcon icon = new ImageIcon(imgUrl);
return icon.getImage();
}  
    public void up(){

        boaty= boaty-5;
        repaint();  
}  
  public void down(){

        boaty= boaty+5;
        repaint();  
}  
  public void left(){
    if(boatx >= 125)
        boatx= boatx-5;
        repaint();  
}
  public void right(){

        boatx= boatx+5;
        repaint();  
}
class KeyListener extends KeyAdapter{
    public KeyListener(){

    }

    @Override
    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub
        super.keyPressed(e);
        switch(e.getKeyCode()){
        case KeyEvent.VK_LEFT : left();break;
    case KeyEvent.VK_RIGHT: right();break;
    case KeyEvent.VK_UP: up();break;
    case KeyEvent.VK_DOWN: down(); break;
        default:
            System.out.println("You pressed: " + e.getKeyCode());
        }
    }
}


}

我不知道怎么做8号,在那里我检查船是否停留3秒以满载黄金。你能帮我吗

我将不胜感激;)


共 (1) 个答案

  1. # 1 楼答案

    你的船有一个x和y坐标的位置。如果创建了孤岛,则计算/读取定位孤岛的坐标。然后,在船的每次移动之后,你都要检查船是否在你的岛上(或附近)。如果是这样,你可以启动一个计时器,将黄金“传送”到你的船上