sabato, luglio 31, 2010

E se sviluppassi un Tetris con Javascript ...

Una idea mi girava per la testa.
Perche' non provare a sviluppare una versione del Tetris con HTML e Javascript ...

Ero un po' scettico pero', dicevo: ... ci vorra' molto tempo ... magari non ci riesco ... e' difficile ...

Poi ci ho pensato seriamente.
Ho cominciato giocando con le parti grafiche, ho disegnato il tavolo di gioco, ho disegnato i pezzi ... e poi son passato alle prime prove con il javascript.

Piccola premessa: Da un po' di mesi ormai, per lavoro, ho fatto pratica con il framework MooTools, e' molto facile da usare e nel suo core ci sono gia' delle funzioni utili per le animazioni.

Quindi, dicevo, ho cominciato a sviluppare le rotazioni dei pezzi usando mootools (alla fine potevo anche non usarlo, o usare jQuery ... o qualsiasi altra cosa ...), ogni pezzo, html parlando, e' fatto da un div che contiene 4 altri div. Giocando con i margini e le posizioni assolute ho trovato tutte le coordinate delle rotazioni.

Ok, avevo tutto. Graficamente. E adesso c'era la parte piu' difficile. Come collocare i pezzi dentro il tavolo da gioco? Beh ... ho usato una grossa matrice. Ho riempito il tavolo di boxettini con le loro belle coordinate cartesiane ... et-volia' ... ho trovato il metodo per continuare lo sviluppo.

Superato lo scoglio delle collisioni con il muro e con i pezzi gia' inseriti (davvero certosino come lavoro, non posso annoiarvi con altri dettagli) ho integrato i livelli, il calcolo dei punteggi, la pausa, il softDrop, l'hardDrop ... ed ecco, in una settimana circa ho ottenuto il mio tetris (e' stato molto utile questo wiki per conoscere i vari dettagli da implementare).

L'ho battezzato TetriJs :)

Allora, volete giocarci e/o scaricare il codice sorgente? Spero di si :)

Qui trovate tutto, il codice l'ho rilasciato con licenza GNU GPL, cosi' chiunque puo' ridistribuirlo, modificarlo, sfasciarlo come piu' gli aggrada (rispettando i termini della licenza, ovviamente) :)

E' probabile che lo aggiorni man mano fixando bug, aggiungendo funzionalita' e altro.

Intanto che ne pensate? Vi piace?

Aggiornamento (21 Agosto 2010): Ho rilasciato una seconda versione. Ho fixato alcuni bug ed aggiunto nuove funzionalita'. Il changeLog completo e' qui. Grazie per i vostri commenti e suggerimenti. Spero di poterci lavorare ancora su ... mi mancano un paio di cose da aggiungere :)

PS: so che non funziona bene su IE7 ... non so pero' se avro' voglia di fixarlo per lui ...

Etichette: , , , ,


martedì, luglio 20, 2010

Oggi mi gioco i numeri ...

Stamattina pensavo al superenalotto, ogni volta che mi vien voglia di giocare non so che numerini mettere nella scheda.
Allora mi son detto: "facciamo un bel programmino che li genera!"
Si, ma come svilupparlo? Ma si, in javascript cosi' posso metterlo sul blog e farlo usare a tutti, ecco qui, che ne pensate?
Tentiamo assieme la fortuna? :D



--
--
--
--
--
--


Etichette: , , ,


lunedì, luglio 19, 2010

Cenere alla cenere, polvere alla polvere ...

Questo blog sta diventando una raccolta tecnica delle mie disavventura con il PC casalingo.
Ma che ci posso fare ... preferisco condividerle per i posteri :)

I fatti son questi: Qualche giorno fa mia moglie chiama dicendo che il PC casalingo non funziona piu', il monitor sfasa facendo vedere solo righe verticali di svariati colori.

Ok, penso tra me e me, e' arrivato il momento di cambiare desktop. Dopotutto e' un vecchio PC, ha piu' di 6 anni d'onorato servizio alle spalle. Mi ero rassegnato ... inconsciamente non volevo smanettarci su, ma la mia curiosita' d'informatico ha avuto la meglio. Dovevo indagare. (E se proprio devo esser sincero non volevo spendere dei soldi per un nuovo PC dato il nuovo arrivo imminente).

Posticipo l'analisi del paziente per domenica (cioe' ieri).
Il problema si presenta solo quando si avvia la modalita' grafica VGA, in formato testo va tutto bene, quindi comincio a smanettare un po' nel bios, controllando che non si sia sballata qualche configurazione (come mi era gia' capitato con l'hd tempo fa). Sembra tutto ok, faccio un paio di modifiche giusto per provare (cambio la memoria dedicata alla scheda video, cambio la priorita' su AGP, e altre piccole cose) ma niente. Il problema persiste.

A questo punto faccio una piccola ricerca on-line con il portatile, trovo alcuni articoli su vari forum che parlano della possibilita' che i driver della scheda video si siano corrotti. Beh, puo' essere, magari qualche virus, chissa'. Per avvalorare questa ipostesi provo una versione live di Ubuntu. Ed in effetti funziona, riesco ad usarla senza intoppi, quindi riavvio e provo ad entrare su xp in modalita' provvisoria ma nulla di fatto continuo a vedere strisce.
Allora decido di provare il ripristino del sistema operativo, non la reistallazione. Prendo il CD, riavvio ... e faccio partire il ripristino ... la procedura cancella i vecchi file e/o sovvrascrive. Fino a quando resta in modalita' testo tutto ok ... poi il sistema si riavvia per continuare il ripristino "graficamente" e puff ... strisce!

Ovviamente non e' una questione di driver.

Che fare adesso? Decido di spengnere brutalmente il PC (tenendo premuto il tasto d'accensione ... e per questa operazione me ne pentiro' amaramente dopo).
Stacco l'alimentazione, monitor, tastiera ... tutto ed apro il case.

Polvere.

Strati indescrivibili di polvere.

Ecco cosa era successo, la povere ha bloccato la ventolina della scheda video facendola impazzire.
Ho smontato e pulito tutto, ho sboccato la ventolina con lo spray adatto (che per fortuna ho). Rimonto tutto et voila'. Tutto apposto ...

... per modo di dire. Ho perso il resto della giornata per reinstallare XP ... lo spegnimento brutale ha corrotto l'installazione :(

L'unico rimpianto che ho e' solo questo, non aver aperto subito il case.

Ma tutto sommato va bene cosi'. Non devo comprare un nuovo PC ... almeno per ora.

[fonte foto]

Etichette: , ,