예제 #1
0
  public void
      checkTPress() // this method whether T key is being pressed o not and move the object
                    // according do following.
      {
    if (alive) // check if the ship alive
    {
      DeepSpace myDeepSpace = (DeepSpace) getWorld(); // get referance to the DeepSpace class
      FuelTank myFuelTank =
          myDeepSpace
              .myFuelTank(); // use myFuelTank method that return reference of FuelTank class. So
                             // you can call method of Fueltank class.

      if (Greenfoot.isKeyDown("t")
          && !myFuelTank
              .empty()) // if "t" key is being pressed by user and if i have enough fuel, do
                        // following.
      {

        move(3); // move forward direction of object
        setImage("rocket.png"); // set the image rocket that seems like burning fuel.
        myFuelTank
            .burn(); // call the Fueltank class method in order to decrese level of fuel on screen
      } else
        setImage("rocket_noThrust.png"); // if no key is being press than set the regular picture.
    }
  }
예제 #2
0
  public void act() // sean
      {

    if (!played) {
      burningSteppes.playLoop();
      played = !played;
    }
    // makeSmokeFireball();
    counterDelay++;
    if (Greenfoot.isKeyDown("h") && delay > 10) {
      clickSound.play();
      Menu menu = new Menu(getThisWorld());
      Greenfoot.setWorld(menu);
      delay = 0;
    }
    if (getObjects(Ninja.class).size() != 0 && counterDelay >= 10) {
      healthCounter.setValue(ninja.getNINJAHP());
      shurikenCounter.setValue(ninja.getSHURIKENNUMBER());
      powerCounter.setValue(ninja.getPOWERBAR());
      checkDoor();
      counterDelay -= 10;
      /**/
      // TEMPORAY FUNCTIONS FOR HAYDEN TO CHANGE LEVELS TO MAKE THEM /**/

      /**/
      // TEMPORAY FUNCTIONS FOR HAYDEN TO CHANGE LEVELS TO MAKE THEM /**/
    }
    delay++;
    fireballDelay++;
  }
    /**
     * Act - do whatever the GameLogicVracht wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        float dt = 1.0f / 60.0f;
                     
        //Deze code spawnt de containers en checkt of er collision is tussen containers en trucks met bijbehorende kleuren. Zo ja, dan worden er acties uitgevoerd.
        //Gele truck
        for(int i = 0; i < AantalContainersGeel; i++)
        {
            if(EpicVrachtOverslaan.Vector2.Distance(truckGeelPosition, containerGeelPosition.get(i)) <= 50.0)
            {
                //Als de container de vrachtwagen aangeraakt heeft, is er collision. Dan doen we:
                collisiongeel = 1;
            }

            if(collisiongeel == 1)
            {
            //Eerst veranderen we de sprite naar de volle versie.    
            truckGeelAppearance = new EpicVrachtOverslaan.Texture2D("Truck Geel Vol.png");
            //Dan rijdt de truck weg.
            truckGeelPosition = truckGeelPosition.sub(EpicVrachtOverslaan.Vector2.UnitX.mul(dt).mul(300.0f));
            //eventueel kunnen we later nog toevoegen dat de trucks elkaars plaats innemen.
                     
            }
        }
            
            
        //Blauwe truck
        for(int i = 0; i <  AantalContainersBlauw; i++)
        {
            if(EpicVrachtOverslaan.Vector2.Distance(truckBlauwPosition, containerBlauwPosition.get(i)) <= 50.0)
            {
                //Als de container de vrachtwagen aangeraakt heeft, is er collision. Dan doen we:
                collisionblauw = 1;
            }
         
            if(1 == 1)
            {
            //Eerst veranderen we de sprite naar de volle versie.    
            truckBlauwAppearance = new EpicVrachtOverslaan.Texture2D("Truck Blauw Vol.png");
            //Dan rijdt de truck weg.
            truckBlauwPosition = truckBlauwPosition.sub(EpicVrachtOverslaan.Vector2.UnitX.mul(dt).mul(28.0f));
            //eventueel kunnen we later nog toevoegen dat de trucks elkaars plaats innemen.
            }
        }
            
        //Groene truck
        for(int i = 0; i <  AantalContainersGroen; i++)
        {
            if(EpicVrachtOverslaan.Vector2.Distance(truckGroenPosition, containerGroenPosition.get(i)) <= 50.0)
            {
                //Als de container de vrachtwagen aangeraakt heeft, is er collision. Dan doen we:
                collisiongroen = 1;
            }
         
            if(collisiongroen == 1)
            {
            //Eerst veranderen we de sprite naar de volle versie.    
            truckGroenAppearance = new EpicVrachtOverslaan.Texture2D("Truck Groen Vol.png");
            //Dan rijdt de truck weg.            
            truckGeelPosition = truckGeelPosition.sub(EpicVrachtOverslaan.Vector2.UnitX.mul(dt).mul(300.0f));
            //eventueel kunnen we later nog toevoegen dat de trucks elkaars plaats innemen.
            }
        }
        
        
        //Rood
        for(int i = 0; i <  AantalContainersRood; i++)
        {
          
            if(EpicVrachtOverslaan.Vector2.Distance(truckRoodPosition, containerRoodPosition.get(i)) <= 50.0)
            {
            //Als de container de vrachtwagen aangeraakt heeft, is er collision. Dan doen we:

            collisionrood = 1;
            }
         
            if(collisionrood == 1)
            {
            //Eerst veranderen we de sprite naar de volle versie.    
            truckRoodAppearance = new EpicVrachtOverslaan.Texture2D("Truck Rood Vol.png");
            //Dan rijdt de truck weg.
            truckRoodPosition = truckRoodPosition.sub(EpicVrachtOverslaan.Vector2.UnitX.mul(dt).mul(300.0f));   
            }
        }
        
        for(int i = 0; i <  AantalContainersRood; i++)
        {
            if(EpicVrachtOverslaan.Vector2.Distance(grijperPosition, containerRoodPosition.get(i)) <=50.0 && Greenfoot.isKeyDown(" "))
            {
                JOptionPane.showMessageDialog(new JInternalFrame(), "Message content","Message title", JOptionPane.INFORMATION_MESSAGE);  
                
                containerRoodPosition[i];
            }
        }
        
        
        
        
       
        //Met deze code word het bewegen v.d. grijper met de w-a-s-d toetsen geregeld.
        if (Greenfoot.isKeyDown("A"))
          grijperPosition = grijperPosition.sub(EpicVrachtOverslaan.Vector2.UnitX.mul(dt).mul(300.0f));
        if (Greenfoot.isKeyDown("D"))
          grijperPosition = grijperPosition.add(EpicVrachtOverslaan.Vector2.UnitX.mul(dt).mul(300));
        if (Greenfoot.isKeyDown("W"))
          grijperPosition = grijperPosition.sub(EpicVrachtOverslaan.Vector2.UnitY.mul(dt).mul(300.0f));
        if (Greenfoot.isKeyDown("S"))
          grijperPosition = grijperPosition.add(EpicVrachtOverslaan.Vector2.UnitY.mul(dt).mul(300.0f));
        
        
        //Alle code hieronder doet het daadwerkelijke "plaatsen" v.d. objecten onder de door ons hierboven gegeven voorwaarden.
        EpicVrachtOverslaan.DrawingContext drawingContext = EpicVrachtOverslaan.DrawingContext;
        drawingContext.BeginDraw();
        EpicVrachtOverslaan.DrawingContext.Draw(truckGeelAppearance, truckGeelPosition);
        EpicVrachtOverslaan.DrawingContext.Draw(truckRoodAppearance, truckRoodPosition);
        EpicVrachtOverslaan.DrawingContext.Draw(truckGroenAppearance, truckGroenPosition);
        EpicVrachtOverslaan.DrawingContext.Draw(truckBlauwAppearance, truckBlauwPosition);
       
        for(EpicVrachtOverslaan.Vector2 a : containerGeelPosition)
        {
            drawingContext.Draw(containerGeelAppearance, a);
        }
        
        for(EpicVrachtOverslaan.Vector2 a : containerRoodPosition)
        {
            drawingContext.Draw(containerRoodAppearance, a);
        }
        
        for(EpicVrachtOverslaan.Vector2 a : containerGroenPosition)
        {
            drawingContext.Draw(containerGroenAppearance, a);
        }
        
        for(EpicVrachtOverslaan.Vector2 a : containerBlauwPosition)
        {
            drawingContext.Draw(containerBlauwAppearance, a);
        }
              
        EpicVrachtOverslaan.DrawingContext.Draw(grijperAppearance, grijperPosition);
        
        EpicVrachtOverslaan.DrawingContext.Draw(voortgansbalkAppearance, voortangsbalkPosition);
        EpicVrachtOverslaan.DrawingContext.Draw(indicatiebalkAppearance, indicatiebalkPosition);
        
        
        

    }