Newsgroup: it.comp.lang.javascript
Titolo: Simulazione in js

Forse sono pazzo. Sì, devo esserlo. Insomma, devo fare l'esame di Reti di
Calcolatori e per questo devo presentare una sorta di tesina inerente il
livello MAC nelle reti wireless. Ho pensato bene di provare a fare una
simulazione di una versione semplificata del protocollo CSMA/CA, ovviamente
in js (che è, ahimé, il linguaggio che conosco meglio). Ditemi ora, prima
che parta, se mi conviene abbandonare subito l'idea e dedicarmi, piuttosto,
a una semplice tesina descrittiva... perché in effetti la cosa si presenta
delicata: credo che dovrei, ad esempio, implementare un controllore unco
degli eventi (mi sa che esiste un design pattern appropriato... ma chi lo
conosce!)
Che faccio, desisto? :)
-- 
Nando [?]
Apostolo della Prova

 simulazione di una versione semplificata del protocollo CSMA/CA
Cosa intendi per simulazione ?

 Cosa intendi per simulazione ?
Di base, una implementazione del protocollo; poi sono indeciso se
considerare un numero x di stazioni che si inviano dati in maniera casuale
per un tot di tempo e presentare quindi una statistica del numero di
ritrasmissioni, di frame persi etc, oppure fare un'interfaccia che consenta
all'utente di aggiungere una stazione, comandare l'invio dei frame e
osservare cosa accade.


Nando ha scritto:

Per simulazione pensavo un qualche cosa di "grafico", che facesse vedere 
come i pacchetti si muovevano, il tutto facendo muovere oggetti (X)HTML 
sulla pagina ... poi mi e' venuto il dubbio che tu volessi fare quello 
che hai appena scritto... ed ecco perche' te l'ho chiesto.
Ora tu dici di conoscere il JS, e speri di riuscire a fare quanto da te 
scritto ????????
Come pensi di riuscire a far dialogare dei browser tramite JS ?!?!?
E tu fai un esame di "reti di calcolatori" ? A che corso universitario 
sei iscritti ? ... sai son curioso !

 sei iscritti ? ... sai son curioso !
Sembri piů incazzato che curioso... comunque, sono iscritto al corso di
ingegneria informatica. Dal 1990/91 :)


 Come pensi di riuscire a far dialogare dei browser tramite JS ?!?!?
Prima di agitarsi, pensa che c'è anche il caso che vi possiate esser
solamente fraintesi. :)
-- 
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 Dal 1990/91 :)
Un plauso alla tua tenacia e lungimiranza. :)


 sulla pagina ... 
Dato che con tutta probabilita' non e' qualcosa che debba essere
cross-browser, per la grafica e' possibile usare <canvas> con i browser che
lo supportano :-)
'bye

 Un plauso alla tua tenacia e lungimiranza. :)
Staminchia (mi si perdoni il francesismo). Meglio se non ci penso,
altrimenti mi flagello.


 Meglio se non ci penso, altrimenti mi flagello.
Sia mai. :) A proposito, ma tu a Giugno non dovevi capitare dalle parti di
Milano?


 Non ho alcuna intenzione di far comunicare diversi browser... 
Teoricamente con un'applicazione chrome per browser Gecko potresti farlo,
ma non ne vedo l'utilita'.
Una cosa che dovresti considerare e' forse la velocita' di esecuzione del
codice se hai *molti* dati da elaborare.
'bye

 Milano?
Ehm... beh sì, infatti... ci sono passato :-S


 Peccato che, ai miei tempi, si studiasse il Pascal :)
Povero Pascal, che cosa ti ha fatto di male? :-)
'bye

 Povero Pascal, che cosa ti ha fatto di male? :-)
mi associo, il linguaggio più divertente del mondo! :-)
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 codice se hai *molti* dati da elaborare.
Sono ancora fermo sugli algoritmi... inizio a pensare che, forse, è meglio
lasciar perdere. Ho pochi giorni e non ho neanche finito il programma :(


 Povero Pascal, che cosa ti ha fatto di male? :-)
Oh, lui niente, piaceva pure a me... ma da solo non è che basti...


 Oh, lui niente, piaceva pure a me... ma da solo non è che basti...
:-) penso sia il linguaggio (insieme al Dos) che ho usato più nel tempo.
Ancora pochi mesi fa lo ho usato per scrivere un exe da usare in un batch
che cancella i files più vecchi di X giorni. Negli ultimi mesi ho
cominciato a farli con c#, quindi temo di averlo oramai abbandonato dopo 20
anni ;-(
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 Oh, lui niente, piaceva pure a me... ma da solo non è che basti...
Dipende :-) Prima di tutto da cosa ci vuoi fare, comunque con le versioni
della Borland ci potevi fare un bel po' di cose, e se non sbaglio e' ancora
vivo nelle ultime versioni di Delphi.
'bye

 lasciar perdere. Ho pochi giorni e non ho neanche finito il programma :(
Potrebbe comunque essere interessante scriverlo, indipendentemente dall'uso
per l'esame.
'bye

 ha scritto nel 
messaggio news:1dzdv4i2yp64j$.1bi514x7rftsz.dlg@40tude.net...

Delphi usa il liguaggio Object Pascal...da sempre. 

cicap ha scritto:

Fino alla versione 7, poi e' subentrato il frameworks .NET ed hanno 
imputtanito tutto, rendendo delphi una schifezza !
Ora la Borland si sta focalizzando su altri business che non gli 
ambienti di sviluppo e per quest'ultimo ha qualche mese fa chiesto chi 
li volesse comperare, poiche' la Borland stessa se ne vuole liberare

 Ehm... beh sì, infatti... ci sono passato :-S
...


 Oh, lui niente, piaceva pure a me... ma da solo non è che basti...
Come no! Ci facevi di tutto :)
Durante il bienno ci ho fatto cloni di alcuni dei giochi da sala... era un
classico, rifare i classici :) Arkanoid, Bubble Bobble, Tetris
(immancabilmente, il primo gioco che uno prova a fare :P )...


 vivo nelle ultime versioni di Delphi.
Io l'ho "rispolverato" un poco grazie al newsreader Dialog. E' fatto in
Delphi, ed utilizza come linguaggio di scripting un Object Pascal (un po'
limitato). :)


 Tetris (immancabilmente, il primo gioco che uno prova a fare :P )...
:-) mai riuscito a capire come calcolasse i punti il tetris originale ...
volevo rifarlo perché ho in ballo una sfida da circa 25 anni, e così dovevo
per forza usare lo stesso conteggio per poterla proseguire (quello
originale su pc recenti va troppo veloce :-/). Ma niente, ore e ore a
cercare di comprendere il suo calcolo ma niente, ho ipotizzato un
simil-random...


 simil-random...
Ma va', non ci credo. :D Magari lo farà in base anche ai pezzi usati, o allo
spazio rimasto, non saprei. :) 


 spazio rimasto, non saprei. :)
uhm ... ore e ore veramente, ma non ho trovato alcuna regola
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 uhm ... ore e ore veramente, ma non ho trovato alcuna regola
Mi fido. Però secondo me qualcosa su internet trovi...
E cmq mi sembra strano che sul mame, ad esempio, tetris originale ti vada
troppo veloce!


 troppo veloce!
altaltalt...originale == originale per pc, la mitica versione per 286, non
parlo del Tetris da bar.
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 originale su pc recenti va troppo veloce :-/). Ma niente, ore e ore a
Usa DosBox per eseguirlo e "rallentalo" in modo adeguato :-)
BTW ne esiste anche una versione come estensione per Mozilla, ma non ho
idea se calcoli il punteggio come l'originale.
'bye

 limitato). :)
Uso anch'io Dialog, ma non avevo ancora messo mano ai suoi scripts, forse
e' ora di farlo :-)
'bye

 idea se calcoli il punteggio come l'originale.
non lo conosco ma ne ho provati decine ma il calcolo era sempre
"proprietario"


 parlo del Tetris da bar.
Aaaah.. beh, per me se si parla di "tetris originale" intendo il
capostipite. :)
Hai già verificato se la versione per PC ha delle differenze con quella coin
op, a livello di calcolo punteggi?


 e' ora di farlo :-)
Ti avverto, è VERAMENTE limitato. Sia a livello di sintassi di linguaggio,
sia a livello di interazione con l'applicativo; che si può dire sia
pressoché nulla.
In pratica la gran parte delle operazioni a runtime le devi fare manipolando
la GUI. Sad. Mi fa tornare all'epoca in cui dovevo recuperare dati dalle
applicazioni di terze parti agendo tramite le winapi.
Cmq quando ti ci metti, mi saprai dire che impressioni ne hai ricavato.
L'anno scorso, forse due anni fa, stilai una sorta di piccola libreria per
le operazioni più comuni e per ovviare ad alcuni bug dipendentemente dal
sistema operativo sul quale girava Dialog, durante le operazioni sulle
stringhe.
Ho fatto anche in modo di evitare alcuni elementi di "appoggio" che vengono
comunemente usati nei vari script, che recuperano testi dalla clipboard.
Pensavo di metterle online da qualche parte, condividerle e magari portarle
avanti assieme ad altri. Se ti metterai a far qualcosa su Dialog fammi
sapere, che magari più avanti si potrebbe riprendere questo discorso.


 op, a livello di calcolo punteggi?
con quella "coin op"? cioè? quella di mame? no, non ho provato ma temo di
sì (ne ho appunto provati tantissimi e nessuno ha usato il punteggio
"originale")


 "originale")
Beh, prova. Se così non fosse, si vede che gli sviluppatori per PC hanno
voluto davvero fare gli alternativi.
Cmq ora mi hai incuriosito. Magari ci sentiamo privatamente così mi dici
qual'è la versione esatta per 286 alla quale ti riferisci, magari se ce
l'hai ancora.. Alla peggio, la debuggo (significherebbe che non ho veramente
di meglio da fare, e quindi non aspettarti dei risultati in tempi rapidi :D
)


 di meglio da fare, e quindi non aspettarti dei risultati in tempi rapidi :D
 eccolo! 
http://www.criosoftware.it/cboccoli/Tetris.zip
un com (quindi < 64k, ricordo bene?)
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 un com (quindi < 64k, ricordo bene?)
Yep, se non ricordo male CS = DS = SS e nessuna relocation table, inizio
codice a partire da 0x100.
'bye

 un com (quindi < 64k, ricordo bene?)
Ricordi bene. :)


 Usa DosBox 
Ma che figata ^_^ Non lo conoscevo, questo.


  eccolo! 
http://www.criosoftware.it/cboccoli/Tetris.zip
Sembrerebbe che sia scritto in Turbo Pascal :-)
'bye

 capostipite. :)
Capostipite che era stato scritto su un Electronika 60 :-)
Il primo porting fu per il PC IBM.
http://en.wikipedia.org/wiki/Electronica_60
http://en.wikipedia.org/wiki/Alexey_Pajitnov
http://en.wikipedia.org/wiki/Vadim_Gerasimov
'bye

 Sembrerebbe che sia scritto in Turbo Pascal :-)
uhm ... ricordo bug di pascal (che si inchiodava con pentium >=200), mentre
a me funziona...


 Capostipite che era stato scritto su un Electronika 60 :-)
Abbi pazienza, per la mia generazione il capostipite č il tetris del
coin-op. :)


 simil-random...
Oggi ci ho dato giusto un'occhiata un mezzo secondo, dopo pausa caffé.
Quando, al cadere del secondo blocco, mi è apparso un punteggio NEGATIVO, ho
incominciato a capire cosa volevi dire... :)


 incominciato a capire cosa volevi dire... :)
:-) non ricordo punteggi negativi, ma ricordo che anche all'inizio,
guardando, chessò, i primi 3 pezzi caduti, e ripetendo 100 volte (quindi
prima o poi ribeccavo in sequenza i primi 3 pezzi), il punteggio era
diverso ... sicuramente è legato anche al livello iniziale (infatti quando
c'era la sfida in ballo io partivo dal livello 7, perché in questo modo
quando scattava al livello 8 avevo più punti che non partendo dal livello
1, e anche il livello 9 [la fine di tutto...] scattava molto più tardi [con
questa tecnica ho per primo, dopo anni di sfide, sfondato il tetto dei
10.000 punti, eh eh, anche se a scapito di una artrite giovanile alla mano
destra :-/ NO, NO, è per via dei tasti premuti sempre più velocemente, non
per quello che pensi te ... :-) ]).


 a me funziona...
Era solo un'ipotesi derivata da alcune stringhe presenti nel file:
Copyright (C) 1985 BORLAND Inc
Run-time[...]error
Queste erano presenti nei compilati di TP, mentre non lo erano nel Turbo C,
non ricordo pero' cosa ci fosse nel Turbo Basic o nel Turbo Prolog.
'bye

 ...
Ammetto le mie colpe :-/
-- 
Nando [?]
Apostolo della Prova

 per l'esame.
Questo è poco ma sicuro: lo farò, presto o tardi, ché quando ho un'idea la
devo realizzare. Quando finirò, esporrò i risultati al pubblico ludibrio :)
