elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  MIT App Inventor, problemas con una aplicación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: MIT App Inventor, problemas con una aplicación  (Leído 2,667 veces)
CybeRoot

Desconectado Desconectado

Mensajes: 34



Ver Perfil
MIT App Inventor, problemas con una aplicación
« en: 7 Agosto 2018, 08:04 am »

Hola muy buenas, ya hace un tiempo le entregue un trabajo a mi colegio. Es un tres en raya, sí una tontería, en mi tiempo libre cuando no sabía que hacer lo he estado mejorando, no obstante, me he quedado atascado en una parte. Mi petición sería la siguiente: Existe un modo "IA", pero no consigo que funcione... alguien podría mirarlo y decirme cual ha sido mi fallo?

ai2.appinventor.mit.edu/?galleryId=5949267235700736


« Última modificación: 10 Agosto 2018, 18:24 pm por CybeRoot » En línea

All Or Nothing, meaby you gonna be deciding for *****
Tachikomaia


Desconectado Desconectado

Mensajes: 1.420


Hackentifiko!


Ver Perfil
Re: MIT App Inventor, problemas con una aplicación
« Respuesta #1 en: 9 Agosto 2018, 02:32 am »

Cuando entré a tu enlace me pidió que me conectara con una cuenta y luego me pone una especie de contrato. ¿Es necesario todo eso para entender tu problema? ¿no deberías postear el código mejor?

Se supone que el modo se debería activar o desactivar con un botón. Cambiaría el valor de una variable: IA = "On". Y el código tendría medio al inicio de la parte repetitiva:
Código:
Si IA == "On"
   // Código IA aquí.
sino
   // Código para random o lo que sea aquí.
Eso no debería ser difícil ni dar problema. ¿Quieres un código para una IA? No sé cómo has nombrado los casilleros pero supongamos que así:
123
456
789
Entonces... así no:
Código:
Si c1 == "M" //casillero 1 ocupado por máquina
   Si c2 == "M"
      Si c3 == "" // Vacío
         // Marcar c3.
      etc
...porque requiere escribir varias cosas repetidas, casos en que c1 es irrelevante. A menos que crees funciones pero se supone que hay algo mejor...

Este modo tiene el defecto de repetir varias veces los mismos chequeos:
Código:
Si c1 == "M" && c2 == "M" && c3 == ""
   // Marcar c3.
sino si c1 == "M" && c2 == "" && c3 == "M"
   // Marcar c2.
// etc

Algo interesante sería sumar los contenidos de los casilleros y si la extensión resulta > 1 entonces contar cantidad de Ms, si eso es < 2 entonces Js... Pero es medio complicado.

Otra cosa es crear funciones pero son muchas. Requiere usar "V" en vez de "".
Código:
Función MMVXXXXXX
   C3 = M
Función MVMXXXXXX
   C2 = M
Función VMMXXXXXX
   C1 = M
etc
Llamas a una función distinta según la situación. X significa que es irrelevante. J sería la marca del jugador.

Algo interesante sería que el programa aprenda. Eso yo lo hacía mediante que "jugara sólo" (aunque no era tateti, era nomás ubicarse en un casillero de 1d) y con archivos externos, pero a ver... Cuando la IA pierde o gana tiene que crear una función o decirte que crees una. Ejemplo: La situación es JJV... y pones en 3. Te dice:
Código:
Función MMV...
   c = 3
   Falta = 0
Nota que ha cambiado las Js por Ms y viceversa. Eso cuando eres tú quien gane. La función incluye el casillero que se marcó y una variable que indica cuánto falta para ganar.
Cuando alguien marca un casillero tienes que intentar cargar una función. Si existe tienes que crear otra, la de la situación anterior, pero le tienes que sumar 1 a la variable Falta.
De este modo las funciones se escribirían sólas o al menos se harían sólas (tú sólo tendrías que copiarlas y pegarlas), aunque tendrías que jugar bastante o hacer que la máquina haga una simulación de todas las posibles jugadas. En fin ando muy oxidado en el tema de aprendizaje y lo que te dije no es exactamente lo que yo hacía pero quizá te sirva.

A ver si otro forero se anima a dar otra respuesta!  :D


« Última modificación: 9 Agosto 2018, 02:38 am por Tachikomaia » En línea

CybeRoot

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: MIT App Inventor, problemas con una aplicación
« Respuesta #2 en: 9 Agosto 2018, 22:42 pm »


Nota que ha cambiado las Js por Ms y viceversa. Eso cuando eres tú quien gane. La función incluye el casillero que se marcó y una variable que indica cuánto falta para ganar.
Cuando alguien marca un casillero tienes que intentar cargar una función. Si existe tienes que crear otra, la de la situación anterior, pero le tienes que sumar 1 a la variable Falta.
De este modo las funciones se escribirían sólas o al menos se harían sólas (tú sólo tendrías que copiarlas y pegarlas), aunque tendrías que jugar bastante o hacer que la máquina haga una simulación de todas las posibles jugadas. En fin ando muy oxidado en el tema de aprendizaje y lo que te dije no es exactamente lo que yo hacía pero quizá te sirva.

A ver si otro forero se anima a dar otra respuesta!  :D
Una persona me terminó ayudando y ahora lo estoy corrigiendo. Finalmente si quieres saber cómo lo he resuelto, házmelo saber. Gracias por la ayuda.
« Última modificación: 10 Agosto 2018, 18:24 pm por CybeRoot » En línea

All Or Nothing, meaby you gonna be deciding for *****
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Inventor de Captcha y ReCaptcha es Guatemalteco « 1 2 »
Foro Libre
elias_vsv 13 13,933 Último mensaje 17 Diciembre 2011, 16:14 pm
por Carloswaldo
“Solaris ha muerto”, según el inventor de Java
Noticias
wolfbcn 0 1,174 Último mensaje 14 Enero 2014, 21:33 pm
por wolfbcn
App Inventor con base de datos
Programación General
Gonzo1994 0 1,912 Último mensaje 27 Octubre 2015, 06:02 am
por Gonzo1994
Muere Ray Tomlinson, el inventor del correo electrónico
Noticias
wolfbcn 0 1,030 Último mensaje 6 Marzo 2016, 22:29 pm
por wolfbcn
El inventor de la web no utiliza VPN y tiene sus razones
Noticias
wolfbcn 0 1,596 Último mensaje 4 Abril 2017, 21:46 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines