Joc de naus

Volem desenvolupar un joc de naus espacials. En cada partida hi haurà un
conjunt de naus que pertanyen a diferents equips. L’objectiu del joc és
evitar les col·lisions amb altres anus (ja siguin o no del mateix
equip). En cas de col·lisió les naus queden destruides. Cada nau ha de
tenir com a informació el seu radi la posicion en el pla l’equip al que
pertany i si està en funcionament o no. A l’exemple següent, la prima
nau té un radi de 10, és a la posició (0, 0), pertany a l’equip ’blau’ i
no ha estat destruida.

    l = [[10, 0, 0, 'blau', True],\
         [20, 200, 0, 'blau', True],\
         [10, 0, 200, 'vermell', True],\
         [20, 200, 200, 'vermell', True],\
         [10, 100, 100, 'verd', True],\
         [20, 175, 10, 'verd', True]]

Es demanen els codis de diverses funcions. Seguiu el format dels
exemples que es mostren a sota. En tots els enunciats podeu suposar que
sempre hi ha dades.

1.  Feu una funció @collisio(n1, n2)@ en que, donades dues llistes n1 i
    n2 que representen dues naus, retorni si han col·lisionat entre
    elles (mirant si la distància euclidea entre les dues naus és més
    petita que la suma de radis i si les dues estan en funcionament).

2.  Feu una funció @perDestruir(l)@ en que, donada una llista l com la
    mostrada en l’exemple, retorni la posició a la llista de totes les
    naus que han de ser destruides per haver col·lisionat en una llista
    ordenada.

3.  Feu una funció @gameOver(l)@ en que, donada una llista l com la
    mostrada en l’exemple, retorni si el joc s’ha acabat. És a dir, si
    no hi ha més d’un equip amb naus amb funcionament.

Les tres funcions valen 20, 30 i 50 punts respectivament.

Informació del problema

Autoria: Gerard Escudero

Generació: 2026-01-25T15:55:55.531Z

© Jutge.org, 2006–2026.
https://jutge.org
