Expresiones condicionales
Las expresiones condicionales nos permiten indicar cuando queremos que la computadora haga una u otra acción dependiendo de cierta condición (expresión booleana)
[Variables y expresiones booleanas]
1 if( ) sencillo
Usamos la expresión if( )
para indicar que queremos que suceda cierto bloque de código únicamente cuando la expresión booleana sea verdadera (true
).
Por ejemplo, dibuja una elipse en la posición del mouse, solo cuando el mouse esté presionado:
if( mousePressed ) {
ellipse( mouseX, mouseY, 100, 100);
}
Otro ejemplo, regresa la posición a 0 cuando sea mayor al ancho de la pantalla:
if( posicionX > width ){
0;
posicionX = }
2 if( ) … else
Usamos if( ) ... else
cuando queremos tener dos caminos posibles: un bloque de código se ejecuta cuando la expresión booleana es verdadera (true
), y el otro cuando no (o sea, cuando es false
)
Por ejemplo, dibuja el fondo azul cuando el mouse esté a la derecha del canvas, y dibújalo verde cuando no:
if( mouseX > width/2 ){
background( 0, 0, 255 );
} else{
background( 0, 255, 0 );
}
Nota que el else
va después de la llave que cierra al if
3 if( ) … else if ( ) … else
Las expresiones booleanas solo tienen dos posibles resultados, pero en ocasiones necesitamos más de dos opciones.
En esos casos podemos “encadenar” expresiones if()
.
Por ejemplo, dibuja el fondo azul cuando el mouse esté a la derecha del canvas, verde cuando esté a la izquierda arriba, y rojo cuando esté a la izquierda abajo:
if( mouseX > width/2 ){
background( 0, 0, 255 ); // azul
}// si la expresión de arriba es falsa,
// entonces mouseX está del lado izquierdo
// y podemos checar solo a mouseY
else if( mouseY < height/2 ){
background( 0, 255, 0 ); // verde
}else{
background( 255, 0, 0 ); // rojo
}
4 if() ‘anidados’
Es posible usar expresiones if()
dentro de otras.
Por ejemplo, queremos mover la posición a la derecha al apretar la tecla ‘d’, y a la izquierda al apretar la tecla ‘a’:
if( keyPressed ){ // revisa si hay alguna tecla presionada
// si sí, entonces revisa qué tecla es:
if( key == 'd' ){
// avanza a la derecha
1;
posicionX = posicionX +
}else if( key == 'a' ){
// avanza a la izquierda
1;
posicionX = posicionX -
}
}ellipse(posicionX, height/2, 100, 100);