Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (774)
Games in Android Showcase (230)
games submitted by our members
Games in WIP (856)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Placing houses on random generated map?  (Read 587 times)
0 Members and 1 Guest are viewing this topic.
Offline GustavXIII

Junior Devvie


Projects: 1



« Posted 2018-10-19 12:29:15 »

EDIT: Fixed it by checking distance between houses.

If I create a random generated map with 2 dimension array like [50][50], how could I add random houses?
I thought about putting a random number inside every array field and if the number is like 7, then a house will be generated there.
I would have to edit the surrounding arrays to make it like a house shape.

But the problem is, what if many houses spawn close together? Then it would be weird having houses inside each other.
Is there some other solution?

1  
int mapArray[][]= new int[50][50];


1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
  public void createMap(){
            Random rand = new Random();

            for (int x = 0; x < mapArray.length; x++) {
               for (int y = 0; y < mapArray[x].length; y++) {
                  int i = rand.nextInt(200);
                  if (i==199) mapArray[x][y] = 2;
                  else if (i > 150) mapArray[x][y] = 1;                
                  else mapArray[x][y] = 0;
               }
            }
}


2 means a house should be build. 0 is grass tile and 1 earth.


I draw Map like this:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
public void drawMap(Graphics g){
        for (int x = 0; x < mapArray.length; x++) {
            for (int y = 0; y < mapArray[x].length; y++) {
               switch (mapArray[x][y]) {
               case 0: g.drawImage(grass, x * 64, y * 64);  
               break;
               case 1: g.drawImage(earth, x * 64, y * 64);
               break;
               case 2: g.drawImage(stone, x * 64, y * 64);
               break;            
               }
            }
         }        
     }
Pages: [1]
  ignore  |  Print  
 
 

 
EgonOlsen (1865 views)
2018-06-10 19:43:48

EgonOlsen (1888 views)
2018-06-10 19:43:44

EgonOlsen (1256 views)
2018-06-10 19:43:20

DesertCoockie (1688 views)
2018-05-13 18:23:11

nelsongames (1357 views)
2018-04-24 18:15:36

nelsongames (1975 views)
2018-04-24 18:14:32

ivj94 (2743 views)
2018-03-24 14:47:39

ivj94 (1945 views)
2018-03-24 14:46:31

ivj94 (3036 views)
2018-03-24 14:43:53

Solater (1088 views)
2018-03-17 05:04:08
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!