This site requires JavaScript, please enable it in your browser!
Greenfoot back
MikaR03
MikaR03 wrote ...

2020/4/19

I need help

1
2
3
MikaR03 MikaR03

2020/4/19

#
I am making a game for school. I am making a race game. I want it to make so if the car that i am driving hits other oncoming cars the game is over and it switches to the game over screen i made. I only dont know how to make that. Please help me.
danpost danpost

2020/4/19

#
MikaR03 wrote...
I am making a game for school. I am making a race game. I want it to make so if the car that i am driving hits other oncoming cars the game is over and it switches to the game over screen i made. I only dont know how to make that. Please help me.
What have you tried? (show attempted codes)
MikaR03 MikaR03

2020/4/19

#
i tried this
public void crash
{
if(isTouching(CAR.class))
{
removeTouching(CAR.class);
Greenfoot.setWorld(new GameOver());
}
\
MikaR03 MikaR03

2020/4/19

#
i also tried this Brandweer1 is the name of the enemy car
  public void checkBrandweer1() 
    {
 
        if(touchingEnemy()) 
        {
 
            Greenfoot.setWorld(new GameOver());
 
        }
    }
  checkEnemy();
  public boolean touchingEnemy()
    {
        Actor enemy = getOneIntersectingObject(Brandweer1.class);
        return (enemy != null);
    }
danpost danpost

2020/4/19

#
MikaR03 wrote...
i tried this
public void crash
{
if(isTouching(CAR.class))
{
removeTouching(CAR.class);
Greenfoot.setWorld(new GameOver());
}
\
This should work, provided that you are calling the method properly. (show codes)
MikaR03 MikaR03

2020/4/19

#
import greenfoot.*;

/**
 * Write a description of class Brandweer1 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Brandweer1 extends Tegenliggers
{
    /**
     * Act - do whatever the Brandweer1 wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        move(5);
         checkRand();
         public void crash
    {
    if(isTouching(CAR.class))
    {
      removeTouching(CAR.class);
     Greenfoot.setWorld(new GameOver());
    }
    }    
}
MikaR03 MikaR03

2020/4/19

#
it doesnt work
MikaR03 MikaR03

2020/4/19

#
this is the code of the enemy
import greenfoot.*;

/**
 * Write a description of class Brandweer1 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Brandweer1 extends Tegenliggers
{
    /**
     * Act - do whatever the Brandweer1 wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        move(5);
         checkRand();
        
        }
    
        public void crash()
    {
    if(isTouching(CAR.class))
    {
      removeTouching(CAR.class);
     Greenfoot.setWorld(new GameOver());
    
   }
     }  
}

MikaR03 MikaR03

2020/4/19

#
This is the code of the car
import greenfoot.*;

/**
 * Write a description of class CAR here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class CAR extends Actor
{
    /**
     * Act - do whatever the CAR wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
  
    {

        if (Greenfoot.isKeyDown("left")) {
            setRotation(-5);
            move(-5);
        }
        if (Greenfoot.isKeyDown("right")) {
            setRotation(5);
            move(5);
        }
        
        if (getX()>500){
            setLocation(500, getY());
        }    
        if (getX()<133){
            setLocation(133, getY());
        }
     
  } 
  
}
MikaR03 MikaR03

2020/4/19

#
do you need any other codes to help me?
MikaR03 MikaR03

2020/4/19

#
Thank you very very much for making some time for me!!!!!!!!!!!!!! I need it!!
danpost danpost

2020/4/19

#
MikaR03 wrote...
<< Code Omitted >>
(before)
it doesnt work
The Brandweer1 act method has a method inside of it.
this is the code of the enemy << Code Omitted >>
Line 18 calls an unknown method and I do not see where the crash method is being called from.
MikaR03 wrote...
This is the code of the car << Code Omitted >>
I do not see anything wrong here.
MikaR03 MikaR03

2020/4/19

#
the method on line 18 is mad in my world this is my world code
import greenfoot.*;

/**
 * Write a description of class Circuit here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Circuit_Level1 extends World
{
    /**
     * Constructor for objects of class Circuit.
     * 
     */
     /**
     * Er zijn 3 kolommen waarin schildpadden kunnen verschijnen. Bij elke verschijn-methode wordt die kolom bepaald
     * door de y-waarde in de code: addObject (schildpad3, 100,10); In dit voorbeeld dus 100.
     * Voor kolom 2 staat deze ingesteld op 200 en voor kolom 3 op 300
     */
  
    // na het verschijnen van een schildpad moet het even duren voordat er op die plek een nieuwe komt, 
    // anders overlappen ze elkaar. Dat is de cooldown-periode, met per schildpad deze variabele:
    int cooldown1 = 0;
    int cooldown2 = 0;
    int cooldown3 = 0;
    int cooldown4 = 0;
  // als er een schildpad is verschenen, wordt deze variabele op 1 gezet, tot na de cooldown-periode
    int verschenen1 = 0;
    int verschenen2 = 0;
    int verschenen3 = 0;
    int verschenen4 = 0;
    
    
    public Circuit_Level1()
        {
        /**
         * Level2
        addObject (new Snelweg3(),309, -19555);
        addObject (new Snelweg4(),309, -27645);
        //Level3
        addObject (new Snelweg5(),309, -35735);
        addObject (new Snelweg_6(),309, -43825);
        //Level4 Endboss
        addObject (new Snelweg_7(),309, -51915);
        addObject (new Snelweg_8(),309, -60005);
        */
        
            
        super(617, 720, 1, false); 
        addObject (new Snelweg(),309, -19555);
        addObject (new Snelweg2(),309, -11465);
        addObject (new Gras_Links(), 43, -19555);
        addObject (new Gras_Rechts(), 574, -19555);
        addObject (new Gras_Links2(), 43, -11465);
        addObject (new Gras_Rechts2(), 574, -11465);
        
        addObject (new Knop_1naar2(), 308, 360);
        
        
        // Create a new highway and put in world as background
        // Level1
        addObject (new Snelweg(),309, -3375);
        
        // Creat a new grasveld on the left en right side and put in world
        /*
         * //Level2
        addObject (new Gras_Links3(), 43, -19555);
        addObject (new Gras_Rechts3(), 574, -19555);
        addObject (new Gras_Links4(), 43, -27645);
        addObject (new Gras_Rechts4(), 574, -27645);
        //Level3
        addObject (new Gras_Links5(), 43, -35735);
        addObject (new Gras_Rechts5(), 574, -35735);
        addObject (new Gras_Links6(), 43, -43825);
        addObject (new Gras_Rechts6(), 574, -43825);
        //Level4 Endboss
        addObject (new Gras_Links7(), 43, -51915);
        addObject (new Gras_Rechts7(), 574, -51915);
        addObject (new Gras_Links8(), 43, -60005);
        addObject (new Gras_Rechts8(), 574, -60005);
         */
        //Level1
        addObject (new Gras_Links(), 43, -3375);
        addObject (new Gras_Rechts(), 574, -3375);
        
        
    

        // Create a new car and put in the world
        addObject (new CAR(), 309, 490);
        
      
     
   }
   public void act()
    {
        /**
         * Als je op spatiebalk drukt, begint het spel
         */
        if (Greenfoot.isKeyDown("space"))
        {
            Greenfoot.setWorld(new Woestijn_Level2());
        }
        
        // per schildpad een verschijn-methode:
        //verschijn2();
       //verschijn3();
       //verschijn4();
       verschijn1();
       
    }
   

  
    public void verschijn1()
    {
        /**
            * public void verschijn2()
        {
          
        if (cooldown2 == 0)
        {
            if (Greenfoot.getRandomNumber(60) == 1) // varieer evt de waarde van het random number
            {     
           
             Brandweer2 brandweer2 = new Brandweer2();   
             brandweer2.setRotation(90); // draai de schildpad omlaag
            addObject (brandweer2, 200,10); // leg de schildpad klaar
            verschenen2 = 1;
            }
        
        }
        if (verschenen2 == 1)
        {
            cooldown2++;
        }
        
        if (verschenen2 == 1) {
            if (cooldown2 == 70) // varieer evt deze waarde
            {
            cooldown2 = 0;
            verschenen2 = 0;
            }
        }
       
       }
    
       public void verschijn3()
      {
        if (cooldown3 == 0)
        {
            if (Greenfoot.getRandomNumber(100) == 1) // varieer evt de waarde van het random number
            {     
           
             Brandweer3 brandweer3 = new Brandweer3();   
             brandweer3.setRotation(90); // draai de schildpad omlaag
            addObject (brandweer3, 300,10); // leg de schildpad klaar
            verschenen3 = 1;
            }
        
        }
        if (verschenen3 == 1)
        {
            cooldown3++;
        }
        
        if (verschenen3 == 1) {
            if (cooldown3 == 50) // varieer evt deze waarde
            {
            cooldown3 = 0;
            verschenen3 = 0;
            }
        }
       
        }
        public void verschijn4()
        {
        if (cooldown1 == 0)
        {
            if (Greenfoot.getRandomNumber(100) == 1) // varieer evt de waarde van het random number zodat er vaker
            // schildpadden verschijnen
            {     
           
             Brandweer4 brandweer4 = new Brandweer4();   
             brandweer4.setRotation(90); // draai de schildpad omlaag
            addObject (brandweer4, 100,10); // leg de schildpad klaar
            verschenen1 = 1; // hij is nu net verschenen, dus deze waarde tijdelijk op 1 zodat er geen nieuwe verschijnt
            }
        
        }
        // zolang verschenen1 gelijk is aan 1, tellen we 1 op bij de cooldown-periode
        if (verschenen4 == 1)
        {
            cooldown1++;
        }
        
        // als verschenen1 gelijk is aan 1 en de cooldown-periode is bereikt, dan tellers weer op nul
        if (verschenen4 == 1) {
            if (cooldown4 == 60) // varieer evt deze waarde voor de lengte vd cooldown-periode
            {
            cooldown4 = 0;
            verschenen4 = 0;
            }
        }
       
        }
         */
        if (cooldown1 == 0)
        {
            if (Greenfoot.getRandomNumber(100) == 1) // varieer evt de waarde van het random number zodat er vaker
            // schildpadden verschijnen
            {     
           
             Brandweer1 brandweer1 = new Brandweer1();   
             brandweer1.setRotation(90); // draai de schildpad omlaag
            addObject (brandweer1, 150,0); // leg de schildpad klaar
            verschenen1 = 1; // hij is nu net verschenen, dus deze waarde tijdelijk op 1 zodat er geen nieuwe verschijnt
            }
        
        }
        // zolang verschenen1 gelijk is aan 1, tellen we 1 op bij de cooldown-periode
        if (verschenen1 == 1)
        {
            cooldown1++;
        }
        
        // als verschenen1 gelijk is aan 1 en de cooldown-periode is bereikt, dan tellers weer op nul
        if (verschenen1 == 1) {
            if (cooldown1 == 100) // varieer evt deze waarde voor de lengte vd cooldown-periode
            {
            cooldown1 = 0;
            verschenen1 = 0;
            }
        }
       
    }
    
    
}
MikaR03 MikaR03

2020/4/19

#
How do you mean i dont see where the crash method is called from what do i have to do whit that method. I just called it "crash" or cant i do that?
MikaR03 MikaR03

2020/4/19

#
It does work now but if the enemy car is just loading in and the character car is at the bottom it already goes to the GamOver screen
import greenfoot.*;

/**
 * Write a description of class Brandweer1 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Brandweer1 extends Tegenliggers
{
    /**
     * Act - do whatever the Brandweer1 wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        move(5);
         checkRand();
        
         if(isTouching(CAR.class))
    {
      removeTouching(CAR.class);
     Greenfoot.setWorld(new GameOver());
    
   }
        }
    
    }

There are more replies on the next page.
1
2
3