Difference between revisions of "User talk:Awesomeness"

From Robowiki
Jump to navigation Jump to search
(Archiving old talk, mentioning problem)
(response, minor cleanup on header)
Line 1: Line 1:
'''Archived talk is [[User_talk:Awesomeness/Archived_Talk|here]].'''
+
{{Navbox small
 
+
| title = Archived talks
 +
| page1 = Archived Talk 20090502
 +
}}
  
 
Okay, I need to make a list of bullets.  I have made a bullet class and everything, but I need a special list that will let me access all of the bullets in a while/for loop and be able to add and remove them at any time and never mess up.  If I did this in a normal array I could do a for loop and access using an increasing number,  but I wouldn't know when to stop.  In a while loop, if I used while(bulletsArray[x] != null) and then increment x, after I remove my first bullet that say, hit a wall, it will stop there.  I need help!
 
Okay, I need to make a list of bullets.  I have made a bullet class and everything, but I need a special list that will let me access all of the bullets in a while/for loop and be able to add and remove them at any time and never mess up.  If I did this in a normal array I could do a for loop and access using an increasing number,  but I wouldn't know when to stop.  In a while loop, if I used while(bulletsArray[x] != null) and then increment x, after I remove my first bullet that say, hit a wall, it will stop there.  I need help!
 
  
 
:Thanks,
 
:Thanks,
 
::[[User:Awesomeness|Awesomeness]] 14:02, 2 May 2009 (UTC)
 
::[[User:Awesomeness|Awesomeness]] 14:02, 2 May 2009 (UTC)
 +
 +
I think this will do:
 +
<pre>
 +
ArrayList<Bullet> bullets = new ArrayList<Bullet>();
 +
for (int i = 0; i < bullets.size(); i++) {
 +
    Bullet bullet = bullets.get(i);
 +
    if (bullet.needRemove()) {
 +
        // I think this will work
 +
        // bullets.remove(i--);
 +
        // but usually I do
 +
        bullets.remove(bullet);
 +
        i--;
 +
    }
 +
}
 +
</pre>
 +
Here I assume that you use ArrayList to store you bullets and your bullet classname is Bullet. If you use a plain array to keep the bullet, consider change to ArrayList. It is more flexible. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 14:09, 2 May 2009 (UTC)
  
 
----
 
----

Revision as of 16:09, 2 May 2009

Archived talks:
Archived Talk 20090502

Okay, I need to make a list of bullets. I have made a bullet class and everything, but I need a special list that will let me access all of the bullets in a while/for loop and be able to add and remove them at any time and never mess up. If I did this in a normal array I could do a for loop and access using an increasing number, but I wouldn't know when to stop. In a while loop, if I used while(bulletsArray[x] != null) and then increment x, after I remove my first bullet that say, hit a wall, it will stop there. I need help!

Thanks,
Awesomeness 14:02, 2 May 2009 (UTC)

I think this will do:

ArrayList<Bullet> bullets = new ArrayList<Bullet>();
for (int i = 0; i < bullets.size(); i++) {
    Bullet bullet = bullets.get(i);
    if (bullet.needRemove()) {
        // I think this will work
        // bullets.remove(i--);
        // but usually I do
        bullets.remove(bullet);
        i--;
    }
}

Here I assume that you use ArrayList to store you bullets and your bullet classname is Bullet. If you use a plain array to keep the bullet, consider change to ArrayList. It is more flexible. » Nat | Talk » 14:09, 2 May 2009 (UTC)