mercoledì 27 dicembre 2006

java gotchi

Premessa 1. Questo post è stato ispirato da una tipica domanda da studente: “Prof, ma a cosa ci serve questo argomento nella vita?”.

Premessa 2. In questi giorni gira per casa, in mano ai miei figli, un Tamagotchi.

Nell'estate del 1997 mi trovavo in vacanza in un posto isolato dal resto del mondo. Ora, i giovani d'oggi non sanno bene cosa ciò significhi, visto che tutti possiedono almeno un cellulare. Allora, invece (mi sembra di parlare di secoli fa, povero me), di cellulari ne esistevano pochi, noi ne avevamo appena comprato uno, il primo. Quando dico “noi” intendo il gruppo di cinque persone che era via in vacanza, ovvero due famiglie, cioè la mia e quella dei miei genitori. E quel cellulare lo si usava pochissimo, a causa delle tariffe esose dell'epoca. Il fatto che un bimbetto che vedevo girellare avanti e indietro sulla battigia sia ora un mio studente è un puro e fortuito caso.

Bene, in questo clima di isolamento io ero un po' confortato dal fatto che un amico mi aveva prestato un computer portatile, col quale potevo giochicchiare.

Il 1997 è stato anche l'anno in cui il primo Tamagotchi si è diffuso in Italia. E io credo di averne avuto in mano uno per un po' di tempo, ma non ricordo come e perché (presumo che lo avesse mia sorella, ma non ricordo assolutamente).

Infine, nel 1997 cominciò a diffondersi anche il linguaggio di programmazione Java.

Mettendo insieme tutti questi elementi, che potrebbe scaturire dalla mente di un poveraccio a cui non piace il mare (ma ci sta per quasi un mese perché fa bene al piccolo appena nato), a cui piace fare cose al computer, a cui piacerebbe imparare la filosofia della programmazione ad oggetti?

Ecco come è nato il Javagotchi, ovvero il clone del Tamagotchi per computer, scritto in Java, rigorosamente ad oggetti.

Anzi, il linguaggio non era nemmeno il Java, ma un linguaggio di livello ancora più alto, il NetRexx, una variante del REXX scritta in Java e in grado di produrre codice oggetto Java (siamo agli apici dell'astrazione). Facilissimo da usare e potentissimo: in poco tempo ho imparato a gestire gli oggetti (cioè il pulcino del Tamagotchi), i thread (cioè le varie sezioni del programma che controllano come sta il pulcino, cosa fa, se ha bisogno, se dorme, se vuole giocare), le eccezioni, i bottoni, le finestre. Una cosa bellissima. E totalmente inutile.

A ricordo di quel programma (che ora non funziona nemmeno più, da allora sono uscite nuove versioni del Java, e il codice andrebbe aggiornato) appiccico qua sotto l'inizio della descrizione della classe pulcino:


class pulcino extends frame

properties public

vivo = boolean 1 -- sono vivo? All'inizio si'...

btn = button('Stato')
btn2 = button('Exit')
bmangia = button('Mangia')
babout = button('About')
bMed = button('Medicina')
bGioco = button('Gioco')
bSgrid = button('Sgridata')
bCara = button('Caramella')
bBagn = button('Bagnetto')

fame = 100 -- varia da 100 (sazio) a 0 (morto di fame)
-- se scende sotto i 50 il pulcino vuole mangiare,
-- altrimenti si arrabbia e si ammala

salute = 100 -- varia da 100 (perfetta salute) a 0 (schiattato)
-- se scende sotto i 50 il pulcino deve essere curato,
-- altrimenti si arrabbia e si ammala ancora di piu'

gioia = 100 -- varia da 100 (in estasi) a 0 (morto di disperazione)
-- se scende sotto i 50 il pulcino deve giocare, altrimenti
-- si arrabbia ancora di piu'.

disciplina=100 -- varia da 100 (completamente disciplinato) a 0
-- (da carcere). Non fa variare i precedenti valori

capriccio=boolean 0 -- bisogno inesistente

cacchina=boolean 0 -- hai fatto la cacchina?

11 commenti:

Anonimo ha detto...

Che storia commovente...Comunque continuo a pensare che lei non abbia proprio niente da fare!
Ps: come sono andate le feste?

zar ha detto...

Al mare non c'è mai niente da fare...

Le feste stanno andando benissimo, avrei dei compiti da correggere ma non ho proprio voglia di farlo...

Anonimo ha detto...

chi era quel bimbetto divenuto suo studente?

zar ha detto...

Forse tu, caro anonimo?

Anonimo ha detto...

anche io avre de compiti da FARE ma non ho proprio voglia di farlo...

Ronkas ha detto...

vuoi mettere? mare contro Java?

...

Io odio il mare. Odio il sole che brucia e odio la sabbia che si infila ovunque.

Btw, chi ha iniziato i compiti alzi la mano...

Anonimo ha detto...

1) come faccio ad alzare la mano via internet?
2) il fatto che ho iniziato i compiti non significa che li finirò...

Anonimo ha detto...

a proposito di compiti i suoi prof di seconda erano molto facili ormai il libro non riserva più nulla di intricato.... prof mi sono sempre chiesto... ma lei i libri di testo gli acquista no perchè usa sempre i nostri e nel suo zaino sembra ci sia solo la sua bellissima calcolatrice :)

zar ha detto...

I libri di testo li (non gli) ho in omaggio... Di solito sono nel cassetto in sala insegnanti, però.

Anonimo ha detto...

io l'estate scorsa ho scoperto la pesca subaquea, ma i tuoi passatempi sono + pericolosi... è proprio vero che i prof sono gente strana: sono al mare e si tirano matti con un pc! Proprio da nerd

Anonimo ha detto...

Una cosa bellissima e inutile... si chiama ARTE!