Es importante para que funcione el servidor, que el archivo html se llame index.html, de lo contrario, el servidor no lo interpretara y responderá con un error 404.
Fundamentos de Programación
Bienvenida a Platzi: ¿qué necesitas para tomar el curso?
¿Cómo aprender programación?
Crea tu primer sitio web
Sitios web con HTML
Estructura de árbol en HTML
Instalando tu primer editor de código
Cómo declarar variables y usar prompt
Algoritmo de piedra, papel o tijera
Algoritmo avanzado de piedra, papel o tijera
Aleatoriedad
Refactor del código usando funciones
Ciclos
Gana 3 veces
Archivos de HTML y JavaScript
¿Qué es el DOM?
Quiz: Fundamentos de Programación
Desarrollando un juego con HTML y JavaScript
Maquetación con HTML
Sección de elegir mascota
¿Dónde ubicar la etiqueta script? Conectando HTML con JavaScript
Escuchando eventos con JavaScript
addEventListener
Manipulación del DOM
Enemigos aleatorios
Ataques en JavaScript
Ataques aleatorios del enemigo
Imprimiendo ataques del enemigo
¿Ganaste, perdiste o empataste?
Tablas de verdad
Creando el contador de vidas
¿Quién ganó el juego?
Reiniciando el juego
Ocultando elementos HTML con JS para mejorar la UX del juego
Quiz: Desarrollando un juego con HTML y JavaScript
Estilos con CSS
Anatomía de CSS
Tipos de display
Flexbox
Modelo de caja
Imágenes para los Mokepones
Estilos del botón
Adaptando HTML al diseño del juego
Layout: título y ataques
Adaptando JavaScript al diseño del juego
CSS Grid
Responsive Design
Detalles finales
Quiz: Estilos con CSS
Optimización de código
Revisión de código
Don't repeat yourself (DRY)
Clases y objetos
Clases y objetos de Mokepon
Arrays o arreglos
Objetos vs. arreglos
Ciclos: manipulando el DOM con iteradores
Declaración lenta de variables
Una sola fuente de la verdad
Mascotas aleatorias con arreglos
Ataques dinámicos por cada mascota: extraer
Renderizado dinámico en HTML
Eventos de click dinámicos
Secuencia de ataques del enemigo
Iniciando el combate
Resolviendo el reto de condicionales
Optimizando el frontend del juego
Quiz: Optimización de código
Mapa con canvas
Introducción a canvas: dibujando con JavaScript
Moviendo a Capipepo hacia la derecha
Movimiento hacia todas las direcciones
Movimientos con el teclado
Imágenes y personajes de fondo
Métodos en las clases
Obstáculos y colisiones
Combate entre mokepones colisionados
Mapa responsive
Botones bonitos y viewport
Quiz: Mapa con canvas
Backend: videojuego multijugador
¿Qué es backend?
Instalación de Node.js y NPM
Terminal de comandos y Node.js
Servidor web con Express.js
HTTP, localhost, servidores y puertos
Express.js y fetch: API REST con JavaScript
JSON y POST: mokepon online
Transmisión de coordenadas
Mokepones dinámicos en el mapa
Optimizando el mapa del juego
Batalla entre jugadores
Consumiendo la API de ataques del enemigo
Quiz: Backend: videojuego multijugador
Próximos pasos
Probando el juego en varios dispositivos
¿Y ahora qué curso tomar?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Última oportunidad para asegurar tu aprendizaje por 1 año a precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Aportes 146
Preguntas 137
Es importante para que funcione el servidor, que el archivo html se llame index.html, de lo contrario, el servidor no lo interpretara y responderá con un error 404.
Para deshabilitar el seleccionado del texto en los botones se puede hacer con el siguiente codigo en css
user-select: none;
Hay que proteger al profe Juan, es demasiado bueno para este mundo.
Estuve un rato largo buscando porque me salía el error “cannot get /” y en la sección de preguntas ya lo solucionaron.
Hasta este momento traemos el documento html con el nombre mokepon.html
Cambiándolo por index.html como lo tienen en el video se soluciona y te permite entrar desde el localhost:8080 y con la dirección IP también.
YO: DESPUÉS DE ACBAR EL CURSO DE PROGRAMACIÓN BÁSICA
me estaban apareciendo este error en la consola:
GET mokepon.js net::ERR_ABORTED 404 (Not Found)
no estaba cargando el javascript
lo solucioné cambiando la etiqueta script en el html en vez de ./js/mokepon.js es /mokepon.js y cargo todo. Asi debe quedar:
<script src="./mokepon.js"></script>
Les dejo el juego que cree gracias a este curso, está hecho sin POO porque aún lo estoy estudiando y lo quiero aprender bien
Cambié la temática e hice que los personajes tengan 3 acciones, dos botones son de ataque y uno de cura, y cada personaje tiene diferentes stats. Espero que les guste!
https://alanjaqs.github.io/Pixefights-Game
La dirección IP es una dirección de cada computador que nos permite acceder a éste desde otros dispositivos.
Entonces al poner https://192.168.10.116:8080
estamos accediendo al puerto 8080
del computador que tiene la dirección 192.168.10.116
.
En este caso, esta es una IP local, es decir, solo podrán usarla aquéllos que estén bajo la misma red (es decir, conectados al mismo router).
Vuestro router tiene una IP pública con el que se puede acceder a vuestra red. Para comunicar puertos concretos hacemos Port Forwarding, esto es decirle al router que, cada vez que reciba una petición al puerto - por ejemplo - 8080, que mande esa petición a un computador concreto.
Así es que, configurando correctamente el router, podéis tener un servidor en vuestro propio hogar.
No estoy seguro de si puede ser peligroso hacer ésto, solo lo comento como dato.
Yo en mi trabajo y junto con los que he desarrollado código, al proceso de testing le bautizamos el proceso Cletus “Hacerlo a prueba de idiotas” jajajja
Fíjense que el documento principal html debe estar como
index.html
Otra solución también es ingresar a
localhost:8080/mokepon.html
Con esto le dan la dirección exacta del archivo a donde desean ingresar, y listo!!
Tengo un error y me gustaria saber si alguien mas le pasa y es en termino de las coaliciones. Cuando lo hago desde el mobil, y alguien ingresa me coaliciona pero solo en el movil, pero en el mapa no se ve la coalicion.
Si lo hago ambos jugadores desde el computadior funciona normal. Podria se algo en terminos de que las pantallas son diferente y la del celular al ser mas pequeña encuentra coalicion comparada con la del computador?
a aluien mas le sucede esto?
Ctrl + Shift + L por defecto
Espero los que tengan este error puede ver este comentario.
En el minuto del video 16:03 Juan logra entrar utilizando la dirección IPv4 del WIFI que tiene asignado su PC, si no les funcionan hagan lo siguiente:
Primero verifiquen que su PC y otros dispositivos estén conectados a la misma red WIFI.
Funciona con sistemas operativos Windows
firewall de Windows
, pero como se hace eso¿?El firewall
una herramienta de seguridad que previene el acceso no autorizado a una red, muchas ocasiones los antivirus lo remplazan y eso dificulta que otros otros dispositivos puedan acceder a nuestra red local.
Firewall de Windows Defender
Firewall
Solo desactívalo por un tiempo determinado, al tenerlo desactivado tu PC se encuentra vulnerable lo cual puede causar que intrusos accedan a el y se roben información personal o en el peor de los casos que controlen tu PC.
el curoso fue genial, aun que casi al final me explota el cerebro.
es cierto que en el proyecto hay muchar areas de opotunidad que se pueden mejorar.
pero esta genial este curso
Yo logre eliminar el error de que cuando volvías a seleccionar un jugador los anteriores se redibujan en ubicación donde hacían colicion. 😱
Aquí la prueba final! ❤️
https://mokepon-platzi.herokuapp.com/
Jejejeje Mori, con esa intro de “HOLA, te acuerdo de mi”, ya ni nos acordabamos…
Excelente curso, se ha aprendido mucho en poco tiempo. Pero muchas clases!
si los pasaron con el explorador de windows, se debe quitar js en el html. asi:
<script src="./js/mokepon.js"> </script>
y dejarlo asi:
<script src="./mokepon.js"> </script>
por ultimo cambiar el nombre a index el html no mokepon.
Todos los Créditos a @ric.arellano92!
Para evitar el error “mokepon.js:448 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘nombre’)” lo que hice fue agregar un if que evalué si el mokepon existe o no, esta validación también se aplica en la parte de pintar mokeponEnemigo:
//---------------------Al recuperar enemigos--------------------------
mokeponesEnemigos = enemigos.map(function (enemigo)
{
let mokeponEnmigo = null
if(enemigo.mokepon != undefined)
{
const mokeponNombre = enemigo.mokepon.nombre
switch (mokeponNombre)
{
case "Hipodoge":
mokeponEnmigo = newMokepon('Hipodoge', './assets/mokepons_mokepon_hipodoge_attack.png', 5, './assets/hipodoge.png', enemigo.id)
break
case "Capipepo":
mokeponEnmigo = newMokepon('Capipepo', './assets/mokepons_mokepon_capipepo_attack.png', 5, './assets/capipepo.png', enemigo.id)
break
case "Ratigueya":
mokeponEnmigo = newMokepon('Ratigueya', './assets/mokepons_mokepon_ratigueya_attack.png', 5, './assets/ratigueya.png', enemigo.id)
break
default:
break
}
mokeponEnmigo.x = enemigo.x
mokeponEnmigo.y = enemigo.y
}
return mokeponEnmigo
})
//---------------------------------Al tratar de pintar enemigos----------------------------------------
mokeponesEnemigos.forEach(function (mokepon)
{
if(mokepon != undefined){
mokepon.pintarMokepon()
revisarColision(mokepon)
}
})
subí la respuesta de @ric.arellano92 porque estuve rompiéndome la cabeza durante una semana y quiero que otros lo puedan solucionar, ya que desde las carpetas del curso da error. saludos!
En mi colegio nunca ví esa actitud en la que se tuviera un interés genuino para que los estudiantes aprendieran. Gracias de verdad!
Si por alguna razon copiaron su direccion ip desde el navegador al momento de cambiar el localhost por ella, asegurense de que despues de el ultimo numero de la direccion, no haya una diagonal jajajaja
Como no debe de ser:
Como debe ser jajajaja:
Espero que al hacer la prueba me de unos 10000 platzi puntos.
Juanda es un excelente profesor, explica todo lo que coloca en el código, ojala el resto explicara igual
Así había solucionad, ya que había visto ese hueco.
Yo hice lo mismo que otro compañero, si no selecciona mascota, sale un alert y al darle en aceptar se reinicia el juego
Si están llevando adelante el proyecto desde WSL2: LEAN ESTO ANTES DE INTENTAR ABRIR EL JUEGO EN EL CELULAR.
En este video está la explicación de porque es mas difícil hacerlo y la forma de resolverlo:
https://www.youtube.com/watch?v=3Tkkk3ePZKo&ab_channel=EarHackerDem
ERROR Cannot GET/
Si te encuentras con este error en la sección de preguntas ya lo solucionaron, te comparto la solución, es simple, hasta el momento venimos manejando el archivo mokepon.html pero en esta clase ya lo manejan como index.html, solo necesitas cambiar el nombre de este archivo y listo 👌
yo dejaría la pantalla en blanco, me gusta porque es como dándole a entender al jugador que se ponga serio
Me encanta la energía de Juan David jajajaja
Yo tambien me emocione cuando vi que la clase era del profe Juan 😊
Mi profesor favorito es Juan David. Es muy divertido aprender con el.
Juanda es el mejor profesor, explica tan bien que es imposible no entender, ojalá los otros profesores hubieran explicado como él
Hola. simpre sale este error, pero no se por que es, y hay veses que no deja funcionar bien la aplicacion, si a alguien mas le sale confirmen.
Que alegria ver a juanito de nuevo, el viejo confiable tocayo c:
Yo que pensaba que este iba a ser un video de “felicitaciones muchachos” :´ )
Que chevere ver otra clase del profe juan david, excelente manera de enseñar
Te agradezco mucho profe Juan David, evidentemente sos el más joven, pero tenés un don para explicar de manera tan clara, y no solo eso, tu personalidad lo mantiene a uno enfocado en lo que vas a decir. Gracias.
Si no quieren que no se seleccione el texto ponen esto en el css del boton
user-select: none;
Realice el mismo juego en Vuejs, utilizando SocketIO como mecanismo de tiempo real:
Pueden jugarlo en linea con otras personas: Mokepon Vue
Hola tengo unos errores en el código.
Quien mas tiene estos errores?
Este curso empezo siendo traquilo y termino rompiendome el cerebre, aun asi nunca voy a parar de aprender!!
Tengan mucho cuidado con el orden de las carpetas, tenía un error y era que la carpeta “public” estaba por fuera de la carpeta donde está el archivo “index.js”, en otras palabras, vayan a Recursos del video y verifiquen el orden de las carpetas.
yo lo que hice fue en esa parte llamar a la función de reiniciar juego después del alert.
Si no les aparece el IPv4 con wifi es porque están usando Ethernet desde su pc, así que desconecten su cable y conecten wifi o usen otra pc para conocer el IPv4.
Pueden consultar la IPv4 desde el cmd de windows.
Se rompió todo mi código al abrirlo en localhost:8080 me presentaba el siguiente error
Lo solucione al cambiar en el Html la ruta de carpeta que contiene Js ya que al moverlo a la carpeta public la ubicación de este cambio.
cuando se da click en seleccionar sin mokepon yo solo puse un
location.reload()
y funciona
Yo lo solucione llamando a la funcion para reiniciar la partida
else {
window.reiniciarPartida()
}
Evidentemente la solucion de Juan es mucho mas efectiva y evita que la pagina se vuelva a cargar, pero ese fue mi intento desesperado xD
Mi solución para que no para que no se rompiera el juego cuando no seleccionamos nada fue poner:
seleccionarMascota.style.display = ‘flex’ en la parte final del “else”. Quizas no es la mejor solución pero funcionó 😃
Doy gracias a todo el equipo de Platzi por tan espectacular curso. Quedé maravillado y encantado. Los profesores son increíbles y con una actitud buenísima, el contenido es muy completo. Llegar hasta aquí fue un reto, pero valió completamente la pena. Muchas gracias.
Después pasar horas y horas buscando la forma de solucionar cuanto error surgía, después de ver una y otras vez las clases, puedo decir que siento satisfacción al finalizar este curso. Se que aun estoy programando con las ruedas auxiliares, pero seguiré estudiando para mejorar mis habilidades. Gracias.
deben cambiar el nombre del archivo “mokepon.html” por “index,html"
y también sacar la " mokepon.js " de la carpeta “js” para poder guardarlo en la carpeta “publica” de forma mas sencilla.
luego cambiar el script en el html a:
<script src =”./mokepon.js"></script>
Hay pequeños detalles que los profes deben mencionar cuando se hacen cambios en el código, como por ejemplo cuando cambiamos de carpeta la dirección del src de donde sacamos el archivo de JS cambia y eso rompe el código, así como tambien que se debió cambiar el nombre del archivo html para que se pudiera correr en el servidor
el primer ejercicio lo solucione llamando a la función reiniciarJuego 😄
} else {
alert('SELECCIONA UNA MASCOTA')
reiniciarJuego()
}
llegue muy orgullo a esta clase…
movi los archivos de carpeta y se rompio todo 😭
por si a alguien le sirve … para que el juego cargue en el celu deben quitarle la protección contra sitios no seguros , estuvo 3 horas hasta que lo descubrí, al menos asi me funcionó a mi. Ahora tengo un montos de nuevos errores jeje pero ya es ese otro cuento !! un abrazo compañeros!
parce porque empieza así un curso de programación básica?
Me gustaria que a esta clase la complementen explicando como proceder para los que estamos en WSL, ya que corriendo el juego desde windows funciona perfecto pero desde la terminal de ubunto, no carga el juego con la ipv4.
Seria bueno porque me gustaria poder revisar mis proyectos tambien en el celular usando espress.static()
Hola me gustaria aportar como resolvi el problema de
“Cannot GET /” Failed to load resource: the server responded with a status of 404 (Not Found) lo que pasa
es que el nombre de la terminal como el nombre del html
debe ser index no solo el html almenos asi es como
me funciono
Tengo un problemita con mi codigo
Al finalizar la batallas hay algunos ataques que me salen como undefined (Unas veces solo en un jugador y otra veces en ambos juagadores) ya he revisado el código y lo he comparado con el del proyecto y está igual
Es el único imperfecto que tengo u.u
para los que les sucede el error 404 y les sale el mensaje: Cannot GET /. Esta es la solucion
Resulta que al configurar el servidor al crear el archivo package.json en la terminal establecimos con valores predeterminados en este caso index.html por lo que al cambiar el nombre del archivo mokepon.html a index.html lo solucina
Espero que les ayude aunque todavia desconosco como puedo cambiar ese valor predeterminado, espero ayudas tambien.
es muy frustrante que desde que empezó Diana estoy medio perdido porque ella no explica lo que hace, solo lo hace, como si ya entendieramos los conceptos (algo que no pasó con los otros porfesores). Por otro lado, en la clase 81 y 82 dejó de funcionar mi código pero no logro encontrar en donde está el error y ahora no tengo el código guardado a como estaba antes de empezar esas clases y no lo puedo recuperar.
Así mismo, descargo el código que tiene Platzi en los recursos pero tampoco corre en mi navegador. Solo se rompió en las últimas dos clases y eso es lo que me parece frustrante, que no lo voy a plder jugar ni mostrar a pesar de que hice todo el curso
BENDITO ERROR QUE APARECE Y NO SABER SOLUCIONARLO Uncaught (in promise) TypeError: Cannot set properties of null (setting ‘x’)
at digimon.js:462:41
at Array.map (<anonymous>)
at digimon.js:439:50
Para aquellos a quien todavia les aparece el error:
“Failed to load resource: the server responded with a status of 404 (Not Found).”
tienen que cambiar el nombre “mokepon.html” a “index.html” y luego deslizar hasta donde tienen el script que carga “mokepon.js” en “index.html” y cambiar su direccion por la nueva direccion que esta en public.
Pueden colocar entre comillas “./” y les sera mucho mas facil colocar la direccion.
antes:
<script src= "js/mokepon.js"></script>
ahora:
<script src= "./mokepon.js"></script>
sigo sin poder ver a ambas mascotas en dispositivos diferentes, alguna recomendacion?
Lo, siento, ya intenté de todo y simplemente no me funciona en mi celular, no me presiona los botones, revisé literalmente linea por linea comparando el código de platzi con el mío, todo está perfecto. simplemente no funciona en mi celular. todo perfecto cuando lo abro desde localhost:8080 en la laptop
Nooo que fracaso, desde la clase 71 todo el codigo se rompio, ya no me funciona nada, la verdad explican y copian como si uno supiera ya…
Si alguien más se estaba preguntando porqué el archivo html debe llamarse index.html, encontré este artículo que lo explica. Espero les sea de utilidad:
A mi no me pregunten como llegue hasta aca: lo voy a considerar como magia
Antes de continuar, mi solución fue solo reiniciar la página hasta que se seleccione la mascota:
else {
window.location.reload()
}
El juego me funciona cuando me conecto en el navegador como localhost:8080 pero cuando mi IP:8080 no me corrió ni en la laptop ni otros dispositivos.
Finalmente, encontré que debía revisar el firewall de windows pero resulto que estaba apagado pq otra aplicación lo estaba reemplazando… el antivirus, al revisarlo vi que ese firewall si estaba bloqueando la red wi-fi con la que estaba conectado y al darla como segura me permitió abrir el juego desde cualquier dispositivo con la IP:8080.
Por si le pasa a alguien… Saludos
Después de un largo tiempo trabajando en el proyecto he logrado que funcione como a mí me gusta en un 80 %, ya que varias cosas no funcionan como yo quiero, por ejemplo al terminar el combate el jugador ganador regresa al mapa, al perdedor eliminar la imagen del mapa y varias cosas más, lo he probado en dispositivos móviles y pc’s y funciona bien.
pantalla inicio
Ambos jugadores en el mapa con npc’s
Al colisionar inicia atacando el jugador que provoco la colisión
Turno 2
Turno 5
Al terminar el combate indica quien gano y quien perdio, desaparecen los botones y aparece el boton de reiniciar.
Las capturas la hice utilizando el modo responsive ya que si este funciona lo mas probable es que la version normal funcione tambien, lo cual asi es.
Proyecto en GitHub
https://github.com/FredyBarrantes/HtmlCssJavascript.git
Cuando pongan el ip, 8080 es solo para el celular.
en la web funciona sin el ip
hostname -I
Asi para los q utilizan Linux
Por algun motivo mi juego no funciona a la perfeccion
😦 Yo lo solucione desde la primera clase.
Pense que lo habian olvidado y oh sorpresa.
Les comparto mi codigo:
<
boton_mascota.addEventListener("click", ()=>{
if(inputHipodoge.checked == true || inputCapipepo.checked == true || inputRatigueya.checked == true || inputLangostelvis.checked == true || inputPydos.checked == true || inputTucapalma.checked == true){
selecionarMascotaJugador()
}else {
alert("Debe selecionar una mascota")
}
})>
Aaaaparte modifique el codigo para quitar el boton de seleccionar, y en cambio al dar click sobre el nombre de la mascota se oculte esa parte y salga la otra pantalla. 😄 me parecio mas fácil para cuando es en mobile, directo seleccionar al dar tap a la mascota
Yo lo había echo recargando la pagina, aunque era un poco molesto fue la solución que pensé en el momento
location.reload()
Excelente explicación
por fin estoy terminando
Quiero decirles que solucione mi problema accediendo a mi ip:8080 de mi wifi, el problema estaba en mi firewall de windows 10, les dejo un tutorial para que puedan agregar el puerto 8080 como excepcion al firewall y de esta manera les cargue su página desde otro dispositivo a través del wifi:
.
Abre el Firewall de Windows:
.
Ve al “Panel de control” de Windows y selecciona “Sistema y seguridad” y luego “Firewall de Windows”.
.
Configuración Avanzada:
.
En el panel izquierdo, selecciona “Configuración avanzada”.
.
Reglas de Entrada:
.
En el panel izquierdo, selecciona “Reglas de entrada”.
.
Nueva Regla:
.
En el panel derecho, haz clic en “Nueva regla…” para abrir el asistente para crear una nueva regla de entrada.
.
Tipo de Regla:
.
Selecciona “Puerto” y haz clic en “Siguiente”.
.
Especificar Puerto:
.
Selecciona “TCP” y especifica el número de puerto (8080) que deseas permitir. Haz clic en “Siguiente”.
.
Acción:
.
Selecciona “Permitir la conexión” y haz clic en “Siguiente”.
.
Perfiles:
.
Deja marcadas todas las opciones (Dominio, Privado, Público) y haz clic en “Siguiente”.
.
Nombre de la Regla:
.
Asigna un nombre a la regla (por ejemplo, “Permitir Puerto 8080”) y opcionalmente proporciona una descripción. Haz clic en “Finalizar”.
Hola, luego de que se seleccionen los ataques en ambos dispositivos me sale este error
GET http 😕/192.168.0.19:800/mokepon/0.8147895793180704/ataques net::ERR_CONNECTION_REFUSED
Uncaught (in promise) TypeError: Failed to fetch
at obtenerAtaques (mokepon.js:278:5)
En mi pc uso solo conexión a internet por cable Ethernet y no pude abrir mis mokepones en el celu, estaba tan emocionado
Hola! Mi solución para evitar que los jugadores le dieran click al botón “Seleccionar” antes de elegir un personaje fue:
1. Al iniciar el juego desaparecerlo con:
botonMascotaJugador.style.display = ‘none’
2. Crear una función aparte para que luego de haber elegido el personaje, el programa acceda esta función y habilitara el botón. De manera que, al hacer ahora click al boton “Seleccionar”, continuara la lógica del juego que hemos estado programando.
<function seleccion(){
botonMascotaJugador.style.display = 'block'
botonMascotaJugador.addEventListener('click', seleccionarMascotaJugador)
}>
si tienne el error 404 en la consola, deben usar el comando " node .\index.js "
en vez de " node index.js "
El juego me funciona correctamente, pero en la consola de inspeccionar del primer jugador me aparece el siguiente error cuando se une otro:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘nombre’)
at mokepon.js:615:43
at Array.map (<anonymous>)
at mokepon.js:610:32
y deja de aparecer una vez el enemigo selecciona su mascota.
Estaría bien una aparición estelar de Juan David, porque quiero entender a que se debe, gracias.
para evitar usar dos: ontouch y onmouse , usen solamente onpointer , que tiene un uso general , onpointerup para detener movimiento y onpointerdown para mover
Ya que llegamos al final, cuanto se demoraron en completar el curso?
Ya muchos lo han dicho pero me gustaría igual hacer el aporte con algo más.
Yo también luché con el cannot GET /, y eso se soluciona cambiando el nombre de nuestro archivo html de mokepon.html a index.html.
Sin embargo, si hicieron lo mismo que yo y sacaron el archivo mokepon.js de la carpeta js para meterla en la carpeta public, el programa estará rotísimo en el celu y el compu. Para solucionar eso, dentro del archivo html, deben ir al fondo donde está script, y cambiar su contenido de “./js/mokepon.js” a “./mokepon.js”. Recordar, solo hacer esto si movieron el archivo y no la carpeta, si movieron la carpeta, no pasará nada raro 😉
creo que lo hiceun poco diferente pero me sirvio
function seleccionarMascotaJugador() {
jugar = 1
if (inputscorpio.checked) {
inputpersonajejugador.innerHTML = inputscorpio.id
personajepc = inputscorpio.id
} else if (inputcapri.checked) {
inputpersonajejugador.innerHTML = inputcapri.id
personajepc = inputcapri.id
} else if (inputsagi.checked) {
inputpersonajejugador.innerHTML = inputsagi.id
personajepc = inputsagi.id
} else if (inputsagicorpio.checked) {
inputpersonajejugador.innerHTML = inputsagicorpio.id
personajepc = inputsagicorpio.id
} else if (inputscorcapri.checked) {
inputpersonajejugador.innerHTML = inputscorcapri.id
personajepc = inputscorcapri.id
} else if (inputcapritario.checked) {
inputpersonajejugador.innerHTML = inputcapritario.id
personajepc = inputcapritario.id
}
else {
jugar = 0
alert(" debes seleccionar un personaje")
}
if (jugar == 1) {
sectionmapa.style.display = "flex"
sectionpersonaje.style.display = "none"
iniciarmapa()
extraerataques(personajepc)
selecionarangelo (personajepc)
}
Alguien podrian ayudarme con esto ? [Intervention] Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: chrome-extension://liecbddmkiiihnedobmlmillhodjkdmb/fonts/CircularXXWeb-Book.woff2
express.static --> permite servir archivos estaticos
ontouch --> lee los eventos tactil
Sinceramente no entiendo porque funciona cuando se le da la gana, toca como borrar cache.
Otra cosa, le falto desarrollo al juego, hay mucho bug. Por querer hacerlo multiplayer, ojala hubiera quedado completo lo dejare así con las ganas de compartirlo .
player1= empate
player2=disque pierde XD
Me pasaba a mi que cuando me conectaba desde el movil, y el portatil al mismo timepo, cuando seleccionaba un personaje de algun dispositivo, automaticamente detectaba colision desde el dispositivo opuesto.
La solucion es agregar una verificacion en la linea de la funcion de verificacion de colision, solo tienen que agregar esta linea:
function checkCollision(enemy){
if(enemy === undefined){
return;
}
De esta MANERA si no se detecta un enemigo, evitas que se colisione sobre si mismo
En Mac pueden usar el comando “ifconfig -a”. De ahí buscar en el código el apartado “en0:” y después “inet”
❤️
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.