Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
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  
  My find neighbors function isn't working  (Read 324 times)
0 Members and 1 Guest are viewing this topic.
Offline kingroka123

JGO Knight


Medals: 27
Projects: 5
Exp: 1 year


Gamer's Helmet


« Posted 2013-07-12 16:06:57 »

hey i have a function with the intention of finding neighbors. I attempt to do this by running through an arraylist where all of the blocks are stored then checking to see if the x or y is exactly 16 above or below (16x16 is the size of the block)
here is my code:
thanks for the help
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  
public void FindNeighbors(){
   //BlockSpawn is the class which creates the blocks
  //b is an array list holding each block
  //type is what type of block it is...1 for land 2...for water
  //right, left, down, and up are booleans that just say if there is a water
  //or land block above, below, or beside this block
  //it only activates the boolean if this block and the compared block
  //have different types
 
   for(int i=0;i<BlockSpawn.b.size();i++){
         if(BlockSpawn.b.get(i).x==x+16){
            if(type!=BlockSpawn.b.get(i).type){
               right=true;
            }
            else{
               right=false;
            }
         }
         if(BlockSpawn.b.get(i).x==x-16){
            if(type!=BlockSpawn.b.get(i).type){
               left=true;
            }
            else{
               left=false;
            }
         }
         if(BlockSpawn.b.get(i).y==y+16){
            if(type!=BlockSpawn.b.get(i).type){
               up=true;
            }
            else{
               up=false;
            }
         }
         if(BlockSpawn.b.get(i).y==y-16){
            if(type!=BlockSpawn.b.get(i).type){
               down=true;
            }
            else{
               down=false;
            }
         }
      }

}

Offline EgonOlsen
« Reply #1 - Posted 2013-07-13 00:09:46 »

An example of what's wrong here: A complete column of blocks will return true on the x+16-check (all blocks that are right from the current one, no matter what their y coordinate is). The last block in that column determines the final state of "right" after the iteration has ended. The same is true for all other checks.

Offline kingroka123

JGO Knight


Medals: 27
Projects: 5
Exp: 1 year


Gamer's Helmet


« Reply #2 - Posted 2013-07-13 23:34:18 »

thanks i fixed it Smiley

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Riven (20 views)
2014-07-29 18:09:19

Riven (13 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (31 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (42 views)
2014-07-23 21:16:32

Riven (28 views)
2014-07-23 21:07:15

Riven (29 views)
2014-07-23 20:56:16

ctomni231 (60 views)
2014-07-18 06:55:21
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!