fbpx

Cómo codificar un juego de PacMan (sin laberinto) »Wiki Ùtil Tutorial de Scratch intermedio

Construyamos un juego de PacMan, ¡excepto sin el laberinto! Usa las flechas para controlar PacMan e intenta recolectar tantas bolas como puedas sin que te toquen los fantasmas.

Cada vez que un fantasma te toca, pierdes una vida, así que ten cuidado porque solo tienes cinco vidas. Cuando te quedas sin vidas, ¡el juego termina!

¿Para quien es esto?

  • Experiencia de codificación en lenguaje: intermedio
  • Nivel de junio: Nivel de cero 2
  • Nivel de desafío: medio

Los resultados del aprendizaje

Conceptos básicos practicados:

  • Clonación
  • Funciones

Conceptos previos a conocer / revisar:

  • Bucles
  • If declaraciones / oyentes de eventos
  • Cómo mover sprites / cambiar disfraces

Manifestación

Haga clic en ejecutar para ver el proyecto usted mismo a continuación. También puede ver el código de la solución de mi proyecto si se queda atascado.https://scratch.mit.edu/projects/427905341/embed

Antes de comenzar, considere lo siguiente:

  1. ¿Cómo comienza y termina el juego?
  2. ¿Cuáles son las interacciones entre los sprites?

PacMan y colisiones de fantasmas, PacMan y colisiones de bolas

  1. ¿Cuáles son las interacciones entre el usuario y el juego?

Haga clic para comenzar, teclas de flecha para moverse

  1. ¡Presta atención a nuestras variables!

¿Cuándo cambia el número de vidas? ¿Cuándo cambia el número de puntos?

Orden general de pasos a implementar:

  1. Configurar el comienzo del juego
  2. Configurar los conceptos básicos del juego
  3. Moviendo PacMan y fantasmas
  4. Configurar puntos y vidas
  5. Creando bolas
  6. Creando variables y cambiándolas apropiadamente
  7. Utilice funciones para restablecer los fantasmas cuando sea apropiado
  8. ¡Agregue las bonificaciones que desee!

Siéntase libre de usar esta plantilla de juego de proyecto PacMan en Scratch que creamos para ayudarlo a comenzar.

¿Cómo realizamos cada uno de estos pasos?

Paso 1: ¡Comencemos configurando el comienzo del juego!

  • Agregue código para que cuando haga clic en la bandera, establezca el estilo de rotación, la posición inicial, la dirección inicial, el tamaño inicial y la visibilidad de cada fantasma y PacMan.
  • Agregue código para que cuando haga clic en la bandera, establezca la visibilidad y el disfraz del click to startbotón.

Paso 2: ¡Ahora configuremos los conceptos básicos del juego!

  • Agregue código para que cuando se haga clic en el botón, cambie de vestuario (con pausas en el medio) para demostrar una cuenta regresiva, y luego desaparezca y transmita un mensaje para iniciar el juego.
  • Agregue código para que cuando el juego comience, PacMan comience a moverse continuamente, y configúrelo de tal manera que al presionar la tecla ‘arriba’ se vuelva hacia arriba, y al presionar la tecla ‘abajo’ lo haga girar hacia abajo, al presionar la tecla ‘izquierda’ se vuelva a la hacia la izquierda, y una pulsación de la tecla «derecha» lo gira hacia la derecha.

Sugerencia: «continuamente» significa que algo seguirá sucediendo constantemente para siempre.

  • Agrega código para los fantasmas verde, naranja y rojo para que cuando comience el juego, giren en una dirección aleatoria y luego comiencen a moverse continuamente. ¡Asegúrate de que rebotarán si golpean un borde!
  • Agregue código para los fantasmas verde, naranja y rojo para que cuando toquen PacMan, transmitan un mensaje diciendo que PacMan tocó un fantasma.
  • Agrega un código para el fantasma azul para que cuando el juego comience, apunte continuamente hacia PacMan y luego dé 3 pasos en su dirección.
  • Agrega un código para el fantasma azul para que una vez que el juego haya comenzado, si toca PacMan, transmita un mensaje diciendo que PacMan tocó un fantasma.
Contenido Relacionado:  ¿Qué es el machine learning?

Paso 3: ¡Agreguemos ‘vidas’ al juego y configuremos el final!

  • Creemos una variable para realizar un seguimiento de las vidas de PacMan y configurémosla en 5 cuando se hace clic en la bandera.
  • Agrega código para que cuando PacMan sea tocado por un fantasma, pierda una vida.
  • Agregue código para que si PacMan llega a 0 vidas, transmita un mensaje diciendo que el juego ha terminado y luego se esconda.
  • Agrega código para que cuando termine el juego, todos los fantasmas se escondan.
  • Agregue código para que cuando el juego termine, nuestro botón vuelva a aparecer y cambie al disfraz de ‘juego terminado’.

Paso 4: ¡Preparemos las bolas y los puntos!

  • Agrega código para que cuando comience el juego, establezcas el tamaño de la bola y la hagas desaparecer y luego crees un montón de clones (hice 20 para mi juego, ¡pero puedes hacer más o menos!)
  • Agregue código para que cuando se cree un clon de bola, vaya a una posición aleatoria y luego aparezca.
  • Cree una variable para realizar un seguimiento de sus puntos y ajústela a 0 cuando se hace clic en la bandera.
  • Agregue código para que cuando un clon toque PacMan, aumente la cantidad de puntos que tiene, cree un nuevo clon y luego se borre.

Paso 5: ¡Usemos funciones para restablecer los fantasmas cuando sea apropiado!

  • Usando la sección Mis bloques , cree una nueva función para cada fantasma llamado reset.
  • Mueva su código de configuración desde que se hace clic en la bandera verde para cada fantasma a la definición de la función de reinicio; ahora, cuando use el bloque ‘reset’, ¡ese código se ejecutará!
  • Usa el resetbloque que hiciste para ejecutar el código de reinicio para cada fantasma cuando se hace clic en la bandera y cuando el fantasma toca PacMan.
Contenido Relacionado:  Cree su propio fondo de zoom virtual | Tutorial de codificación de Python para principiantes

¡Tu juego ya debería estar listo para jugar!

¿Quieres más desafío? Intente agregar estas características adicionales.

  1. Agregue una bola de diferente color que, cuando coma, ponga a todos los fantasmas azules durante un cierto período de tiempo y cuando PacMan se los coma, ¡obtendrá 10 veces más puntos!

Sugerencias:

  • Puede utilizar una variable para realizar un seguimiento de si el juego está o no en este estado especial
  • Puede usar la transmisión para que todos los sprites sepan que el estado ha comenzado
  • Puede usar un bucle y una variable para hacer un temporizador, para ayudar a que el estado dure un tiempo limitado.
  1. ¡Agrega algunos sprites diferentes que cuando PacMan come, gana una vida!

Sugerencia: ¡puedes usar un código bastante similar al que hicimos con los clones de bolas!

  1. ¡Agrega música de fondo al juego y efectos de sonido para cuando PacMan se coma una pelota o un fantasma!

Buen trabajo, ahora echa un vistazo a más tutoriales.

¡Gracias por vernos y espero que te hayas divertido haciendo este proyecto conmigo! Cada semana, publicaremos tutoriales de proyectos como este, para diferentes lenguajes de codificación y niveles de experiencia, así como tutoriales de matemáticas.

Visite la página de nuestro blog de proyectos de codificación para encontrar nuestros otros tutoriales en más lenguajes de codificación. También puede suscribirse a nuestro boletín utilizando el formulario a la derecha de esta página para obtener más actualizaciones sobre nuestros programas y los tutoriales de codificación más recientes.

¿Necesitas más ayuda o quieres seguir aprendiendo?

¡Buscar tus preguntas de codificación es una de las mejores formas de aprender! Otra excelente manera de aprender es con un codificador o instructor experimentado.

Un instructor de Juni que enseña Python.

Un instructor de Juni enseña Python básico a un joven estudiante.

Los instructores de informática de Juni Learning como Maya trabajan en estrecha colaboración con estudiantes de entre 8 y 18 años, y están especialmente capacitados para adaptarse al estilo, ritmo e intereses de aprendizaje únicos de cada niño.

Lea más sobre nuestros cursos y plan de estudios de codificación , o comience con nuestro Equipo de Admisiones para saber qué curso es mejor para el viaje de codificación de su estudiante.

El articulo original fue publicado en junilearning.com, con los permisos del autor.

Share
Avatar

Pablo J.

Desarrollador gráfico y web, con ganas de trabajar y aprender todo lo posible de este campo tan variado. Trato de ser creativo en la vida laboral como personal. Amante de la buena lectura, el cine con sentido e inteligente.

You may also like...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *