Lua Logo
Ramificaciónes

if laCondicion then
Bloque
end

if se llama: si. then irviendo: entonces

En palabras calmamente: Si la condición está llenada (y solo si) exporta el bloque.

Ahora tenemos el andamio(la estructura), utilizamos solamente una condición y un bloque

Si creamos una condición.

player un vive --> player1Vive == true

Ahora el bloque (queremos ver que, así tomamos print con eso)

Imprime que el reproductor vive --> print (" el jugador un vive ")

Ahora ponemos(juntamos) juntos todo.

if player1Vive == true then
print (" el jugador un vive ")
end

¿Por separado no contempla(no considera) demasiado mucho a pesar de todo? Ahora lo probamos también una vez en el editor.
Verzweigungen
¿Que hacíamos?

Comparamos a la variable player1Lebt con el valor true como operador de comparación tomábamos "==" (es un poco inmediatamente otro)
¿Es decir es lo que está en el almacén(la memoria) para player1Lebt, semejante al valor true?
Si tomamos al operador de comparación "~=" (es un poco infinitamente otro) luego él no imprime nada. (él vive todavía)

Si contemplamos(consideramos) una vez la imagen. Todo está totalmente a la izquierda sólo nuestro bloque(manzana) está más lejos a la derecha. ¿Por qué esto?
Totalmente simplemente.
Esto sirve a la visión general(al cuadro sinóptica). Si uno no lo hace, Script no debe más ser leído dentro del tiempo corto(breve) o sólo muy mucho.

Si habría escrito arriba(encima) la explicación así:

Ramificaciónes:

if laCondicion then Bloque end
if laCondicion then Bloque1 else Bloque2 end
if laCondicion1 then Bloque1 elseif laCondicion2 then Bloque2 elseif laCondicion3 then Bloque3 else Bloque4 end

luego ella era sólo muy muy legible.

Lo que aprendemos de ello: Hacemos entrada desde cada bloque ahora.

Más lejos en el texto

if laCondicion then
Bloque1
else
Bloque2
end

No conocemos todo sólo estos Else. Sin embargo no es ningún nombre de chica(soltera) separan irviendo
si esto no es así luego hace mi bloque(manzana)

En palabras calmamente:
  • Si la condición está llenada exporta bloque 1.
  • Si la condición no está llenada, luego exporta el bloque 2 .
Tenemos ya la condición y bloque 1. Como bloque 2 no escribimos simplemente que el jugador vive.
Ahora ponemos(juntamos) de nuevo juntos y prueban si esto funciona.

  • Luego atravesábamos player1Vive = false --> prueban
  • Luego cambiamos al operador de comparación. --> prueban, prueban.
Más lejos en el texto

if laCondicion1 then
Bloque1
elseif laCondicion2 then
Bloque2
else
Bloque3
end

Si conocemos todavía ahora éste elseif, tenemos todo.
elseif no se llama acaso si, luego examina mi condición.

Ante todo(Al principio) tenemos que recordar de lo que el programa un dejaba después del otro.
  • laCondicion1 es exacto(vale) ? --> Bloque1
  • Si no, laCondicion2 es exacto(vale) --> Bloque2
  • Si todo no es exacto(no vale) --> Bloque3
elseif podemos aportar tanto quisieras. Else no tiene que estar presente. Se puede dejarlo también lejos. ¡Si sin embargo esto está tiene que estar siempre al fin!
Bedingung1 no tiene que haber a hacer nada con Bedingung2. Podemos preguntar arriba(encima) si jugador 1 vive y abajo si Enysa tiene cabellos rojos. Es completo equal.

  • ¿Bedingung1 es exacto(vale)? --> Bloque1
  • Si no, ¿Bedingung2 es exacto(vale)? --> Bloque2
  • Si no, ¿Bedingung3 es exacto(vale)? --> Bloque3
  • Si no, ¿Bedingung4 es exacto(vale)? --> Bloque4
  • Si no, ¿Bedingung5 es exacto(vale)? --> Bloque5
  • etcétera

Un tienen en común todas estas formas. Si alguna condición es exacta(vale), el bloque correspondiente es exportado y el Ramificación es hacia el final. Todo lo siguiente no es examinado/exportado más(no se es examinado/exportado más).

Ejercicios con eso:

Las condiciones que se me ocurren:

  • ¿Tiene player1 más oro que player2? --> operador de comparación ">"
  • ¿Tiene player1 menos oro que player2? -> operador de comparación "<"
  • ¿Tiene player1 los nombres iguales como player2?
  • ¿Se llama player1 Rothertan?
Bloques:

Nos quedamos(Dejamos) de momento en print (algo).

Ahora ejercitan........ (más condiciones invientan) (elseif gebrauchen)


if player1Piedras > player2Piedras then

Viene Error: attempt to compare number with nil

--> comparar una cifra con nil > el intento(la tentativa).

¡Esto no va! Si dejamos ocurrirnos algo.

Sabemos desde arriba que recibimos fuera en no existencia de una variable nil si preguntamos al valor. Lo utilizamos(aprovechamos) ahora de.

if player1Piedras ~= nil then
-- Block 1
if player1Piedras > player2Piedras then
-- Block 2
print ("jugador 1 tiene más piedras que jugador 2")
end
end

Miramos: bien sangrado

Así la variable es disponible (igualmente que está en eso) es la condición

player1Piedras = nil --> true afina. La variable es disponible.

Luego él entra sólo(primero) en este bloque.
Para que sentemos ahora también un poco indicados, tenemos que dar a jugador 1 piedras también más que jugador 2. O que es un buen ejercicio, el pregunta transforman.
  • Si el reproductor tiene un piedras
  • Si sí, él tiene más
  • Si él tiene inmediatamente mucho
  • O menos (else)
  • Si él no tiene nadie -> imprimen (else)
!!!! Ahora prestar atención a: En vez de If player1Piedras ~= nil then
Si se puede también escribir: If player1Piedras then

Si uno lo escribe como en la segunda fila, es examinado si la variable es disponible o si la variable true es (en Type "boolean")
Pero ¡oído! un número(una cifra) ellos el valor 0 tiene es también disponible
Un bramante él es vacío, es también disponible. u.s.w.

¿Por qué dice ahora sólo(primero) a nosotros? Aquí habríamos podido ahorrar a nosotros a pesar de todo el trabajo

if player1Vive == true then
print ("el jugador un vive")
end

if player1Vive then
print ("el jugador un vive")
end

Simplemente aceptan.;)
La multiplicación de las informaciones contenidas en estos lados(costados) y los artes gráficos(los dibujos) está prohibida, de modo destripado(excluido) de eso es todo el código de manantial indicado en estos lados(costados).
Véase también: Fin de cerda de responsabilidad
Copyright © Robert Schmitz 2006