Name: Brunch 2012-08-09 9:20
Heya /prog/. I'm programming in java and there's something that really bothers me about my code. I'll write pseudocode so it's easier to see what I mean so don't get picky on syntax.
class entity {
int action = IDLE;
void idle() { void; };
void moveRight() { ... };
void jump() { ... };
void onUpdate() {
switch(action) {
case IDLE: idle(); break;
case JUMPING: jump(); break;
case MOVINGRIGHT: moveRight(); break;
...
}
}
}
Now this really bothers me because you have this pile of ifs depending on status. It would, in my opinion, look much better if action was a pointer to a function.
class entity {
function_pointer action = idle;
void idle() { void; };
void moveRight() { ... };
void jump() { ... };
void onUpdate() {
function_pointer();
}
But apparently java doesn't have this functionality. Or does it?
What do you think? Have any solutions to this?
class entity {
int action = IDLE;
void idle() { void; };
void moveRight() { ... };
void jump() { ... };
void onUpdate() {
switch(action) {
case IDLE: idle(); break;
case JUMPING: jump(); break;
case MOVINGRIGHT: moveRight(); break;
...
}
}
}
Now this really bothers me because you have this pile of ifs depending on status. It would, in my opinion, look much better if action was a pointer to a function.
class entity {
function_pointer action = idle;
void idle() { void; };
void moveRight() { ... };
void jump() { ... };
void onUpdate() {
function_pointer();
}
But apparently java doesn't have this functionality. Or does it?
What do you think? Have any solutions to this?