Computer Engineering Student here! I'm currently building a checker game, and in a particular part of the code I have to choose between two methods that result in the same function.
I could either use if statements or a for loop.
In the for loop, I'd have to loop all 64 checker grid to locate the piece that I want, but through an algorithm, I could find that specific piece using an if statement.
But here's the catch, the if statements take up more lines to code while the loop takes only a few lines. Which is more memory efficient method in this case?
My idea is that the if statements are more efficient although they take up more line since the loop has to literally loop 64 times despite taking up very few lines of code.
Am I right? If I am wrong, have at the keyboard Sirs and Ma'ams!
`for(int i=0;i<size*size;i++) { //Capturing brown piece with white piece if( lastPositionOrigin.PieceName.equals("empty")&&lastClicked.PieceName.equals("white")&&dama[i].PieceName.equals("brown") &&(dama[i].x_position==(lastPositionOrigin.x_position+1)||dama[i].x_position==(lastPositionOrigin.x_position-1)) &&(dama[i].y_position==(lastPositionOrigin.y_position+1)||dama[i].y_position==(lastPositionOrigin.y_position-1)) &&(dama[i].x_position==(lastClicked.x_position+1)||dama[i].x_position==(lastClicked.x_position-1)) &&(dama[i].y_position==(lastClicked.y_position+1)||dama[i].y_position==(lastClicked.y_position-1))){
dama[i].content.setIcon(null);
dama[i].PieceName="empty";
countBrown++;
}
}
//-----------------------------------------------------------------
//Versus
//-----------------------------------------------------------------
if( //Landing on upper left corner when capturing with white
(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size+1))>=0
&&dama[(int)((lastClicked.y_position*size)+lastClicked.x_position)].PieceName.equals("white")
&&dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size+1))].PieceName.equals("brown")
&&(lastPositionOrigin.x_position==(lastClicked.x_position+2)
&&lastPositionOrigin.y_position==(lastClicked.y_position+2))
) {
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size+1))].content.setIcon(null);
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size+1))].PieceName="empty";
countBrown++;
System.out.println("It enters here upper left corner");
}
if( //Landing on lower left corner when capturing with white
(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size-1))<=63
&&dama[(int)((lastClicked.y_position*size)+lastClicked.x_position)].PieceName.equals("white")
&&dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size-1))].PieceName.equals("brown")
&&(lastPositionOrigin.x_position==(lastClicked.x_position+2)
&&lastPositionOrigin.y_position==(lastClicked.y_position-2) )
) {
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size-1))].content.setIcon(null);
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size-1))].PieceName="empty";
countBrown++;
System.out.println("It enters here lower left corner");
}
if( //Landing on upper right corner when capturing with white
(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size-1))>=0
&&dama[(int)((lastClicked.y_position*size)+lastClicked.x_position)].PieceName.equals("white")
&&dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size-1))].PieceName.equals("brown")
&&(lastPositionOrigin.x_position==(lastClicked.x_position-2)
&&lastPositionOrigin.y_position==(lastClicked.y_position+2) )
) {
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size-1))].content.setIcon(null);
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position-(size-1))].PieceName="empty";
countBrown++;
System.out.println("It enters here upper right corner");
}
if( //Landing on lower right corner when capturing with white
(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(2*(size+1)))<=63
&&dama[(int)((lastClicked.y_position*size)+lastClicked.x_position)].PieceName.equals("white")
&&dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size+1))].PieceName.equals("brown")
&&(lastPositionOrigin.x_position==(lastClicked.x_position-2)
&&lastPositionOrigin.y_position==(lastClicked.y_position-2) )
) {
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size+1))].content.setIcon(null);
dama[(int)((lastPositionOrigin.y_position*size)+lastPositionOrigin.x_position+(size+1))].PieceName="empty";
countBrown++;
System.out.println("It enters here lower right corner");
}`