How do you create an algorithm which will randomly generate hills, caves, trees and stuff like that.


int x=0; int y=Greenfoot.getRandomNumber(10)*16; public GameWorld() { super(720, 560, 1); } public void act() { generate(); } public void generate() { if(x<getWidth()) { for(int i;i<getHeight;i+=16) { addObject(new Block(), x, i+y); } x+=16; y=Greenfoot.getRandomNumber(10)*16; } }
public void generate() { if(x<getWidth()) { for(int i=0;i<getHeight();i+=16) { addObject(new Block(), x, i+y); } x+=16; y=Greenfoot.getRandomNumber(10)*16; } }
int x = 0; int y = Greenfoot.getRandomNumber(20)*16+48; public GameWorld() { super(720, 560, 1); } public void act() { generate(); } public void generate() { if(x<=getWidth()){ for(int i=0;i<getHeight();i+=16) { addObject(new Block(), x, i+y); } x+=16; int upDown = Greenfoot.getRandomNumber(4); if(upDown == 0 && y > 48){ y -= Greenfoot.getRandomNumber(2)*16; }else if(upDown == 1 && y < getHeight()){ y += Greenfoot.getRandomNumber(2)*16; }else if(upDown == 2 && y > 48){ y -= Greenfoot.getRandomNumber(3)*16; }else if(upDown == 3 && y < getHeight()){ y += Greenfoot.getRandomNumber(3)*16; } } }