Ultima Spiegazione:
Per chi vuole divertirsi a modificare scenari e personaggi senza conoscere un tubo della programmazione.
Nel file "pacd.mm" sono contenuti tutti i disegni necessari a creare il gioco.
Partiamo da quella che è l'anima del gioco:
Lo scenario.
In questa immagine ho rappresentato come su in foglio a quadretti parte della scena da me realizzata e che magari vorreste modificare, o aggiungere scenari diversi per ogni livello.
Labirinto.png (7,38K)
Numero di downloads: 5 Ingrandire cliccandoci sopra Please!
Come vedete lo scenario è composto da 17 colonne e 19 righe.
Se non sapete programmare non modificate questi due valori (tenetevi le 17 colonne per 19 righe)
Ora ogni elemento dello scenario ha un numero
1= per ottenere i semi
2= per ottenere il muro
3= per ottenere le pillole
0= per ottenere delle zone vuote dove pac può camminarci ma non ottiene punti.
Tutti questi numeretti li potete modificare come posizione e numero a vostro piacimento
Non importa quanti semini mettete ci pensa poi il programma a contarli.
Mentre:
7= porta destra
6= porta sinistra
vanno posti: 7 ultima colonna a destra 6 prima colonna a sinistra.
In oltre devono essere sulla stessa riga (non importa quale riga decidete di utilizzare)
Ma se scegliete la riga N.6 dovete usare detta riga per la porta destra e sinistra.
(Questo è un limite che può essere superato aggiustando il programma.)
Altra accortezza dove vedete le frecce sono caselle prefissate dal programma.
Le tre caselline più in alto servono per i fantasmini
quella più in basso serve a pacman e la intermedia al frutto (nella casella del frutto va posto sempre uno 0)
Lo sò lo sò si poteva fare una funzione che ricavasse in automatico dove si trova pac e i fantasmini
e passare tutti i valori tramite una matrice....Ma il tempo era poco per far tutto.
Ok! hanno capito! ma ste numerini dove li mettono!
Ops! hai ragione Alter!
/*-------------------------------------------
Funzione che crea matrice gioco
-------------------------------------------*/
function Levell(n)
// if n=0 then
return [
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ],
[ 2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,2 ],
[ 2,2,2,1,2,1,2,2,1,2,2,1,2,1,2,2,2 ],
[ 6,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,7 ],
[ 2,2,2,1,2,1,1,1,1,1,1,1,2,1,2,2,2 ],
[ 2,1,1,1,2,1,2,2,1,2,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,1,1,0,1,1,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,1,1,1,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,2,2,1,2,2,1,2,2,2,1,2 ],
[ 2,3,1,1,2,1,1,1,1,1,1,1,1,1,1,3,2 ],
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ]
];
// elsif n=1 then
// elseif n=2 then
//end; //if
end;
Qui dovete modificare i numerini che vedete in questa funzione. (solo i numeri mi raccomando!)
Se oltre al primo scenario ne volete altri fate così.
/*-------------------------------------------
Funzione che crea matrice gioco
-------------------------------------------*/
function Levell(n)
if n=0 then
return [
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ],
[ 2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,2 ],
[ 2,2,2,1,2,1,2,2,1,2,2,1,2,1,2,2,2 ],
[ 6,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,7 ],
[ 2,2,2,1,2,1,1,1,1,1,1,1,2,1,2,2,2 ],
[ 2,1,1,1,2,1,2,2,1,2,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,1,1,0,1,1,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,1,1,1,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,2,2,1,2,2,1,2,2,2,1,2 ],
[ 2,3,1,1,2,1,1,1,1,1,1,1,1,1,1,3,2 ],
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ]
];
elsif n=1 then
return [
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ],
[ 2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,2 ],
[ 2,2,2,1,2,1,2,2,1,2,2,1,2,1,2,2,2 ],
[ 6,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,7 ],
[ 2,2,2,1,2,1,1,1,1,1,1,1,2,1,2,2,2 ],
[ 2,1,1,1,2,1,2,2,1,2,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,1,1,0,1,1,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,1,1,1,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,2,2,1,2,2,1,2,2,2,1,2 ],
[ 2,3,1,1,2,1,1,1,1,1,1,1,1,1,1,3,2 ],
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ]
];
else
return [
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ],
[ 2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,2 ],
[ 2,2,2,1,2,1,2,2,1,2,2,1,2,1,2,2,2 ],
[ 6,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,7 ],
[ 2,2,2,1,2,1,1,1,1,1,1,1,2,1,2,2,2 ],
[ 2,1,1,1,2,1,2,2,1,2,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,1,1,0,1,1,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,1,1,1,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,2,2,1,2,2,1,2,2,2,1,2 ],
[ 2,3,1,1,2,1,1,1,1,1,1,1,1,1,1,3,2 ],
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ]
];
end; //if
end;
Qui è presente un primo scenario n=0 un secondo senario per il livello 1 n=1 e un terzo scenario
per tutti i livelli a venire.
se dopo il livello numero 1 volete aggiungere lo scenario per livelli 2,3,4 ecc..
aggiungete questo pezzo di codice alla riga prima dell'
else
elsif n=1 then
return [
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ],
[ 2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 ],
[ 2,1,2,1,2,2,2,1,2,1,2,2,2,1,2,1,2 ],
[ 2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,2 ],
[ 2,2,2,1,2,1,2,2,1,2,2,1,2,1,2,2,2 ],
[ 6,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,7 ],
[ 2,2,2,1,2,1,1,1,1,1,1,1,2,1,2,2,2 ],
[ 2,1,1,1,2,1,2,2,1,2,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,1,1,0,1,1,1,2,1,2,1,2 ],
[ 2,1,1,1,2,1,2,2,2,2,2,1,2,1,2,1,2 ],
[ 2,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,2 ],
[ 2,1,2,1,2,1,2,1,1,1,2,1,2,1,1,1,2 ],
[ 2,1,2,1,2,1,2,2,1,2,2,1,2,2,2,1,2 ],
[ 2,3,1,1,2,1,1,1,1,1,1,1,1,1,1,3,2 ],
[ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ]
];
e sostituite in
elsif n=1 then il numero del livello dove volete che appaia.
------------------------------------------------------------------------------------------------
Piastrelline!
------------------------------------------------------------------------------------------------
Questo è nu pochetto più difficile per chi non ha mai programmato ma si può fare.
Sempre in quel modulo ci sono i disegni che creano pacman, frutti,semini,numeri,fantasmini.
Qui riporto la pagina a quadretti che ho usato per il gioco. (ingradirli cliccandoci sopra please!)
Piastrelline.png (8,36K)
Numero di downloads: 2
numeri.png (1,99K)
Numero di downloads: 1
Questi personaggi li trovate in pezzi di codice come questo:
o=g.black; // colore nero del fondo
x=g.white; // colore del fantasma
fanta[0]=g.icon([
[o,o,o,o,o,o,o,o,o,o],
[o,o,o,x,x,x,o,o,o,o],
[o,o,x,x,x,x,x,x,o,o],
[o,o,x,o,x,x,o,x,o,o],
[o,x,x,o,x,x,o,x,x,o],
[o,x,x,x,x,x,x,x,x,o],
[o,x,x,x,x,x,x,x,x,o],
[o,x,x,x,x,x,x,x,x,o],
[o,x,o,o,x,o,o,x,x,o],
[o,o,o,o,o,o,o,o,o,o]
]);
La griglia che vedete contiene delle lettere "o" e "x" queste stanno ad indicare che colore
deve avere quel quadrettino.
Perciò senza dilungarmi troppo: modificando la disposizione si cambia il disegno, modificando il contenuto delle variabili si cambiano i colori.
I colori da assegnare sono come quelli che si usano nelle pagine HTLM.
Nel web dovreste trovare delle tabelle con il colore e il suo valore corrispondente.
Nero da tabella HTML ="#000000" togliete le vorgolette e il # (cancelletto) aggiungete 0x ad inizio e ; a fine numero e il gioco è fatto avrete una miriade di colori da usare.
o=0xffffff; // colore white
X=0x000000; // colore black
Se volete usare più colori nella stessa piastrellina prima della griglia aggiungete la lettere che
li rappresenta in questo modo:
z=0xff7f50; // colore corallo
e=0xa0522d; // colore terra di Siena
o=g.black; // colore nero del fondo
x=g.white; // colore del fantasma
fanta[0]=g.icon([
[e,e,e,e,e,e,e,e,e,e],
[e,o,o,x,x,x,o,o,o,e],
[e,o,x,x,x,x,x,x,o,e],
[e,o,x,z,x,x,z,x,o,e],
[e,x,x,z,x,x,z,x,x,e],
[e,x,x,x,x,x,x,x,x,e],
[e,x,x,x,x,x,x,x,x,e],
[e,x,x,x,x,x,x,x,x,e],
[e,x,o,o,x,o,o,x,x,e],
[e,e,e,e,e,e,e,e,e,e]
]);
In questo caso il fantasmino sarà bianco con fondo nero e avrà gli occhi color corallo ed attorno
una cornice color terra di seiena.
( se a volte vedete delle griglie che non anno variabili ricordate che valgono quelle delle righe
precedenti.)
Per i più capaci potete caricare delle immagini salvate nel cellulare e assegnarle alle matrici.
(Già spiegato altrove cercare Please!..)
Fine Fine Fine di Pacman non ne voglio più sentir parlare....
Messaggio modificato da lento il 14 febbraio 2010 - 20:01