Programa que genere una comparación incompleta, a veces pista/s, y que intente completarla.
(1/1)
Tachikomaia:
Este tema lo edité porque en principio decidí intentar algo más simple.
De momento tengo esto:
Código
// Generar comparación:
// Parte 1:
ParteVisible1 = random(3);
if (ParteVisible1 == 0) {
ParteVisible1 = "...";
} else {
Parte1 = random(10);
if (ParteVisible1 == 1) {
ParteVisible1 = Parte1;
} else {
ParteVisible1 = "Incógnita";
}
}
// Parte 2:
PosiblesSignos = ["==", "!=", "<=", ">=", "<", ">"];
ParteVisible2 = random(3);
if (ParteVisible2 == 0) {
ParteVisible2 = "...";
} else {
Parte2 = PosiblesSignos[random(6)];
if (ParteVisible2 == 2) {
ParteVisible2 = Parte2;
} else {
ParteVisible2 = "Incógnita";
}
}
// Parte 3:
ParteVisible3 = random(3);
if (ParteVisible3 == 0) {
ParteVisible3 = "...";
} else {
Parte3 = random(10);
if (ParteVisible3 == 1) {
ParteVisible3 = Parte3;
} else {
ParteVisible3 = "Incógnita";
}
}
Mensaje = ParteVisible1+" "+ParteVisible2+" "+ParteVisible3;
Ejemplo de salida:
5 Incógnita ...
Otro ejemplo:
Incógnita > 1
Cosas que me interesan:
- Debe haber al menos 1 "..."
- Debe poder haber más de un tipo de incógnita (X, Y y Z).
- La probabilidad de que haya 1 "..." debe ser igual a que haya 2 o 3. Pero el método debe poder usarse también si la comparación tuviese más partes.
Quisiera que me ayuden con el punto 3. Yo haré el 1 y 2, actualizo el tema cuando lo haga.
En cuanto a las pistas, más adelante veré, pero se refieren a la incógnita.
En cuanto a que complete la comparación (sustituya los ... por valores de modo que sea true), alguna idea tengo, ejemplo:
Código
actions for fotograma 1
// Resolvedor de A A ..., todo dato.
PosiblesValores = ["==", "!="];
A = PosiblesValores[random(PosiblesValores.length)];
// trace ("A: "+A);
Parte1 = A;
Parte2 = A;
CandidatoNoTraducido = 0;
Mensaje = Parte1+" "+Parte2+" ...";
// Usada en IntentarResolver:
function Comparacion () {
if (Parte2 == "==") {
return Parte1 == CandidatoTraducido;
} else {
return Parte1 != CandidatoTraducido;
}
}
// Se repite en F2:
function IntentarResolver () {
CandidatoTraducido = PosiblesValores[CandidatoNoTraducido];
trace ("Probando el Candidato "+CandidatoTraducido);
if (Comparacion()) {
trace ("Solución hallada, ver respuesta.");
Mensaje = Mensaje+"\n"+Parte1+" "+Parte2+" "+CandidatoTraducido;
gotoAndStop (3);
} else if (CandidatoNoTraducido<1) {
trace ("No se logró el objetivo, pero hay otro candidato que se probará");
CandidatoNoTraducido = CandidatoNoTraducido+1;
} else {
trace ("No es posible modificar al candidato ni lograr el objetivo.");
Mensaje = Mensaje+"Ninguna, no es posible lograr el objetivo.";
// Finalizar programa:
gotoAndStop (3);
}
}
actions for fotograma 2
stop ();
actions for Vacío
onClipEvent (enterFrame) {
_level0.IntentarResolver();
}
Navegación