Projecte Guiat I

Fins ara hem vist una petita introducció a alguns dels components més bàsics de Python. En aquesta secció, veurem com podem utilitzar aquests components per començar a programar un petit joc en Arcade, que continuarem desenvolupant en les properes sessions.

Com a primer joc complet hem triat un joc de disapara asteroide. Aquest joc és un joc senzill en què el jugador controla una nau espacial que pot disparar contra els asteroides que apareixen a la pantalla. El joc acaba quan perdem totes les vides.

Instruccions

1. Initialització

  • Crea un nou projecte en Arcade. Anomena’l Asteroides. Recorda que aquest projecte el desenvoluparem en diverses sessions, així que és important que el guardis correctament per poder-lo recuperar més endavant.
  • Crea una nova variable anomenada intro amb el text que es mostrarà a la pantalla de benvinguda. Aquest text pot ser el que vulguis, però recorda que ha de ser un text que animi al jugador a jugar. Com a exemple pot ser “Benvingut a Asteroides!”.

2. Tipus de dades

  • Utilitza game.splash per mostrar el text de benvinguda a la pantalla.
  • Per evitar futures errades en el codi, agrega el tipus de dades de la variable intro com a cadena.
  • Definirem el punt d’inici del jugador en la pantalla. Per això, crea dues variables anomenades x i y amb els valors 80 i 100 respectivament. Agrega el tipus de dades corresponents a les variables.
  • Per veure com utilitzarem x i y més endavant agrega el codi següent al final del teu codi:

    nau = sprites.create(img("""
      . . . . 8 . . . .
      . . . 8 8 8 . . .
      . . . 8 1 8 . . .
      . . 2 8 1 8 2 . .
      . 2 2 8 8 8 2 2 .
      2 2 2 8 8 8 2 2 2
      . . . 5 . 5 . . .
    """),
        SpriteKind.player)
    
    nau.x = x
    nau.y = y
    
    • Si no entens el codi, no et preocupis. Més endavant veurem com funciona i com podem modificar-lo per a adaptar-lo al nostre joc.

3. Entrada de dades

  • Per a poder referir-nos al jugador en el joc, demana el nom de l’usuari amb game.ask_for_string i guarda’l en una variable anomenada jugador.

4. Matemàtiques

  • L’amplada i altura de la pantalla es tenen disponibles en les variables screen.width() i screen.height(). Utilitza aquestes variables per a ajustar millor la posició del jugador a la pantalla. Definirem x com a la meitat de l’amplada de la pantalla i y com a l’altura de la pantalla menys 20.

5. Operadors d’assignació

  • Modifica el codi de forma que es demani el nom de l’usuari abans de fer el game.splash de benvinguda.
  • Per donar més ambient ens referirem al jugador com a comandant seguit del nom de l’usuari. Utilitza els operadors d’assignació per a modificar el valor de la variable jugador i afegir-li el text Comandant al principi.
  • Utilitza els operadors d’assignació per a modificar el missatge de benvinguda i afegir-li el nom del jugador.
  • Finalment, utilitza game.splash per mostrar el missatge de benvinguda amb el nom del jugador.