|
From: Bernardo I. <be...@de...> - 2002-06-08 16:23:12
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Salve,
ripensandoci a freddo, temo che mettere in cantiere tutte le
modifiche che abbiamo concordato ieri richieda troppo tempo
e sia troppo destabilizzante per il progetto.
Potremmo dividere il problema in passi successivi e fare
per prime le cose che sono piu' urgenti e che non richiedono
altre modifiche.
Quindi proporrei di:
- scrivere "levels.xml" e modificare levels.c in modo da
caricarlo. Per ogni livello, ci sara' la descrizione degli
oggetti da creare, ciascuno con i propri attributi. Tutti
gli oggetti devono avere degli attributi comuni che verranno
gestiti da una funzione del modulo Sprite.
class - tipo dell'oggetto (e.g.: "asteroid", "alien", "player")
x - posizione X in micropixels
y - posizione Y in micropixels
sx - velocita' X in micropixels
sy - velocita' Y in micropixels
- Scrivere un modulo factory.c che riceve in input il DOM con gli
attributi di uno sprite e utilizza l'attributo "class" per
decidere quale funzione XyzInit() chiamare.
- Quando avremo il networking, le informazioni sulla creazione
degli oggetti a inizio livello saranno inviate dal server
con una connessione TCP, magari utilizzando lo stesso
formato XML di levels.xml. Dobbiamo usare il TCP perche'
non possiamo permetterci di perdere un pacchetto! L'UDP sara'
usato solamente durante il gioco per aggiornare la posizione
degli oggetti.
- Ad ogni classe di sprite dovremo aggiungere una funzione
XyzInitXML() che alla fine chiama la normale XyzInit(),
ma estrae tutti gli attributi da un DOM passato come argomento.
- I cambiamenti a gfx.c, sfx.c e/o zip.c per associare le
texture ai nomi non sono indispensabili _adesso_. Possiamo
aspettare che siano complete le altre cose.
- --
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/
- ----------------------------------------------------------------------
Try our multiplatform arcade classic: http://www.sf.net/projects/dlab/
- ----------------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE9Ai/YltU4TfxqZsoRAnTOAJ4piXC5SpX7knyCXLCHvlVWrIDUXQCgrxjq
iS6E5JRhR35Y3c+DxVYXR28=
=7sZg
-----END PGP SIGNATURE-----
|