Jump to content
  • Advertisement
Sign in to follow this  
Pufixas

Is it alive? No. But wait... Yes!

This topic is 1837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement

Nice, I wonder how "isDead" is implemented though...

It just returns isDead boolean variable lol!

Share this post


Link to post
Share on other sites

On first read, I actually thought it did what it was supposed to. That is amusing, though. I always wonder when people give a variable an initial value, before assigning a value to it in all possible branches.

Share this post


Link to post
Share on other sites

That is amusing, though. I always wonder when people give a variable an initial value, before assigning a value to it in all possible branches.

It's more foolproof in case you forget to initialize it later. It ensures the variable can't be used with an undefined value no matter what.

 

Also, compilers will complain if you don't do this. Most of the time they will detect if it's guaranteed to get initialized later (in which case they won't emit a  warning), but in some cases they may fail to realize it (and in some cases it's guaranteed but it relies on code from outside which means the compiler outright can't tell).

Share this post


Link to post
Share on other sites

And if you feel that is just leaving Schrödinger's cat in the box:

 

 
 
public class Critter {
 
    // Given
    public boolean isAlive(){
        boolean alive = false;
        
        if(isDead() == true) alive = isDead();
        if(isDead() == false) alive = !isDead();
     
        return alive;
    }
 
    private boolean dead = false;
 
    private int counter = 0;
    
    private boolean isDead() {
        if(dead) {
            ++counter;
            return dead && counter % 2 == 0;
        }
        return dead;
    }
    
    public void squish() {
        dead = true;
    }
 
}
 

i'm curious if you intended the counter to actually be useful in making sure isAlive return the correct result?

 

edit: actually, after re-reading the code several times, i'm not sure if it does actually fix it.

 

edit2: you'd use a pre-increment on it's own line?  i tend to stick to post-increments if it's on it's own line.

Edited by slicer4ever

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!