Bueno me gustar?a saber como podr?a hacer los siguientes ejemplos con c?digo sin tener que inventarme cosas extra?as que acaban dando problemas:
punto1
Pregunta ?xxxx?
respuesta = SI
continuar
repuesta = NO
volver al punto 1
y este:
punto 1
Introduce un valor de 1 a 30
si valor fuera de ese rango
volver al punto1
si valor en rango
continuar
Esto es un ejemplo de lo que hago yo:
Se trata de introducir una fecha de cumplea?os habiendo seleccionado previamente primavera,verano,oto?o o invierno.
message_text_font(0,8,c_black,0);
message_size(225,100);
message_button(boton1);
message_background(emergente1);
sound_play(click);
ini_open("jugador1.ini");
ini_write_string("Datos","ep-cumplea?os","primavera");
dia_cumple=0;
while(dia_cumple<1)
{
do{
dia_cumple=get_integer("Introduce un numero del 1 al 31","Introduce un numero del 1 al 31");
}
until(dia_cumple <=31)
}
ini_write_real("Datos","dia-cumplea?os",dia_cumple);
show_message("#Cumplea?os: " + string(dia_cumple) + " de " + ini_read_string("Datos","ep-cumplea?os",""));
ini_close();
Gracias!
Citar
como podr?a hacer los siguientes ejemplos con c?digo sin tener que inventarme cosas extra?as
Hola,
Lo que pides es exactamente lo que no quieres, es decir, no quieres inventar cosas extra?as pero cualquiera que te responda estar?a inventando sus propias cosas extra?as, yo te invito a que lo hagas, a que inventes tus propias cosas extra?as para que aprendas mas que de eso se trata.
Bueno, regresando a la pregunta, en mi caso yo usar?a scripts que se llamen a si mismos, ejemplo un script de nombre
script_pregunta:
{
var numero;
numero=get_integer('Escribe un numero del 0 al 9',0);
if(0<=numero and numero<=9)
{
show_message('Gracias');
}
else
{
show_message('Tu numero no esta entre el 0 y 9');
script_pregunta();
}
}
Saludos!!!
Edit: te adjunte el ejemplo del funcionamiento...
Ok ya lo comprendo, de ahora en delante lo are as?, aunque puesto que mi ejemplo funciona de momento lo dejar? como est?.
?Muchas gracias!
Yo hab?a llegado a pensar en "etiquetas" al estilo RPG Maker, la verdad es que eran muy ?tiles.
Hola,
Checa el ejemplo que te adjunte en el mensaje anterior...
Saludos!!!
Ya lo hice, es el mismo ejemplo que has puesto en el post.
?Gracias otra vez!
En realidad, esas etiquetas a las que te refer?s son exactamente lo que est?s usando en el c?digo que pusiste, es decir bucles como while.
Pero no es necesario que pongas un do adentro de un while, con esto basta:
dia_cumple=0;
do{
dia_cumple=get_integer("Introduce un numero del 1 al 31","Introduce un numero del 1 al 31");
}until(dia_cumple>0)&&(dia cumple<32)
seeeh, que listo soy! XD
Eso es lo que hubiese hecho hecho si hubiese sabido que se pod?a indicar a una variable que contase un valor entre dos posibles. Prob? mil combinaciones pero no lo consegu? as? que por eso me saque de la manga un "do-while"
PD
?Como funciona esto del karma? Si se utiliza como recompensa no me gustar?a parecer un desagradecido ^^
&& une dos condiciones de forma que s?lo si las dos son verdaderas (es decir, dia_cumple es mayor a 0 y menor a 32 en este caso), el resultado "total" es verdadero (y por lo tanto, se sale del bucle).
Tambi?n hay otras formas de unir condiciones: || y ^^. || hace lo contrario que &&: s?lo si las dos condiciones son falsas el resultado "total" es falso. ^^ s?lo es verdadero si una condici?n es verdadera y la otra falsa, si son iguales el resultado es falso.
(verdadero)&&(verdadero)=verdadero
(verdadero)&&(falso)=falso
(falso)&&(verdadero)=falso
(falso)&&(falso)=falso
(verdadero)||(verdadero)=verdadero
(verdadero)||(falso)=verdadero
(falso)||(verdadero)=verdadero
(falso)||(falso)=falso
(verdadero)^^(verdadero)=falso
(verdadero)^^(falso)=verdadero
(falso)^^(verdadero)=verdadero
(falso)^^(falso)=falso
Sobre lo del Karma, no es realmente necesario, pero si quer?s, pod?s hacer click en [Aplaudir] para subir o en [Abuchear] para bajar el karma de un usuario.
?Esto me ser? de gran ayuda! ;)