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

2015/9/21

How do you get a random coordinates?

bamafan425 bamafan425

2015/9/21

#
I'm trying to get a random coordinates for my worms, but I can't seem to get it right.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import greenfoot.*;  // (Actor, World, Greenfoot, GreenfootImage)
 
/**
 * This class defines the crab world.
 */
public class CrabWorld extends World
{
    /**
     * Crab world constructor (the beach).
     * Note: Our world has a size of 560x560 cells, where every cell is just 1 pixel.
     */
    public CrabWorld()
    {
        super(560, 560, 1);
        addObject( new Crab(), 150, 100 );
        addObject( new Worm(10), Greenfoot.getRandomNumber(580, 580) );
        addObject( new Lobster(), 20, 480 );
        addObject( new Lobster(), 480, 10 );
        addObject( new Lobster(), 290, 290 );
        addObject( new Person(), 290, 480 );
        prepare();
    }
 
    /**
     * Prepare the world for the start of the program. That is: create the initial
     * objects and add them to the world.
     */
    private void prepare()
    {
    }
     
}
danpost danpost

2015/9/21

#
You need to get each random value (for x- an y- coordinates, in your case) separately.
bamafan425 bamafan425

2015/9/22

#
I'm sorry I am new to programming so you are going to have to explain it a little more.
danpost danpost

2015/9/22

#
bamafan425 wrote...
I'm sorry I am new to programming so you are going to have to explain it a little more.
Change line 16 to:
1
addObject( new Worm(10), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber(580) );
BTW, what is the '10' for when creating one Worm object?
bamafan425 bamafan425

2015/9/22

#
danpost wrote...
bamafan425 wrote...
I'm sorry I am new to programming so you are going to have to explain it a little more.
Change line 16 to:
1
addObject( new Worm(10), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber(580) );
BTW, what is the '10' for when creating one Worm object?
I was trying to get multiple worms in to my game. Is that not the way to do it?
bamafan425 bamafan425

2015/9/22

#
danpost wrote...
You need to get each random value (for x- an y- coordinates, in your case) separately.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
    /**
     * Crab world constructor (the beach).
     * Note: Our world has a size of 560x560 cells, where every cell is just 1 pixel.
     */
    public CrabWorld()
    {
        super(560, 560, 1);
        populateWorld();
    }
 
    /**
     * Prepare the world for the start of the program. That is: create the initial
     * objects and add them to the world.
     */
    private void populateWorld()
    {
       Newcrab();
       Worms();
       NewLobsters();
       NewPerson();
    }
     
    /**
     * Adds a crab to the game at the top right corner.
     */
    private void NewCrab()
    {
      addObject( new Crab(), 150, 100 );
    }
     
    /**
     * Adds worms to game at random places.
     */
    private void Worms()
    {
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
       addObject( new Worm(), Greenfoot.getRandomNumber(580), Greenfoot.getRandomNumber (580) );
    }
     
    /**
     * Adds lobsters into the game at deferent set places.
     */
    private void NewLobsters()
    {
       addObject( new Lobster(), 20, 480 );
       addObject( new Lobster(), 480, 10 );
       addObject( new Lobster(), 290, 290 );
    }
     
    /**
     * Adds a person into the game at a set place.
     */
    private void NewPerson()
    {
       addObject( new Person(), 290, 480 );
    }
     
}
I got it. Thank you so much I would have been here for hours trying to figure it out.
danpost danpost

2015/9/22

#
bamafan425 wrote...
I was trying to get multiple worms in to my game. Is that not the way to do it?
No. You either create and add each one into the world individually or use a 'for' loop to add them into the world.
You need to login to post a reply.