PDA

View Full Version : Vecchia discussione con proposte di realizzazione e sondaggi


Pagine : 1 2 3 4 [5] 6

fek
31-08-2005, 10:32
Io preferirei un approccio Java-only, senza SDL o altro: intanto realizziamo un progetto "portabile" (ok, con tutte le limitazioni del caso), e poi eventualmente vediamo come utilizzare altre tecnologie / API / framework per migliorarne le prestazioni.

Faccio qualcosa che sconsiglio sempre di fare: baso una decisione di design su considerazioni prestazionali senza avere dati (perche' non abbiamo ancora il codice).

Le regole esistono per essere violate quando e' necessario :)

Un approccio totalmente portabile sarebbe troppo lento per disegnare grafica. Preferisco separare in maniera netta il motore di presentazione (SDL per ora), dalla logica del gioco che sara' totalmente portabile. Sono abbastanza abituato a questo approccio quindi mi sento ragionevolmente "sicuro".

fek
31-08-2005, 17:58
Raoul, Maax. La scadenza per il doc e' domani. Mi raccomando.

MaaX
31-08-2005, 18:53
Raoul, Maax. La scadenza per il doc e' domani. Mi raccomando.


Ciao Coach...

Ho bruciato l'alimentatore del pc....

è proprio un bel periodo

cdimauro
01-09-2005, 10:01
Faccio qualcosa che sconsiglio sempre di fare: baso una decisione di design su considerazioni prestazionali senza avere dati (perche' non abbiamo ancora il codice).
Non penso che ci siano problemi prestazionali: ricordo che 10 anni fa in facoltà alcuni miei colleghi realizzavano in Java le classiche "demo" in voga i tempi, anche 3D (senza texture: poligoni solidi :p), con tanto di musica, e giravano abbastanza fluidamente su dei 486...

Ci sono anche tanti giochi, addirittura emulatori di console, realizzati in Java.
Le regole esistono per essere violate quando e' necessario :)
Non c'è problema: sono un tipo abbastanza pragmatico... :D
Un approccio totalmente portabile sarebbe troppo lento per disegnare grafica. Preferisco separare in maniera netta il motore di presentazione (SDL per ora), dalla logica del gioco che sara' totalmente portabile. Sono abbastanza abituato a questo approccio quindi mi sento ragionevolmente "sicuro".
Indubbiamente.

Comunque io proporrei di realizzare uno spike, per chi ha già acquisito competenze con Java 2D, per testare la velocità di "blitting" delle API standard.

^TiGeRShArK^
01-09-2005, 10:05
Ciao Coach...

Ho bruciato l'alimentatore del pc....

è proprio un bel periodo
guarda...
periodo VERAMENTE ottimo...
nn me ne parlare........
sto SCLERANDO DI BRUTTO!:muro:

fek
01-09-2005, 10:11
Comunque io proporrei di realizzare uno spike, per chi ha già acquisito competenze con Java 2D, per testare la velocità di "blitting" delle API standard.

Ottima idea. Abbiamo un volontario :D

cdimauro
01-09-2005, 10:18
ARGH! Ma se so a malapena far scrivere "Hello, world!" :cry:

Mi sono incastrato con le mie mani... :p

VICIUS
01-09-2005, 10:32
ARGH! Ma se so a malapena far scrivere "Hello, world!" :cry:

Mi sono incastrato con le mie mani... :p
Ora non puoi tirarti indietro. :asd:

ciao ;)

cdimauro
01-09-2005, 10:51
:( Ma non garantisco sui tempi, visto che il mio know-how è prossimo allo zero... :Prrr:

VICIUS
01-09-2005, 11:02
:( Ma non garantisco sui tempi, visto che il mio know-how è prossimo allo zero... :Prrr:
Non importa. Tanto noi siamo sicuramente piu lenti di te :muro:

ciao ;)

Gica78R
01-09-2005, 11:38
ARGH! Ma se so a malapena far scrivere "Hello, world!"
:eek:

Davvero? Allora c'e' qualcosa che non sai! :D

fek
01-09-2005, 11:47
Non importa. Tanto noi siamo sicuramente piu lenti di te :muro:

ciao ;)

Stasera prendiamo Antares e mettiamo su il server, ok?
Stiamo sforando sui tempi. Raoul? Il doc.

VICIUS
01-09-2005, 11:57
Stasera prendiamo Antares e mettiamo su il server, ok?
Stiamo sforando sui tempi. Raoul? Il doc.
Ricevuto.

ciao ;)

RaouL_BennetH
01-09-2005, 11:58
Stasera prendiamo Antares e mettiamo su il server, ok?
Stiamo sforando sui tempi. Raoul? Il doc.

Nella sostanza è pronto,mi manca "la formalità".Potresti mandarmi quell'esempio che mi dicesti?

DanieleC88
01-09-2005, 13:41
Ora non puoi tirarti indietro. :asd:
LOL, sembra una maledizione! :D

jappilas
01-09-2005, 13:44
hello everybody :)
reduce da un mese di totale privazione "internettica"...
chi mi fa un riassunto delle evoluzioni del progetto collettivo nel periodo agostano? :D

fek
01-09-2005, 14:12
hello everybody :)
reduce da un mese di totale privazione "internettica"...
chi mi fa un riassunto delle evoluzioni del progetto collettivo nel periodo agostano? :D

Io.

Oggi si parte "ufficialmente".

Questo e' l'action plan:

- Raoul propone le bozze dei due documenti di design del gioco (entro il 3 Settembre)
- Io, Vicius e Antares prepariamo il server per lo sviluppo (entro il 5 settembre)
- Io, Vicius, Maax e Raul definiamo le prime storie da implementare (entro il 6 settembre)
- Io e Vicius dividiamo le storie in task (entro il 7 settembre)
- Assegnazione e stima dei task (entro il 9 settembre)

Secondo questo piano, dal 9 settembre inizia la stesura vera e propria del codice di produzione.

DanieleC88
01-09-2005, 14:25
- Raoul propone le bozze dei due documenti di design del gioco (entro il 3 Settembre)
- Io, Vicius e Antares prepariamo il server per lo sviluppo (entro il 5 settembre)
- Io, Vicius, Maax e Raul definiamo le prime storie da implementare (entro il 6 settembre)
- Io e Vicius dividiamo le storie in task (entro il 7 settembre)
- Assegnazione e stima dei task (entro il 9 settembre)
In pratica, fate tutto tu e VICIUS. :D

71104
01-09-2005, 14:29
ehm, vi ricordo che mi avevate promesso in una delle possibili tracce una cosa che mi sarebbe piaciuta... :D
btw, non è che me la potete dire, magari a bassa voce così nessuno sente (cioè in pvt :D)? vi svolgo tutti i task che vi pare se mi dite cos'è :D

fek
01-09-2005, 14:32
In pratica, fate tutto tu e VICIUS. :D

All'inizio per mettere assieme il processo si' e per creare i task. Fatto questo, poi sgobbate voi :D

Non assegneremo i task, quelli ve li prendete voi dal mucchio e date la scadenza. Se finita la scadenza il task non viene completato, torna nel mucchio e un altro se lo prende (e il lavoro gia' fatto su quel task viene scartato). Questo meccanismo dovrebbe assicurare che ognuno lavora su quello che e' interessato, ma se non ha tempo per concluderlo, non blocca il resto del team in attesa.

E poi... Udite udite, abbiamo uno dei due documenti di design!

Sono un paio di paginette, ma e' una bomba! :D

Andra' ampliato, cambiato, migliorato come tutto, ma e' un ottima base di partenza e gia' ci permette di scrivere le prime storie e capire che cosa vogliamo implementare. E' venuto molto meglio di quanto avevo immaginato.

Ora serve il secondo documento sulla seconda idea ed i due piani di sviluppo.

DanieleC88
01-09-2005, 14:38
Ottimo. Forza che vogliamo lavorare! :)

fek
01-09-2005, 14:50
ehm, vi ricordo che mi avevate promesso in una delle possibili tracce una cosa che mi sarebbe piaciuta... :D
btw, non è che me la potete dire, magari a bassa voce così nessuno sente (cioè in pvt :D)? vi svolgo tutti i task che vi pare se mi dite cos'è :D

Ti preannuncio che potrai picchiare un tuo professore :D

71104
01-09-2005, 15:38
Ti preannuncio che potrai picchiare un tuo professore :D volo a preparare la caricatura... :D
be', la preparerò a tempo debito :p

PS: *professoressa :Perfido: :angel:

fek
01-09-2005, 15:49
volo a preparare la caricatura... :D
be', la preparerò a tempo debito :p

PS: *professoressa :Perfido: :angel:

E prepara pure le animazioni del pestaggio :D

DioBrando
01-09-2005, 15:50
Bonjour a tout le monde.

Je me iscriv, nun se sà mè che puis dar una man

:D

cisc
01-09-2005, 15:57
scusa fek, sono incuriosito dalla fase di progettazione, come vi organizzate, fate il diagramma UML? da dove partite? scommetto che la suddivisione dei task deriva molto dall'esperienza maturata sul campo, ma ci sono delle regolo da rispettare?

fek
01-09-2005, 16:13
scusa fek, sono incuriosito dalla fase di progettazione, come vi organizzate, fate il diagramma UML? da dove partite? scommetto che la suddivisione dei task deriva molto dall'esperienza maturata sul campo, ma ci sono delle regolo da rispettare?

Noi non progettiamo il codice, quindi niente diagrammi :)

La suddivisione avverra' di modo da creare task fattibili in un paio di giorni. Vediamo come gira, poi adattiamo un po' il processo ai problemi che troviamo.

Un esempio che mi viene in mente. Raoul ci dice questa storia: "Un diamante deve essere disegnato su schermo in una qualche posizione e poi deve cadere ad una data velocita' verso il fondo per poi posarsi".

Questa storia e' espressa dal punto di vista del Customer e va tradotta in qualcosa che sia implementabile e testabile. Allora io e Vicius dividiamo in task, tipo cosi':

1) Data una texture su disco, dev'essere caricata e disegnata come sprite sullo schermo alla data posizione (testare questo non sara' banale)
2) Lo sprite deve potersi muovere applicata una velocita' dalla posizione P1 alla posizione P2 (questo e' gia' piu' facile da testare)
3) Quando lo sprite raggiunge il fondo, la velocita' deve essere zero (facile da testare)

71104 si fionda e dice: "Io faccio 1) 2) 3) in sequenza e impieghero' 2 giorni a fare 1) e mezza giornata a fare 2) e 3)!".

Dopo due giorni 71104 fa il check in di 1). Io controllo che abbia scritto il test e la build automatica controlla che tutti i test gia' scritti passano e che le metriche siano rispettate. Se la build fallisce per un qualche motivo io prendo 71104 per il collo e lo insulto fino a che non rimette tutto a posto :D

71104 si inferocisce e si prende qualche giorno per sbollire, subentra cidimauro che fa 2) e 3). E cosi' via fino alla fine del progetto...

cisc
01-09-2005, 16:18
ok....questo progetto sul forum mi entusiasma, mi interessava la fase di progettazione perchè all'uni ti riempono la testa di UML...anche se io ancora ing. del software non l'ho fatto, ma poi l'UML nella "vita reale" è usato??!!

fek
01-09-2005, 16:24
ok....questo progetto sul forum mi entusiasma, mi interessava la fase di progettazione perchè all'uni ti riempono la testa di UML...anche se io ancora ing. del software non l'ho fatto, ma poi l'UML nella "vita reale" è usato??!!

Si', e' usato molto. Ma gli sviluppatori migliori lo usano per documentare un progetto gia' sviluppato, non per progettare codice non ancora scritto.

E' una forma di comunicazione sintetitca e formale delle idee.

Quello che insegano all'Uni adesso e' l'idea di 10 anni fa: "Progetta tutto tutto tutto il codice con metodi formalissimi e poi anche una scimmia puo' implementarlo". E' la divisione fra architetto e programmatore. Va bene finche' il progetto e' piccolo piccolo, deve seguire un percorso di sviluppo molto formale, le specifiche non cambiano mai (seee) e si ha molto tempo a disposizione.

Ma nella realta' i progetti sono grossi, le specifiche cambiano in continuazione (noi neppure le abbiamo), i tempi sono ristretti e fare come ti dicono all'Uni manda al 99% tutto a gambe all'aria.
Servono metodi di sviluppo piu' agili...

DanieleC88
01-09-2005, 16:33
71104 si fionda e dice: "Io faccio 1) 2) 3) in sequenza e impieghero' 2 giorni a fare 1) e mezza giornata a fare 2) e 3)!".

Dopo due giorni 71104 fa il check in di 1). Io controllo che abbia scritto il test e la build automatica controlla che tutti i test gia' scritti passano e che le metriche siano rispettate. Se la build fallisce per un qualche motivo io prendo 71104 per il collo e lo insulto fino a che non rimette tutto a posto :D

71104 si inferocisce e si prende qualche giorno per sbollire, subentra cidimauro che fa 2) e 3). E cosi' via fino alla fine del progetto...
«Riferimenti a cose o persone realmente esistenti è puramente casuale».

cisc
01-09-2005, 16:33
agile... (http://agilemanifesto.org/) ??

spv42
01-09-2005, 16:37
Salve Ragazzi,
Mi sono iscritto al forum oggi, e mi ritengo interessato alla proposta!
Non sò quanto possa essere utile in quanto sono un newbi in programmazione, ma ho tanta voglia di imparare!
Qualcuno può illustrarmi le modalità di sviluppo?

Grazie.

fek
01-09-2005, 16:51
Salve Ragazzi,
Mi sono iscritto al forum oggi, e mi ritengo interessato alla proposta!
Non sò quanto possa essere utile in quanto sono un newbi in programmazione, ma ho tanta voglia di imparare!
Qualcuno può illustrarmi le modalità di sviluppo?

Grazie.

Abile e arruolato!

(Per il metodo di sviluppo, ci sono 50 pagine circa di discussione, ma gli ultimi post che ho scritto riassumono il tutto)

MaaX
01-09-2005, 18:42
Ragazzi... buon lavoro

Oggi è il giorno ZERO.

Ho qualche noia con il PC, adesso sono con un portatile "in prestito" :D

@RaouL: se puoi mandami i passaggi in pvt o mail, appena posso mi ci metto sotto pure io ;)

@fek: non so perchè, ma credo che questa esperienza ti darò uno spunto per una nuova "missione"

MaaX
01-09-2005, 18:47
Dimenticavo:

ogni tanto date un'occhiata a questo forum http://www.pigaz.org/forum/ potreste trovare qualcosa di interessante ;)

Ma da quel che vedo non è ancora stato deciso il gioco :D

fek, visto che ci sei ed hai un fior fior di abili programmatori potresti partire con tutte e due le alternative :O

cdimauro
02-09-2005, 14:11
Non importa. Tanto noi siamo sicuramente piu lenti di te :muro:

ciao ;)
E' tutto da vedere: sono 10 anni almeno che non tocco Java... :(

cdimauro
02-09-2005, 14:12
:eek:

Davvero? Allora c'e' qualcosa che non sai! :D
Diciamo che sono molte di più le cose che non so... :p

cdimauro
02-09-2005, 14:13
Ricevuto.
http://www.animeye.it/Portfolio/Recensioni/Tekkaman/pegasfondo.jpg

VICIUS
02-09-2005, 14:22
http://www.animeye.it/Portfolio/Recensioni/Tekkaman/pegasfondo.jpg
:eek: :confused:

RaouL_BennetH
02-09-2005, 14:32
http://www.animeye.it/Portfolio/Recensioni/Tekkaman/pegasfondo.jpg

Questo non è lo splendido Robot che conteneva Tekkaman? :D

cdimauro
02-09-2005, 14:38
Buon sangue non mente... :p

RaouL_BennetH
02-09-2005, 14:59
Buon sangue non mente... :p

ultimo mio OT:

che splendido cartone:
http://www.cartonionline.com/personaggi/Tekkaman.htm
/OT

franksisca
02-09-2005, 17:15
agile... (http://agilemanifesto.org/) ??
Si, quando Nigro ti parlerà di XP capirai........

cisc
02-09-2005, 18:00
non c'è bisogno di aspettare l'esame di ing. del software per sapere cosa sia l'eXtreme Programming..basta googlare

mjordan
02-09-2005, 19:11
Si', e' usato molto. Ma gli sviluppatori migliori lo usano per documentare un progetto gia' sviluppato, non per progettare codice non ancora scritto.

E' una forma di comunicazione sintetitca e formale delle idee.

Quello che insegano all'Uni adesso e' l'idea di 10 anni fa: "Progetta tutto tutto tutto il codice con metodi formalissimi e poi anche una scimmia puo' implementarlo". E' la divisione fra architetto e programmatore. Va bene finche' il progetto e' piccolo piccolo, deve seguire un percorso di sviluppo molto formale, le specifiche non cambiano mai (seee) e si ha molto tempo a disposizione.

Ma nella realta' i progetti sono grossi, le specifiche cambiano in continuazione (noi neppure le abbiamo), i tempi sono ristretti e fare come ti dicono all'Uni manda al 99% tutto a gambe all'aria.
Servono metodi di sviluppo piu' agili...


Mi domandavo se il round trip risolvesse il problema... In fondo con il round trip crei diagrammi mentre codifichi e viceversa... :confused:

mjordan
02-09-2005, 19:16
E' tutto da vedere: sono 10 anni almeno che non tocco Java... :(

Praticamente programmavi in Oak :D :D :D

franksisca
02-09-2005, 19:55
non c'è bisogno di aspettare l'esame di ing. del software per sapere cosa sia l'eXtreme Programming..basta googlare
allora tutto OK :D :D :D

cionci
02-09-2005, 20:36
Praticamente programmavi in Oak :D :D :D
Su per giù anche io... Andai ad una delle prime conferenze su Java... Avevano invitato la mia scuola e sono andato con il professore... Mi ricordo le prime prove e le prime bestemmie con Netscape 2.0beta1...

mjordan
02-09-2005, 21:38
Su per giù anche io... Andai ad una delle prime conferenze su Java... Avevano invitato la mia scuola e sono andato con il professore... Mi ricordo le prime prove e le prime bestemmie con Netscape 2.0beta1...

Wow :eek:
Un'evento a cui puoi davvero dire "Io c'ero" :eek:

Antares88
03-09-2005, 01:57
Ragazzi sto avendo qualche intoppo col server, probabilmente devo riformattarlo (il buon partition magic mi ha allegramente comunicato che la tabella delle partizioni è danneggiata -.-).

Cerco di fare più in fretta che posso a metterlo up così carichiamo i server di cui abbiamo bisogno e il forum ;)

mjordan
03-09-2005, 02:51
Ragazzi sto avendo qualche intoppo col server, probabilmente devo riformattarlo (il buon partition magic mi ha allegramente comunicato che la tabella delle partizioni è danneggiata -.-).

Cerco di fare più in fretta che posso a metterlo up così carichiamo i server di cui abbiamo bisogno e il forum ;)

L'amministratore della notte... ;)

cdimauro
03-09-2005, 07:24
Su per giù anche io... Andai ad una delle prime conferenze su Java... Avevano invitato la mia scuola e sono andato con il professore... Mi ricordo le prime prove e le prime bestemmie con Netscape 2.0beta1...
Immagina le bestemmie con Mosaic... :asd: :p

fek
03-09-2005, 10:28
Ragazzi sto avendo qualche intoppo col server, probabilmente devo riformattarlo (il buon partition magic mi ha allegramente comunicato che la tabella delle partizioni è danneggiata -.-).

Cerco di fare più in fretta che posso a metterlo up così carichiamo i server di cui abbiamo bisogno e il forum ;)

Troppo gentile :)

Quando sei pronto, chiamami, io domani sono a disposizione tutto il giorno.

Raoul, Maax, ricordatevi le scadenze dei prossimi giorni.

Antares88
03-09-2005, 19:59
ragazzi ho riformattato ma la tabella delle partizioni risulta ancora danneggiata : /

ne ho parlato qui:http://www.hwupgrade.it/forum/showthread.php?p=9348995

se non trovo un altra soluzione entro un paio d'ore mi sa che faccio un format a basso livello...

cisc
03-09-2005, 23:43
ragazzi...so impaziente...allora...che si fa?

fek
04-09-2005, 13:23
ragazzi...so impaziente...allora...che si fa?

Questo e' l'action plan di questi giorni:

Questo e' l'action plan:

- Raoul propone le bozze dei due documenti di design del gioco (entro il 3 Settembre)
- Io, Vicius e Antares prepariamo il server per lo sviluppo (entro il 5 settembre)
- Io, Vicius, Maax e Raul definiamo le prime storie da implementare (entro il 6 settembre)
- Io e Vicius dividiamo le storie in task (entro il 7 settembre)
- Assegnazione e stima dei task (entro il 9 settembre)

Siamo in ritardo sulle due bozze. Le aspetto per questa sera.
Antares sta avendo problemi hardware con il server, stasera vediamo se riusciamo a lavorarci. Io ho fatto l'upgrade del mio Bimbo, ed ho un server SVN a disposizione che spero sia usabile come opzione di backup. Ne parlo con Vicius se oggi pomeriggio e' online.

Aggiungo due task che ho dimenticato:

- Io, Vicius e mjordan definiamo il primo abbozzo di coding standard del progetto e lo pubblichiamo come insieme di regole di eclipse (entro il 7 settembre)
- Io preparo la struttura di lavoro del forum (entro il 4 settembre)

Piccola digressione: a che cosa serve un piano con delle scadenze se non viene rispettato come e' successo in questo caso?
E' proprio quando accadono imprevisti come quello di Antares e Raoul che servono i piani, perche' il piano ci dice che in assenza di intoppi inizieremo il 9, ma ora abbiamo due intoppi che possiamo quantificare, e poi abbiamo il piano, che possiamo aggiustare di conseguenza e concludere che senza ulteriori intoppi, potremo iniziare il 10 o l'11. Il piano ci da' comunque un'informazione utile e migliora la visibilita' di tutti sul progetto.

fek
04-09-2005, 13:25
Vicius, mjordan, mi potete contattare questa sera o domani pomeriggio per definire i coding standard?

Io la prossima settimana sono disponibile anche durante la giornata. Un piccolo vantaggio per migliorare la nostra partenza :)

Antares88
04-09-2005, 13:36
Per la serie "la sfiga non viene mai da sola", la Antares88 & co. è orgogliosa di presentarvi il film "Come rompere l'hd da 200 giga dove sono salvati TUTTI i dati e tutto il lavoro degli ultimi 5 anni, mentre il server e il portatile sono fuori uso".

Tratto da una storia vera.

Voglio morire :cry:

fek
04-09-2005, 13:49
Per la serie "la sfiga non viene mai da sola", la Antares88 & co. è orgogliosa di presentarvi il film "Come rompere l'hd da 200 giga dove sono salvati TUTTI i dati e tutto il lavoro degli ultimi 5 anni, mentre il server e il portatile sono fuori uso".

Tratto da una storia vera.

Voglio morire :cry:

I Backuuuuuuuuuuuup!!!!!!!!!!!!!!!!!!!!!!! :D

DioBrando
04-09-2005, 15:19
Per la serie "la sfiga non viene mai da sola", la Antares88 & co. è orgogliosa di presentarvi il film "Come rompere l'hd da 200 giga dove sono salvati TUTTI i dati e tutto il lavoro degli ultimi 5 anni, mentre il server e il portatile sono fuori uso".

Tratto da una storia vera.

Voglio morire :cry:

ti capisco :(

ma hai provato tutte le utility di Disaster recovery?


O al limite potrebbe essere partita solo l'elettronica.

Coraggio :friend:

:D

Antares88
04-09-2005, 16:27
I Backuuuuuuuuuuuup!!!!!!!!!!!!!!!!!!!!!!!

infatti anche io backuppo... era quel disco li il backup di tutto, essendo il server e il portatile fuori uso T_T

Cmq ho visto che da un livecd di linux riesco ad aprire il disco e a vedere cosa c'è dentro... ora mi scarico una distro di linux, la installo e cerco di recuperare i files da li.

Mi dispiace tanto T_T volevo aiutare questo progetto non rallentarlo :cry:

VICIUS
04-09-2005, 16:30
- Io e Vicius dividiamo le storie in task (entro il 7 settembre)
- Assegnazione e stima dei task (entro il 9 settembre)
Io il 6 e il 7 ho l'esame di Ingegneria del Software. Si puo fare slittare il tutto di 2 giorni ?

Per il coding standard scrivo qualcosa ora.

Per le proposte ho letto quella di Diamong Fighters e mi sembra moolto carina. Ho proposto alcune modifiche a raoul. Questa sera provo a fare qualche disegnino se mi ricordo. :D

ciao ;)

71104
04-09-2005, 17:02
Mi dispiace tanto T_T volevo aiutare questo progetto non rallentarlo :cry: tranqui anta, sono sicuro che fek non te ne vuole affatto; anzi, senza di te il server non ce l'avevamo proprio, ne' rotto ne' funzionante...
ora conoscendoti penso che se ti si scassa un disco tu ne hai uno nuovo nel giro delle successive 24h, o sbaglio? :D
ricordo ancora le madonne che hai tirato giù quando Telecom faceva la str***a con l'adsl e sei rimasto per giorni senza... :rotfl:
intanto avvisa quando hai scaricato la distro di Linux e se e quando riuscirai a recuperare i dati...

ciao ;) *

* © VICIUS Inc. 2005

axaxin
04-09-2005, 18:03
Per la serie "la sfiga non viene mai da sola", la Antares88 & co. è orgogliosa di presentarvi il film "Come rompere l'hd da 200 giga dove sono salvati TUTTI i dati e tutto il lavoro degli ultimi 5 anni, mentre il server e il portatile sono fuori uso".

Tratto da una storia vera.

Voglio morire :cry:


Forza Anta SIAMO TUTTI CON TE! :friend:

fek
04-09-2005, 21:58
Io il 6 e il 7 ho l'esame di Ingegneria del Software. Si puo fare slittare il tutto di 2 giorni ?

Per il coding standard scrivo qualcosa ora.

Per le proposte ho letto quella di Diamong Fighters e mi sembra moolto carina. Ho proposto alcune modifiche a raoul. Questa sera provo a fare qualche disegnino se mi ricordo. :D

ciao ;)

Ok, slittiamo i coding standard di due giorni, cosi' aspettiamo anche Antares.

All'esame li fai neri :D

fek
04-09-2005, 22:00
tranqui anta, sono sicuro che fek non te ne vuole affatto; anzi, senza di te il server non ce l'avevamo proprio, ne' rotto ne' funzionante...
ora conoscendoti penso che se ti si scassa un disco tu ne hai uno nuovo nel giro delle successive 24h, o sbaglio? :D

Ma non c'e' alcun problema! Gli imprevisti sono all'ordine del giorno, bisogna solo lavorarci per tenerne conto durante la pianificazione.

^TiGeRShArK^
05-09-2005, 14:47
Si, quando Nigro ti parlerà di XP capirai........
ma visto ke state studiando a cosenza...
Luigi Palopoli ke fa d bello????

Gica78R
05-09-2005, 18:34
VICIUS! Hai sverniciato il forum su pigaz.org! :eek:
O lo hai solo spostato? O non serve piu'? :confused:

Vabbe', era solo per sapere... :)


Ciao

VICIUS
05-09-2005, 18:39
VICIUS! Hai sverniciato il forum su pigaz.org! :eek:
O lo hai solo spostato? O non serve piu'? :confused:

Vabbe', era solo per sapere... :)


Ciao
Quando è pronto il server nuovo ci spostiamo sul forum di www.nsn3.net quindi non ci serviva piu li.

ciao ;)

spv42
05-09-2005, 18:57
Dove trovo SDL per JAVA, il mio S.O è Winzoz XP.

Gica78R
05-09-2005, 18:58
Quando è pronto il server nuovo ci spostiamo sul forum di www.nsn3.net quindi non ci serviva piu li.

ciao ;)
Capito, grazie :)

Ah, avevo gia' anticipato a MaaX che avrei avuto dei problemi a partecipare alla realizzazione del gioco (causa attuale incapacita' + altri problemini con gli esami), pero' ho ugualmente ripreso a studiare Java e cerchero' di seguire quel che farete per non perdere contatto.


Ciao...

fek
05-09-2005, 20:09
Raoul, Antares, mi aggiornate sulla situazione?

AnonimoVeneziano
05-09-2005, 20:26
Ma lo fate in Java??

In nemico di VIC :D

Ciao

VICIUS
05-09-2005, 20:49
Ma lo fate in Java??

In nemico di VIC :D

Ciao
Tu che centri ? :D

ciao ;)

RaouL_BennetH
05-09-2005, 21:05
Raoul, Antares, mi aggiornate sulla situazione?

yes :)

Ho bisogno ancora di un paio di giorni :(

Mi sono arenato su un paio di punti e non riesco a venirne fuori se non in modo troppo cervellotico,e la cosa non mi piace.

DanieleC88
05-09-2005, 22:25
infatti anche io backuppo... era quel disco li il backup di tutto, essendo il server e il portatile fuori uso T_T

Cmq ho visto che da un livecd di linux riesco ad aprire il disco e a vedere cosa c'è dentro... ora mi scarico una distro di linux, la installo e cerco di recuperare i files da li.

Mi dispiace tanto T_T volevo aiutare questo progetto non rallentarlo :cry:
Se è come dici, forse non è tutto perduto, dai.
Messaggi subliminali:
- Se ti serve aiuto con Linux, sai come contattarmi. Sono sempre disponibile.
- Linux rulezzz!!!

ciao ;)

71104
05-09-2005, 22:33
ciao ;) VICIUSite? :D
se si vuole fare una citazione al caro Macrelli (come a volte faccio io) di solito si appunta a pie' di pagina la nota di copyright VICIUS 2005 :D
ma se la nota non appare, come nel tuo caso, è un evidente sintomo di VICIUSite: il paziente non si rende consciamente conto della citazione, e per questo non specifica la nota di Copyright; continua a ripetere la citazione finché questa continua ad emergere dal subconscio in maniera apparentemente inspiegabile; l'unico rimedio è una pesante somministrazione giornaliera di fekosina e antarina 88: precisamente 71,104 ml di ciascuna tutte le mattine.

VICIUS
05-09-2005, 22:53
VICIUSite? :D
se si vuole fare una citazione al caro Macrelli (come a volte faccio io) di solito si appunta a pie' di pagina la nota di copyright VICIUS 2005 :D
ma se la nota non appare, come nel tuo caso, è un evidente sintomo di VICIUSite: il paziente non si rende consciamente conto della citazione, e per questo non specifica la nota di Copyright; continua a ripetere la citazione finché questa continua ad emergere dal subconscio in maniera apparentemente inspiegabile; l'unico rimedio è una pesante somministrazione giornaliera di fekosina e antarina 88: precisamente 71,104 ml di ciascuna tutte le mattine.
Sono piu di 140ml di roba ogni mattina. Neanche prendendo antrace, ebola, peste e lebbra si arrivano a prendere tante medicine al giorno :D

ciao ;)

franksisca
06-09-2005, 08:04
ragazzi, ma tutti insieme, voi, un giro presso il più vicino ospedale psichiatrico no, eh???? :D :D :D
Ho già vi hanno dimesso per impossibilità di recupero :D :D :D
Comunque fateci avere notizie dello sviluppo, please.E buon lavoro a tutti.

fek
06-09-2005, 09:38
yes :)

Ho bisogno ancora di un paio di giorni :(

Mi sono arenato su un paio di punti e non riesco a venirne fuori se non in modo troppo cervellotico,e la cosa non mi piace.

In questo caso evidenzia i due punti e scrivi che devono essere rivisitati in seguito. Ma in questo momento tu e Antares siete i colli di bottiglia e dobbiamo andare avanti in questi due punti. Ovviamente non e' colpa vostra, capita :)
E capita a fagiolo perche' cosi' impariamo subito a gestire i colli di bottiglia.

Mandami stasera la bozza, anche senza quei due punti, e aggiorno il piano di sviluppo.

cdimauro
06-09-2005, 09:55
Doppio post. Scusate. :p

cdimauro
06-09-2005, 09:56
/* Primo spike.

Obiettivo: testare i tempi di calcolo necessarii per gestire la grafica in Java "standard"
(senza ricorrere alle librerie SDL o altro).

Nel sito di Sun ho trovato un esempio su come impostare la visualizzazione a schermo intero e
gestire direttamente l'aggiornamento dello schermo, senza utilizzare i lenti metodi di repaint & co.
L'ho usato come base di questo spike, cambiandone la formattazione e lo stile con quello a me più affine.
Poi ho aggiunto il codice per effettuare questo test (non sapevo nemmeno come iniziare per generare
della grafica e visualizzarla :-D), misurarne il tempo e visualizzare le statistiche.

Particolarmente importante è il valore di NumDisplayBuffers.
Con 4 buffer (incluso quello "primario" che viene visualizzato) ho ottenuto
un buon frame rate, anche se "ballerino": la maggior parte delle volte supera i 100fps,
altre volte una ventina.

Il tallone d'Achille al momento sembra il tempo di caricamento del Buffer nell'oggetto Image:
è molto lento.

Sto investigando la possibilità di usare in qualche modo l'oggetto Image direttamente, senza
passare da Buffer.

Scusate per la cronica carenza di commenti e preamboli per classi e funzioni / metodi,
ma al momento ho poco tempo a disposizione.
*/

import java.lang.System;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.BufferStrategy;

public class ScreenBlitSpike {

private static final int Colors[] = {0xFFFF0000, 0xFF00FF00};
private static final int ScreenWidth = 640, ScreenHeight = 480;
private static final int NumDisplayBuffers = 4;
private static DisplayMode PreferredDisplayMode = new DisplayMode(ScreenWidth, ScreenHeight, 32, 0);
private Frame MainFrame;
private BufferedImage Image;
private int[] Buffer = new int[ScreenWidth * ScreenHeight];

public ScreenBlitSpike(GraphicsDevice Device) {
long TimeStart = 0, BufferTimeEnd = 0, ImageTimeEnd = 0, DrawTimeEnd = 0, FlipBufferTimeEnd = 0;
int FramesLost = 0;
try {
SetupFrameAndScreen(Device);
Image = new BufferedImage(ScreenWidth, ScreenHeight, BufferedImage.TYPE_INT_ARGB);
MainFrame.createBufferStrategy(NumDisplayBuffers);
BufferStrategy Strategy = MainFrame.getBufferStrategy();

// Main loop: concentratevi su questa sezione.
for(int j = 0; j < 5; j++)
for (int i = 0; i < 2; i++) {
Graphics g = Strategy.getDrawGraphics();
if (!Strategy.contentsLost()) {

int c = Colors[i];
int xy = 0;
TimeStart = System.currentTimeMillis();
for(int y = 0; y < ScreenHeight; y++)
for(int x = 0; x < ScreenWidth; x++) {
Buffer[xy] = c;
xy++;
}
BufferTimeEnd = System.currentTimeMillis();

Image.setRGB(0, 0, ScreenWidth, ScreenHeight, Buffer, 0, 0);
ImageTimeEnd = System.currentTimeMillis();

g.drawImage(Image, 0, 0, null);
DrawTimeEnd = System.currentTimeMillis();

Strategy.show();
FlipBufferTimeEnd = System.currentTimeMillis();
g.dispose();
}
else
FramesLost++;
}
System.out.print(FramesLost);
System.out.println(" frames lost.");
PrintTime("Buffer time: ", TimeStart, BufferTimeEnd);
PrintTime("Image time: ", BufferTimeEnd, ImageTimeEnd);
PrintTime("Draw time: ", ImageTimeEnd, DrawTimeEnd);
PrintTime("Flip buffer time: ", DrawTimeEnd, FlipBufferTimeEnd);
} catch (Exception e) {
e.printStackTrace();
} finally {
Device.setFullScreenWindow(null);
}
}

private static void PrintTime(String Header, long TimeStart, long TimeEnd) {
long Diff = TimeEnd - TimeStart;
System.out.print(Header);
System.out.print(Diff);
System.out.print("ms -> ");
if (Diff == 0)
System.out.print("+OO");
else
System.out.print(Math.round(1000.0 / Diff));
System.out.println("fps");
}

private static DisplayMode GetBestDisplayMode(GraphicsDevice Device) {
DisplayMode[] Modes = Device.getDisplayModes();
for (int i = 0; i < Modes.length; i++)
if (Modes[i].getWidth() == PreferredDisplayMode.getWidth() && Modes[i].getHeight() == PreferredDisplayMode.getHeight() && Modes[i].getBitDepth() == PreferredDisplayMode.getBitDepth())
return PreferredDisplayMode;
return null;
}

public static void ChooseBestDisplayMode(GraphicsDevice Device) {
DisplayMode BestDisplayModeFound = GetBestDisplayMode(Device);
if (BestDisplayModeFound != null)
Device.setDisplayMode(BestDisplayModeFound);
}

public void SetupFrameAndScreen(GraphicsDevice Device) {
MainFrame = new Frame(Device.getDefaultConfiguration());
MainFrame.setUndecorated(true);
MainFrame.setIgnoreRepaint(true);
Device.setFullScreenWindow(MainFrame);
if (Device.isDisplayChangeSupported())
ChooseBestDisplayMode(Device);
}

public static void main(String[] args) {
try {
GraphicsEnvironment Environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice Device = Environment.getDefaultScreenDevice();
ScreenBlitSpike Spike = new ScreenBlitSpike(Device);
} catch (Exception e) {
e.printStackTrace();
}
System.exit(0);
}

}

gokan
06-09-2005, 10:34
Non c'entra niente con il nostro progetto, però date un'occhiata a questa cosa:
http://www.gamedev.net/reference/business/features/gameinaweek/

Come realizzare un gioco in una settimana :D

Dite che si può fare veramente? Di sicuro non è il nostro caso!!! :sofico:

DanieleC88
06-09-2005, 10:35
VICIUSite? :D
se si vuole fare una citazione al caro Macrelli (come a volte faccio io) di solito si appunta a pie' di pagina la nota di copyright VICIUS 2005 :D
ma se la nota non appare, come nel tuo caso, è un evidente sintomo di VICIUSite: il paziente non si rende consciamente conto della citazione, e per questo non specifica la nota di Copyright; continua a ripetere la citazione finché questa continua ad emergere dal subconscio in maniera apparentemente inspiegabile; l'unico rimedio è una pesante somministrazione giornaliera di fekosina e antarina 88: precisamente 71,104 ml di ciascuna tutte le mattine.
LOL :D :rotfl:

fek
06-09-2005, 10:49
Particolarmente importante è il valore di NumDisplayBuffers.
Con 4 buffer (incluso quello "primario" che viene visualizzato) ho ottenuto
un buon frame rate, anche se "ballerino": la maggior parte delle volte supera i 100fps,
altre volte una ventina.

Mi spaventa molto il framerate ballerino. E' molto meglio avere un framerate piu' basso ma costante piuttosto che alto ma incostante.

Ho visto che l'oggetto g viene "creato" e poi viene richiamata una "dispose". C'e' un allocazione di memoria di mezzo? Nel render loop dovrebbero essere evitate come la peste. E' possibile che il GC entri in gioco ogni qualche frame e inchiodi il frametime mentre esegue la raccolta?

fek
06-09-2005, 10:51
Dite che si può fare veramente? Di sicuro non è il nostro caso!!! :sofico:

Puoi fare anche un gioco in un giorno se vuoi :)

cdimauro
06-09-2005, 11:39
Mi spaventa molto il framerate ballerino. E' molto meglio avere un framerate piu' basso ma costante piuttosto che alto ma incostante.
La penso esattamente come te, e proprio per questo l'ho evidenziato.

Per giochi 2D come quello che dovremmo realizzare interessa mantenere il frame rate costante a tutti i costi, in modo da semplificarne la logica di funzionamento. Anche basso, ma costante. Infatti la cosa mi ha fatto storcere il naso non poco. :(
Ho visto che l'oggetto g viene "creato" e poi viene richiamata una "dispose". C'e' un allocazione di memoria di mezzo? Nel render loop dovrebbero essere evitate come la peste.
L'esempio della Sun le aveva dentro i loop. :p

Se c'è allocazione, penso che sia relativa soltanto alla creazione della classe, quindi non credo che sia problematico a livello prestazionale.

Infatti ho portato fuori dai loop sia Strategy.getDrawGraphics() sia g.dispose() e non è cambiato di una virgola in funzionamento del programma (e la velocità).
E' possibile che il GC entri in gioco ogni qualche frame e inchiodi il frametime mentre esegue la raccolta?
E' l'unica cosa che mi preoccupa: penso che il GC sia una variabile difficilmente controllabile a livello applicativo.

RaouL_BennetH
06-09-2005, 12:28
In questo caso evidenzia i due punti e scrivi che devono essere rivisitati in seguito. Ma in questo momento tu e Antares siete i colli di bottiglia e dobbiamo andare avanti in questi due punti. Ovviamente non e' colpa vostra, capita :)
E capita a fagiolo perche' cosi' impariamo subito a gestire i colli di bottiglia.

Mandami stasera la bozza, anche senza quei due punti, e aggiorno il piano di sviluppo.

Roger :)

71104
06-09-2005, 12:43
Puoi fare anche un gioco in un giorno se vuoi :) ... ma??

71104
06-09-2005, 12:45
Sono piu di 140ml di roba ogni mattina. Neanche prendendo antrace, ebola, peste e lebbra si arrivano a prendere tante medicine al giorno :D lol :D
ma il mio nick si pronuncia "settantuno centoquattro", quindi se avessi detto 7,1104 ml la battuta mi sarebbe suonata male :D
casomai diciamo che fekosina e antarina 88 si trovano in commercio solo in forma diluita asdasdasdasd

Python
06-09-2005, 13:28
bello, seguirò con interesse partecipando come posso (non sono bravo in niente quindi sorry :()

Antares88
06-09-2005, 14:53
Aggiornamento:

L'altroieri ho provato un livecd di linux specializzato per i lavori su hd, il Trinity Rescue Kit, e ho visto che il pinguino riesce a leggere l'hd. Ieri dopo una nottata di download, ho installato Suse Professional 9.3.

Ho avuto la conferma che l'hd e i files al suo interno sono visibili. Il problema è che il danno è piuttosto esteso, quindi copiando i files capita che alcuni non riesca a leggersi e vada in stallo dai 2 ai 30 minuti. Sto cercando di salvare tutto quello che posso, per ora ho recuperato circa 2 giga di roba di lavoro.

Dovrei avere circa 120 giga di roba su questo hd, di cui 70 però sono roba scaricata che posso riscaricare o tentare di recuperare con calma in seguito (magari quando mi torna il portatile dalla riparazione.

La roba di lavoro ammonta quindi ad una 50ina di giga, forse meno se riesco a recuperare roba da un backup di dicembre 2004.

In ogni caso potrebbe volerci qualche giorno, compresa la reinstallazione e configurazione di windows. Non so bene che fare.

La macchina ha accesso ad internet, quindi eventualmente potremmo anche cominciare a caricare i servers su linux (Se poi c'è possibilità di portabilità dei dati su windows).
Altrimenti posso sentire il mio socio e vedere se è possibile caricarvi sul server di napoli. Oppure ancora posso rubare il portatile 'vecchio' di mamma (1ghz e qualcosa) e configurare quello su win 2k in modo da usarlo per qualche giorno e poi trasferire su spartacus appena è pronto.

Ora ci rifletto un po, ditemi anche voi cosa ne pensate.

71104
06-09-2005, 15:05
certo però che non ci si crede :mbe:
un HDD rotto è già di per se' una cosa che capita veramente nemmeno una volta ogni morte di papa (a meno che non sia scrauso), ma a te proprio quando serviva per il glorioso progetto che avrebbe significato grande pubblicità per HWU e NSN3... :mbe:

cmq Daniele e VICIUS ti consiglieranno sicuramente di rimanere su Linux (a proposito, credo che tu abbia scelto la distro più pesante di tutte :D), ma io ben so che tu senza WarIII non ci stai manco morto :D
a meno che non scegli di giocare sul portatile e fare tutto il resto su Linux, ma tieni presente che così il software di management che io creo (quando ne ho tempo) per eternal non potrà andare su spartacus...

e comunque sia se scegliessi di rimanere su Linux ti consiglio di togliere Suse e mettere Ubuntu; non so quanto sia pesante Ubuntu, ma Suse lo è sicuramente di più (nei laboratori dell'università a occhio risulta qualcosa come 5 o 6 volte più pesante di XP, soprattutto all'avvio...).

e questo te lo dicevo solo nel caso facessero effetto i messaggi subliminali di Daniele :D

poi aggiungo che imho senza pensarci due volte devi uppare tutto su eternal!!!!! ;) ;) ;)
cioè, una volta che stavo lavorando col rubbe su eternal via vnc, rubbe ha scaricato una cosa da qualche mega che io scarico in qualche secondo: lui l'ha scaricata con la velocità di una gif piccola... O_O' :mc:

Gica78R
06-09-2005, 15:16
Aggiornamento:
[...]
In ogni caso potrebbe volerci qualche giorno, compresa la reinstallazione e configurazione di windows. Non so bene che fare.
[...]

Aggiungo anche io un messaggino subliminale...


RESTA SU LINUX!!!


...e nonostante non mi entusiasmi moltissimo, metti Debian al posto di SuSE :O


Gica


PS: il messaggio subliminale e' quello scritto piccolo! :D

VICIUS
06-09-2005, 15:20
certo però che non ci si crede :mbe:
un HDD rotto è già di per se' una cosa che capita veramente nemmeno una volta ogni morte di papa (a meno che non sia scrauso), ma a te proprio quando serviva per il glorioso progetto che avrebbe significato grande pubblicità per HWU e NSN3... :mbe:
Ne ho rotti due in 6 anni. Maledetti fulmini. :muro:

cmq Daniele e VICIUS ti consiglieranno sicuramente di rimanere su Linux
Meglio di no. Se rimane su linux mi tocca fare tutto da solo. Su windows invece c'a anche fek.

(a proposito, credo che tu abbia scelto la distro più pesante di tutte :D),
Se non le sai usare sono tutte pesanti.

ma io ben so che tu senza WarIII non ci stai manco morto :D
a meno che non scegli di giocare sul portatile e fare tutto il resto su Linux, ma tieni presente che così il software di management che io creo (quando ne ho tempo) per eternal non potrà andare su spartacus...
Puoi sempre provare con wine.... :D

e comunque sia se scegliessi di rimanere su Linux ti consiglio di togliere Suse e mettere Ubuntu; non so quanto sia pesante Ubuntu, ma Suse lo è sicuramente di più (nei laboratori dell'università a occhio risulta qualcosa come 5 o 6 volte più pesante di XP, soprattutto all'avvio...).
Probabilmente avete dei sysadmin della domenica :D.
Ma poi giudicare la pesantezza di un OS da quanto ci mette ad avviarsi... :nonsifa: Il tempo di avvio su un server che sta acceso per mesi è assolutamente irrilevante. In ogni caso butta SuSE e metti Debian Sarge. :D

ciao ;)

Brazorv
06-09-2005, 15:25
Puoi sempre provare con wine.... :D



Non aprite quella porta :nono:

Antares88
06-09-2005, 15:39
Ho messo suse perché mi è stato detto che è una delle + facili ed automatizzate... qua va a razzo (a parte un piccolo problema sull'accelerazione 3d non funzionante, ma li tocca far funzionare i drivers ati).

L'idea di restare a Linux mi solletica, ma avrei i problemi sopra esposti a serverare e a giocare. Nonché a lavorare: io uso molto Photoshop e dovrei mettermi a litigare con wine.

Piuttosto pensavo di rimettere windows su Spartacus e poi quando ricompro il portatile mettere su un sistema dual boot con win per giocare e usare determinati programmi, e Linux per imparare ad usarlo.

Intanto il salvataggio dei dati procede, anche se molto lentamente. Da stamane ho recuperato:

-Una cartella da 900 mega che non era danneggiata
-Il 35% della mia cartella di lavoro da 1200 mega
-Il 3% di una cartella di lavoro di mio padre da 4,2 giga. Speriamo che la smetta di andare in stallo ogni due secondi sui files danneggiati e che si muova.

cionci
06-09-2005, 15:43
-Una cartella da 900 mega che non era danneggiata
-Il 35% della mia cartella di lavoro da 1200 mega
-Il 3% di una cartella di lavoro di mio padre da 4,2 giga. Speriamo che la smetta di andare in stallo ogni due secondi sui files danneggiati e che si muova.
Strano che non ci sia qualche utility apposita

cionci
06-09-2005, 15:48
Prova con questi, non so se stai facendo a mano o tutto automaticamente, comunque se lo fai a mano puoi provare con questi, magari fai prima:

PC Inspector File (http://www.webattack.com/get/pcinspector.shtml) - Freeware
Programma per recupero dati, semplice e facile da utilizzare, forse più indicato per il recupero di alcuni dati che non di un intero disco

Easy Recovery - Ontrack (http://www.ontrack.com/easyrecovery/) - commerciale
Programma per recupero dati; free download della versione di prova che non permette di salvare i dati recuperati, ma può almeno fornire un'indicazione della possibilità di recupero dei dati stessi

GetDataBack (http://www.runtime.org/gdb.htm) - commerciale
Programma per recupero dati; esistono 2 versioni per FAT32 e NTFS - free download della versione di prova che non permette di salvare i dati recuperati, ma consente una valutazione delle possibilità di recupero

R-Studio 2 (http://www.r-tt.com/) - commerciale
Programma per recupero dati; free download della versione DEMO che non permette di salvare i dati recuperati, ma consente una valutazione delle possibilità di recupero


Stellar Phoenix (http://www.stellarinfo.com/it/index.htm) - commerciale
Programma per recupero dati
Disponibile nelle versioni FAT&NTFS, Linux, Mac, Novell
Esiste anche una versione per recupero dati da CD
Free download della versione DEMO che non permette di salvare i dati recuperati, ma consente una valutazione delle possibilità di recupero
Da qualcuno ritenuto "il migliore"

fek
06-09-2005, 16:07
La macchina ha accesso ad internet, quindi eventualmente potremmo anche cominciare a caricare i servers su linux (Se poi c'è possibilità di portabilità dei dati su windows).
Altrimenti posso sentire il mio socio e vedere se è possibile caricarvi sul server di napoli. Oppure ancora posso rubare il portatile 'vecchio' di mamma (1ghz e qualcosa) e configurare quello su win 2k in modo da usarlo per qualche giorno e poi trasferire su spartacus appena è pronto.

Ora ci rifletto un po, ditemi anche voi cosa ne pensate.

Per me entrambe le opzioni vanno bene. Io inizierei a tirare su un server subversion il prima possibile, perche' ora cominciamo ad essere in ritardo sulla tabella di marcia :)

Decisione di Vicius qui, che su linux e server e' piu' preparato.

71104
06-09-2005, 16:12
guardate, io consiglio vivamente di metterci su eternal che ha una banda incredibile... ;)
non so se anta aveva intenzione di sistemare Linux sul portatile di mia zia, ma comunque sia alla fine dovremo metterci su Windows (a quanto pare anta su spartacus ci vuole rimontare Windows se ho ben capito), quindi partimo su Windows fin dall'inizio; dal momento poi che da quanto ne so io anta non ha la stessa banda di rubbe, con semplici passaggi... ;)

PS: per chi non lo sapesse, eternal è il server di napoli; il rubbe (nick completo: "Rubberick") sarebbe quello che anta ha chiamato il suo socio.

DanieleC88
06-09-2005, 16:53
Roger :)
...Rabbit? :rotfl:
ma il mio nick si pronuncia "settantuno centoquattro"
Sono troppo curioso per non chiedertelo: che significa, il tuo nick?
cmq Daniele e VICIUS ti consiglieranno sicuramente di rimanere su Linux
Certo preferirei Linux, ma chi te lo dice? Quello che ci serve c'è anche su Windows. Basta che sia Win2k/WinXP!!

71104
06-09-2005, 17:02
Sono troppo curioso per non chiedertelo: che significa, il tuo nick? se vuoi te lo spiego, ma è una cosa davvero banale, vecchi scherzi e battute cretine tra me e un mio amico di liceo (tra me e me più che altro... :D)
ti consiglio di non chiedermi di spiegartelo, altrimenti si perde tutto il fascino del misterioso numero ;)

Certo preferirei Linux, ma chi te lo dice? Quello che ci serve c'è anche su Windows. Basta che sia Win2k/WinXP!! ovviamente! :p
anche se ti dirò: sto riscoprendo il fascino di Windows 9x :D
sotto certi aspetti era più divertente programmare su Windows 98: era il paradiso dei crackers, in senso cattivo! :D
pensa che non c'era nemmeno la protezione copy-on-write, percui se modificavi il codice di una libreria di sistema, come kernel32.dll, le modifiche avevano effetto su tutti i processi (anche quelli di sistema!) senza troppe complicazioni con CreateRemoteThread ed exploit per caricare codice in altri processi.

Antares88
06-09-2005, 17:06
albé eternal è pieno, in questo momento regge tutti gli shard di ultima online e il server irc... non mi sembra il caso di metterci altra roba anche se in questo caso si tratta di materiale leggero.

Cmq sto riflettendo su un po di cose, mo vediamo cosa fare ;)

fek
06-09-2005, 18:17
albé eternal è pieno, in questo momento regge tutti gli shard di ultima online e il server irc... non mi sembra il caso di metterci altra roba anche se in questo caso si tratta di materiale leggero.

Cmq sto riflettendo su un po di cose, mo vediamo cosa fare ;)

Non ci serve banda e soprattutto non voglio pesare su chi ci fa un favore, quindi scarterei l'ipotesi Napoli.
Dacci solo il serverino meno intrusivo che puoi :)

Gica78R
06-09-2005, 18:18
se vuoi te lo spiego, ma è una cosa davvero banale, vecchi scherzi e battute cretine tra me e un mio amico di liceo (tra me e me più che altro... :D)
ti consiglio di non chiedermi di spiegartelo, altrimenti si perde tutto il fascino del misterioso numero ;)
[...]

Vediamo un po' se riusciamo ad indovinare...
71 104, ma consideriamo che in origine era 71 103
Allora, secondo la Smorfia napoletana (http://www.portanapoli.com/Ita/Cultura/body_cu_smorfia_napoletana.html) , il 71 e'... "l'Ommo 'e mer**"! Sono sulla buona strada? :ciapet:
Per il 103, che dire... :stordita: Boh!

Si scherza, eh! :)

MaaX
06-09-2005, 22:29
Ciao Raga',

sono un pochino assente in questi gg, doppi turni di lavoro, ma vedo che senza di me ve la cavate bene lo stesso :O ;)

@VICIUS: in bocca al lupo per l'esame..

@RaouL:: sono sempre orfano del mio Pc, per qualsiasi necessità contattami in PVT, via mail o MSN (sul portatile non ho ICQ)

@fek: quando cerchiamo qualche bravo "disegnatore"? (o fa tutto VICIUS :D ? )

VICIUS
06-09-2005, 23:17
@VICIUS: in bocca al lupo per l'esame..
Grazie :D
@fek: quando cerchiamo qualche bravo "disegnatore"? (o fa tutto VICIUS :D ? )
Fermi tutti. Io posso fare qualche schizzo in fretta per far capire come dovrebbe essere il gioco, se proprio servono. Per diseganre la grafica di un gioco intero ci vuole uno con le contro cose nei paesi bassi. :D

ciao ;)

cionci
06-09-2005, 23:36
C'è antares che è bravo con la grafica ;)

Antares88
06-09-2005, 23:45
Ho pensato ad un altra soluzione.
Dato che ho quasi finito di recuperare le cose più urgenti, potrei procurarmi stanotte drivers e patch, con cui rimettere windows su spartacus nella giornata di domani. Potrei poi installare linux sul portatile vecchio di mamma e continuare il recupero li.

Domani vi dirò con certezza (sperando che mamma mi dia il via :read: ).

MaaX
07-09-2005, 04:50
Ho pensato ad un altra soluzione.
Dato che ho quasi finito di recuperare le cose più urgenti, potrei procurarmi stanotte drivers e patch,

Procurato tutto?

con cui rimettere windows su spartacus nella giornata di domani. Potrei poi installare linux sul portatile vecchio di mamma e continuare il recupero li.

Non so se va molto d'accordo il vecchio portatile della mamma con linux, :O attento stai giocando con il fuoco :D

Domani vi dirò con certezza (sperando che mamma mi dia il via :read: ).

Una curiosità, hai provato a prendere il tuo HD e metterlo in Slave su un altro sistema?

Antares88
07-09-2005, 09:43
Procurato tutto?

Non so se va molto d'accordo il vecchio portatile della mamma con linux, :O attento stai giocando con il fuoco :D


Una curiosità, hai provato a prendere il tuo HD e metterlo in Slave su un altro sistema?


Sto al 60% della cartella (totale, 2,5gb). Se va tutto bene e non becco troppi files danneggiati dovrei finire di recuperarla questo pomeriggio. Spero solo che non ci siano troppe cose inservibili da riscaricare T_T

Il portatile vecchio della mamma dovrebbe andare daccordo con linux, semmai è la mamma che non lo è :mc:
Però ho un arma a mio favore: è una settimana che tengo in ostaggio come appoggio il portatile NUOVO di mamma :D
Questo implica che, dato che i tempi si prolungano, proporrò uno scambio :sofico:

L'hd non posso metterlo in slave poiché è un hd esterno ^^'

fek
07-09-2005, 10:41
C'è antares che è bravo con la grafica ;)

Ed ho un paio di amici che possono darci una mano.
E magari scateno Kareem per farci i concept art a tempo perso :D

fek
07-09-2005, 10:44
Sto al 60% della cartella (totale, 2,5gb). Se va tutto bene e non becco troppi files danneggiati dovrei finire di recuperarla questo pomeriggio. Spero solo che non ci siano troppe cose inservibili da riscaricare T_T

Il portatile vecchio della mamma dovrebbe andare daccordo con linux, semmai è la mamma che non lo è :mc:
Però ho un arma a mio favore: è una settimana che tengo in ostaggio come appoggio il portatile NUOVO di mamma :D
Questo implica che, dato che i tempi si prolungano, proporrò uno scambio :sofico:

L'hd non posso metterlo in slave poiché è un hd esterno ^^'

Dici che per stasera, massimo domani sera possiamo lavorarci? Non ti voglio mettere fretta, solo avere un'idea per riformulare l'action plan (che per gli imprevisti e' saltato di brutto :D).

Per il resto sei gentilissimo a tenerci costantemente informati.

PS. Per i puristi della lingua, purtroppo di alcuni termini non conosco l'equivalente italiano perche' li leggo e uso sempre in inglese. Ma se suggerite un equivalente italiano, uso quello. Non sono particolarmente anglofilo.

DanieleC88
07-09-2005, 10:55
@VICIUS: in bocca al lupo per l'esame..
Quoto! ;)
In bocca all'upo, VICIUS. ( :D :D :rotfl: :Prrr: )
Ok, basta con le battutacce. L'ascio stare. :D

<ot>Uffa però... ad Antares l'hard disk fa le bizze, a me è la scheda video che mi sta abbandonando. Da stamattina ho continui kernel panic e ho già riavviato 5 o 6 volte... o forse è il modem, con quei driver buggati? Boh, so solo che qualcosa lì dentro sta morendo. :cry:</ot>

DanieleC88
07-09-2005, 11:00
PS. Per i puristi della lingua, purtroppo di alcuni termini non conosco l'equivalente italiano perche' li leggo e uso sempre in inglese. Ma se suggerite un equivalente italiano, uso quello. Non sono particolarmente anglofilo.
L'equivalente di "action plan"? ...Uhm... Programma? Pianificazione? :confused:

A me va bene anche "action plan". :D

Gica78R
07-09-2005, 11:04
PS. Per i puristi della lingua, purtroppo di alcuni termini non conosco l'equivalente italiano perche' li leggo e uso sempre in inglese. Ma se suggerite un equivalente italiano, uso quello. Non sono particolarmente anglofilo.
Ti riferisci, ad esempio, ad "action plan"?
Io lo tradurrei con "la roba che si deve fare, e come, per realizzare il gioco". :D

Uffa però... ad Antares l'hard disk fa le bizze, a me è la scheda video che mi sta abbandonando. Da stamattina ho continui kernel panic e ho già riavviato 5 o 6 volte... o forse è il modem, con quei driver buggati? Boh, so solo che qualcosa lì dentro sta morendo.
...e io ieri ho quasi bruciato la zuppa di fagioli! :eek:
Cmq le salsiccie le ho salvate tutte! :p

Antares88
07-09-2005, 11:27
action plan vuol dire letteralmente @piano d-azione@....

argh linux scazza coi simboli O.o mi sa che gli devo caricare qualche libreria dalla console o.O

comunque Fek aggiornarvi costantemente [ il minimo che posso fare :)
Se questo hd lamer si sbriga a copiare i files e non trovo troppi installers corrotti spero di cavarmela per stasera o stanotte.

cdimauro
07-09-2005, 11:28
/* Secondo spike.

Obiettivo: testare i tempi di calcolo necessarii per gestire la grafica in Java "standard"
(senza ricorrere alle librerie SDL o altro).

Nel sito di Sun ho trovato un esempio su come impostare la visualizzazione a schermo intero e
gestire direttamente l'aggiornamento dello schermo, senza utilizzare i lenti metodi di repaint & co.
L'ho usato come base di questo spike, cambiandone la formattazione e lo stile con quello a me più affine.
Poi ho aggiunto il codice per effettuare questo test (non sapevo nemmeno come iniziare per generare
della grafica e visualizzarla :-D), misurarne il tempo e visualizzare le statistiche.

Il sorgente è stato riorganizzato / razionalizzato, sono state scritte diverse routine e test.

Particolarmente importante è il valore di NumDisplayBuffers.
Con 4 buffer (incluso quello "primario" che viene visualizzato) ho ottenuto
un buon frame rate, anche se "ballerino": la maggior parte delle volte supera i 100fps,
altre volte una ventina.

Ho realizzato 4 test:
- ExternalBufferToImageTest -> riempie lo schermo alternativamente con 2 colori;
- ExternalTiledBufferToImageTest -> riempie lo schermo utilizzando due tile come pattern;
- ExternalZoomedTileBufferToImageTest -> visualizza alternativamente 2 tile zoomate;
- ImageToGraphicTest -> uguale a ExternalTiledBufferToImageTest come tipo di output, ma
non usa nessun buffer né Image, accedendo direttamente al device Graphic per riempire
lo schermo con le due tile.

Quest'ultimo, nonostante manchino i due passaggi (generazione buffer e copia nell'oggetto
Image) risulta più lento dell'equivalente che li usa.
Quindi lavorare direttamente col device Graphic non è sicuramente una buona idea.

Le conclusioni a cui sono giunto sono le seguenti:
1) lavorare con buffer di memoria (matrici) è un'operazione molto veloce.
Si arriva tranquillamente a 300-1000fps (sul mio sistema: Athlon64 3000+ socket 754,
con 512MB di ram e scheda video Radeon 9200SE) con una matrice che simula
uno schermo 640x480 a 32 bit per pixel (in formato ARGB).
2) il tempo di caricamento del buffer nell'oggetto Image è lento, ma comunque arriva a circa
60 fps. Quindi tutto sommato buono come tempo.
3) il tempo di caricamento dell'oggetto Image nel device Graphic, che serve a visualizzare
finalmente l'output, è il vero collo di bottiglia di tutto quanto.
Infatti il framerate non è affatto costante e spesso dipende dallo stato del sistema.
Con NumDisplayBuffers si riescono a superare stabilmente i 20fps, ma risultano troppo pochi
per generare delle animazioni fluide.

Bisogna, quindi, trovare un altro sistema per reindirizzare la grafica al video.

Scusate per la cronica carenza di commenti e preamboli per classi e funzioni / metodi,
ma al momento ho poco tempo a disposizione.
*/

import java.lang.System;
import java.awt.*;
import java.awt.image.DataBuffer;
import java.awt.image.WritableRaster;
import java.awt.image.BufferedImage;
import java.awt.image.BufferStrategy;

public class ScreenBlitSpike {

private static final int BufRedCrossTile[] = {
0xFFFF0000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFF0000,
0xFF000000, 0xFFFF0000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFF0000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFFFF0000, 0xFF000000, 0xFF000000, 0xFFFF0000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFF000000, 0xFFFF0000, 0xFFFF0000, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFF000000, 0xFFFF0000, 0xFFFF0000, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFFFF0000, 0xFF000000, 0xFF000000, 0xFFFF0000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFFFF0000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFF0000, 0xFF000000,
0xFFFF0000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFF0000};
private static final int BufGreenCrossTile[] = {
0xFF000000, 0xFF000000, 0xFF000000, 0xFF00FF00, 0xFF00FF00, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFF000000, 0xFF00FF00, 0xFF00FF00, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFF000000, 0xFF00FF00, 0xFF00FF00, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00,
0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00, 0xFF00FF00,
0xFF000000, 0xFF000000, 0xFF000000, 0xFF00FF00, 0xFF00FF00, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFF000000, 0xFF00FF00, 0xFF00FF00, 0xFF000000, 0xFF000000, 0xFF000000,
0xFF000000, 0xFF000000, 0xFF000000, 0xFF00FF00, 0xFF00FF00, 0xFF000000, 0xFF000000, 0xFF000000};
private static final int BufBlueSquaresTile[] = {
0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF,
0xFF0000FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFF0000FF,
0xFF0000FF, 0x00000000, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0x00000000, 0xFF0000FF,
0xFF0000FF, 0x00000000, 0xFF0000FF, 0x00000000, 0x00000000, 0xFF0000FF, 0x00000000, 0xFF0000FF,
0xFF0000FF, 0x00000000, 0xFF0000FF, 0x00000000, 0x00000000, 0xFF0000FF, 0x00000000, 0xFF0000FF,
0xFF0000FF, 0x00000000, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0x00000000, 0xFF0000FF,
0xFF0000FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFF0000FF,
0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF};

private static final int Colors[] = {0xFFFF0000, 0xFF00FF00};
private static final int ScreenWidth = 640, ScreenHeight = 480;
private static final int TileWidth = 8, TileHeight = 8;
private static final int NumDisplayBuffers = 3;
private static DisplayMode PreferredDisplayMode = new DisplayMode(ScreenWidth, ScreenHeight, 32, 0);

private int[] Buffer = new int[ScreenWidth * ScreenHeight];
private Frame MainFrame;
private BufferStrategy Strategy;
private Graphics g;

private BufferedImage Image;
private BufferedImage ImageTiles[] = {
new BufferedImage(TileWidth, TileHeight, BufferedImage.TYPE_INT_ARGB),
new BufferedImage(TileWidth, TileHeight, BufferedImage.TYPE_INT_ARGB),
new BufferedImage(TileWidth, TileHeight, BufferedImage.TYPE_INT_ARGB)};

long TimeStart = 0, BufferTimeEnd = 0, ImageTimeEnd = 0, DrawTimeEnd = 0, FlipBufferTimeEnd = 0;
int FramesLost = 0;

public ScreenBlitSpike(GraphicsDevice Device) {
ImageTiles[0].setRGB(0, 0, TileWidth, TileHeight, BufRedCrossTile, 0, TileWidth);
ImageTiles[1].setRGB(0, 0, TileWidth, TileHeight, BufGreenCrossTile, 0, TileWidth);
ImageTiles[2].setRGB(0, 0, TileWidth, TileHeight, BufBlueSquaresTile, 0, TileWidth);
try {
SetupFrameAndScreen(Device);

// Main loop: concentratevi su questa sezione.
for(int j = 0; j < 5; j++)
for (int i = 0; i < 2; i++) {
//Graphics g = Strategy.getDrawGraphics();
if (!Strategy.contentsLost()) {
//ExternalBufferToImageTest(i, j);
ExternalTiledBufferToImageTest(i, j);
//ExternalZoomedTileBufferToImageTest(i, j);
//ImageToGraphicTest(i, j);
DrawTimeEnd = System.currentTimeMillis();

Strategy.show();
FlipBufferTimeEnd = System.currentTimeMillis();
//g.dispose();
}
else
FramesLost++;
}
g.dispose();
System.out.print(FramesLost);
System.out.println(" frames lost.");
PrintTime("Buffer time: ", TimeStart, BufferTimeEnd);
PrintTime("Image time: ", BufferTimeEnd, ImageTimeEnd);
PrintTime("Draw time: ", ImageTimeEnd, DrawTimeEnd);
PrintTime("Flip buffer time: ", DrawTimeEnd, FlipBufferTimeEnd);
} catch (Exception e) {
e.printStackTrace();
} finally {
Device.setFullScreenWindow(null);
}
}

private static void PrintTime(String Header, long TimeStart, long TimeEnd) {
long Diff = TimeEnd - TimeStart;
System.out.print(Header);
System.out.print(Diff);
System.out.print("ms -> ");
if (Diff == 0)
System.out.print("+OO");
else
System.out.print(Math.round(1000.0 / Diff));
System.out.println("fps");
}

private static DisplayMode GetBestDisplayMode(GraphicsDevice Device) {
DisplayMode[] Modes = Device.getDisplayModes();
for (int i = 0; i < Modes.length; i++)
if (Modes[i].getWidth() == PreferredDisplayMode.getWidth() && Modes[i].getHeight() == PreferredDisplayMode.getHeight() && Modes[i].getBitDepth() == PreferredDisplayMode.getBitDepth())
return PreferredDisplayMode;
return null;
}

private static void ChooseBestDisplayMode(GraphicsDevice Device) {
DisplayMode BestDisplayModeFound = GetBestDisplayMode(Device);
if (BestDisplayModeFound != null)
Device.setDisplayMode(BestDisplayModeFound);
}

private void SetupFrameAndScreen(GraphicsDevice Device) {
MainFrame = new Frame(Device.getDefaultConfiguration());
MainFrame.setUndecorated(true);
MainFrame.setIgnoreRepaint(true);
Device.setFullScreenWindow(MainFrame);
if (Device.isDisplayChangeSupported())
ChooseBestDisplayMode(Device);
Image = new BufferedImage(ScreenWidth, ScreenHeight, BufferedImage.TYPE_INT_ARGB);
//WritableRaster Raster = Image.getRaster();
//DataBuffer Data = Raster.DataBuffer;
MainFrame.createBufferStrategy(NumDisplayBuffers);
Strategy = MainFrame.getBufferStrategy();
g = Strategy.getDrawGraphics();
}

private void FillScreen(int Screen[], int ScreenWidth, int ScreenHeight, int Color) {
int ScreenXY = 0;
for(int y = ScreenHeight; y != 0; y--)
for(int x = ScreenWidth; x != 0; x--)
Screen[ScreenXY++] = Color;
}

private void DrawTile(int Screen[], int ScreenWidth, int ScreenHeight, int Tile[], int TileWidth, int TileHeight, int x, int y) {
int ScreenXY = y * ScreenWidth + x;
int ScreenOffset = ScreenWidth - TileWidth;
int TileXY = 0;
for (; TileHeight != 0; TileHeight--) {
for(int k = TileWidth; k != 0; k--)
//System.out.print(" ---> "); System.out.print(k); System.out.print(","); System.out.println(TileHeight);
Screen[ScreenXY++] = Tile[TileXY++];
ScreenXY += ScreenOffset;
}
}

private void DrawZoomedTile(int Screen[], int ScreenWidth, int ScreenHeight, int Tile[], int TileWidth, int TileHeight, int x, int y, int ZoomX, int ZoomY) {
int ScreenXY = y * ScreenWidth + x;
int ScreenOffset = ScreenWidth - TileWidth * ZoomX;
int TileXY = 0;
for (; TileHeight != 0; TileHeight--) {
int SaveTileXY = TileXY;
for (int zy = ZoomY; zy != 0; zy--) {
TileXY = SaveTileXY;
for(int k = TileWidth; k != 0; k--) {
int Color = Tile[TileXY++];
for (int zx = ZoomX; zx != 0; zx--)
Screen[ScreenXY++] = Color;
}
ScreenXY += ScreenOffset;
}
}
}

private void ExternalBufferToImageTest(int i, int j) {
TimeStart = System.currentTimeMillis();
FillScreen(Buffer, ScreenWidth, ScreenHeight, Colors[i]);
BufferTimeEnd = System.currentTimeMillis();

Image.setRGB(0, 0, ScreenWidth, ScreenHeight, Buffer, 0, ScreenWidth);
ImageTimeEnd = System.currentTimeMillis();

g.drawImage(Image, 0, 0, null);
}

private void ExternalTiledBufferToImageTest(int i, int j) {
TimeStart = System.currentTimeMillis();
for(int y = 0; y < ScreenHeight; y += TileHeight)
for(int x = 0; x < ScreenWidth; x += TileWidth) {
if (i == 0)
DrawTile(Buffer, ScreenWidth, ScreenHeight, BufRedCrossTile, TileWidth, TileHeight, x, y);
else
DrawTile(Buffer, ScreenWidth, ScreenHeight, BufGreenCrossTile, TileWidth, TileHeight, x, y);
i ^= 1;
}
BufferTimeEnd = System.currentTimeMillis();

Image.setRGB(0, 0, ScreenWidth, ScreenHeight, Buffer, 0, ScreenWidth);
ImageTimeEnd = System.currentTimeMillis();

g.drawImage(Image, 0, 0, null);
}

private void ExternalZoomedTileBufferToImageTest(int i, int j) {
TimeStart = System.currentTimeMillis();
if (i == 0)
DrawZoomedTile(Buffer, ScreenWidth, ScreenHeight, BufRedCrossTile, TileWidth, TileHeight, 0, 0, 40, 40);
else
DrawZoomedTile(Buffer, ScreenWidth, ScreenHeight, BufGreenCrossTile, TileWidth, TileHeight, 0, 0, 40, 40);
BufferTimeEnd = System.currentTimeMillis();

Image.setRGB(0, 0, ScreenWidth, ScreenHeight, Buffer, 0, ScreenWidth);
ImageTimeEnd = System.currentTimeMillis();

g.drawImage(Image, 0, 0, null);
}

private void ImageToGraphicTest(int i, int j) {
TimeStart = System.currentTimeMillis();
BufferTimeEnd = System.currentTimeMillis();
ImageTimeEnd = System.currentTimeMillis();
for(int y = 0; y < ScreenHeight; y += TileHeight)
for(int x = 0; x < ScreenWidth; x += TileWidth) {
g.drawImage(ImageTiles[i], x, y, null);
i ^= 1;
}
}

public static void main(String[] args) {
try {
GraphicsEnvironment Environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice Device = Environment.getDefaultScreenDevice();
ScreenBlitSpike Spike = new ScreenBlitSpike(Device);
} catch (Exception e) {
e.printStackTrace();
}
System.exit(0);
}

}

A questo punto direi che è meglio passare a testare Java con la libreria SDL...

Anche se io preferirei usare Python a questo punto: si sviluppa codice MOLTO più velocemente...

cisc
07-09-2005, 11:29
Quoto! ;)
In bocca all'upo, VICIUS. ( :D :D :rotfl: :Prrr: )
Ok, basta con le battutacce. L'ascio stare. :D


In bocca al lupo anche da parte mia;)



<ot>Uffa però... ad Antares l'hard disk fa le bizze, a me è la scheda video che mi sta abbandonando. Da stamattina ho continui kernel panic e ho già riavviato 5 o 6 volte... o forse è il modem, con quei driver buggati? Boh, so solo che qualcosa lì dentro sta morendo. :cry:</ot>

weeee, ma qua c'è na moria!!!!! dobbiamo bloccare il virus, tutti a vaccianare i computer :O ... :stordita:

fek
07-09-2005, 11:36
A questo punto direi che è meglio passare a testare Java con la libreria SDL...

Perfetto! Grazie :)

E' stato utilissimo, quindi e' deciso per SDL/OpenGL?

71104
07-09-2005, 11:48
"action plan"? un momento che cerco sul dizionario... allora... A, "ac", "acrylic", "act", "actinia" (:confused: ), "actinism" (:confused: :confused: )... "action", eccolo qui!! dice "azione"... mah, vorrà dire azione? vabbè, passiamo alla successiva (tra parentesi, lo sapevate che più avanti c'è anche la voce "ActiveX"? :D rotfl)
ordunque, "plan": lettera P... "P", "pl", "placement", "placenta" (:asd: ), "plague", "plain"... "plan": piano... aaaaaaaaaaaaaahhhhhhhhh ma certo!!! ci sono!! vuol dire "piano d'azione" ;)

PS: per curiosità sono andato a cercare anche "COM" alla C, però non c'era... ignoranti, secondo me non sapevano come spiegarlo, anzi non l'avevano nemmeno capito che cos'èra... :rotfl: :D :asd:

71104
07-09-2005, 11:53
ragazzi, al post numero #1234 festeggiamo? :D
peccato non poterci vedere in real con torte, ciambelloni, coca cola, coriandoli, cappellini a punta, ecc. ecc. :D

ah, dimenticavo, se vi serve io a disegnare (su carta) sono brav...bravino :D
infatti la caricatura della mia prof la disegnerò a mano, la scannerizzerò e sistemero elettronicamente i colori; ma tenete sempre presente che io posso lavorare tranquillamente da metà settembre se tutto va bene, a ottobre altrimenti...

Antares88
07-09-2005, 12:00
ok mamma ha acconsentito per l-operazione portatile :D :sofico: ;)

fek
07-09-2005, 12:03
"action plan"? un momento che cerco sul dizionario... allora... A, "ac", "acrylic", "act", "actinia" (:confused: ), "actinism" (:confused: :confused: )... "action", eccolo qui!! dice "azione"... mah, vorrà dire azione? vabbè, passiamo alla successiva (tra parentesi, lo sapevate che più avanti c'è anche la voce "ActiveX"? :D rotfl)
ordunque, "plan": lettera P... "P", "pl", "placement", "placenta" (:asd: ), "plague", "plain"... "plan": piano... aaaaaaaaaaaaaahhhhhhhhh ma certo!!! ci sono!! vuol dire "piano d'azione" ;)

"Action plan" non e' la stessa cosa di "piano d'azione", altrimenti avrei usato quello :)

Le traduzioni da una lingua all'altra non si fanno traducendo parola per parola, ma traducendo il concetto.

71104
07-09-2005, 12:19
comunque ancora non hai risposto al mio "ma" di qualche pagina fa (rima :p)
ero curioso di sapere la risposta :)

VICIUS
07-09-2005, 12:33
"Action plan" non e' la stessa cosa di "piano d'azione", altrimenti avrei usato quello :)

Le traduzioni da una lingua all'altra non si fanno traducendo parola per parola, ma traducendo il concetto.
Che ne dici di "Piano di lavoro".

ciao ;)

fek
07-09-2005, 13:18
comunque ancora non hai risposto al mio "ma" di qualche pagina fa (rima :p)
ero curioso di sapere la risposta :)

L'ho perso, mi spiace. Me lo ripeti per cortesia?

Che ne dici di "Piano di lavoro".

ciao ;)

Si', gli assomiglia di piu'. Per 'action plan', qui si intende una serie di obiettivi da raggiungere, con indicati task per raggiungerli e le scadenze entro cui i task vanno completati. Ho una visione chiara di che cosa sono perche' li vedo sempre scritti :D

Antares88
07-09-2005, 13:42
82% ! gogo dai che ce la fai ! :ave: :ave:

71104
07-09-2005, 16:38
L'ho perso, mi spiace. Me lo ripeti per cortesia? tu hai detto che in un giorno solo è possibile sviluppare anche un videogioco intero (2D suppongo); e allora io ho detto: ".... ma??"
c'è un "ma"? ero curioso di capire la tua affermazione :)

fek
07-09-2005, 18:01
tu hai detto che in un giorno solo è possibile sviluppare anche un videogioco intero (2D suppongo); e allora io ho detto: ".... ma??"
c'è un "ma"? ero curioso di capire la tua affermazione :)

Ah si' :)
Beh, se sai quello che devi fare e il gioco non e' troppo complesso tipo quello dell'esempio, in una giornata si puo' fare un giochino piuttosto semplice senza grossi problemi.

Dove lavoro ogni tanto organizzano tornei tipo: "Avete due ore per fare un gioco" :D

Antares88
07-09-2005, 18:11
uff sto lamer sta bloccato al 94% da un ora... temo che nn ce la faro- neanche per stasera /./
gli mancano 100 mega... che sofferenza

Gica78R
07-09-2005, 18:20
Piccola info: posso saltare Swing o la devo studiare? :stordita:

Antares88
08-09-2005, 09:19
assurdo... in tutta la notte ha fatto solo un altro 3% arrivando al 97%... se entro due ore non ha finito lo blocco e chissene degli ultimi 50 mega.

cdimauro
08-09-2005, 10:41
Perfetto! Grazie :)

E' stato utilissimo, quindi e' deciso per SDL/OpenGL?
Nel sito di Sun / Java dedicato ai videogiochi, c'è scritto che sono state sviluppate delle apposite API per grafica e sonoro. Sono pacchetti che si installano a parte, e quindi non compresi nel JRE / JDK.

Dovrebbero rappresentare il futuro di Java per quanto riguarda la generazione di grafica con elevate prestazioni. Infatti da quel che ho capito dovrebbero essere praticamente un remapping delle OpenGL 2.0.

Con tutti i pro e i contro, chiaramente.

Per quel che ci riguarda, l'SDL dovrebbe essere una libreria molto più semplice da usare.

In entrambi i casi c'è da installare qualcosa in più, per cui decidiamo assieme il da farsi...

cdimauro
08-09-2005, 10:42
Piccola info: posso saltare Swing o la devo studiare? :stordita:
IMHO non devi studiare niente finché non saprai di cosa ti dovrai occupare.

A meno che non ti venga affidato il compito di implementare il package che funge da interfaccia alle API che useremo (SDL o OpenGL), penso che difficilmente ti capiterà di usare Swing, Awt o quant'altro... :p

fek
08-09-2005, 10:47
Nel sito di Sun / Java dedicato ai videogiochi, c'è scritto che sono state sviluppate delle apposite API per grafica e sonoro. Sono pacchetti che si installano a parte, e quindi non compresi nel JRE / JDK.

Dovrebbero rappresentare il futuro di Java per quanto riguarda la generazione di grafica con elevate prestazioni. Infatti da quel che ho capito dovrebbero essere praticamente un remapping delle OpenGL 2.0.

Con tutti i pro e i contro, chiaramente.

Per quel che ci riguarda, l'SDL dovrebbe essere una libreria molto più semplice da usare.

In entrambi i casi c'è da installare qualcosa in più, per cui decidiamo assieme il da farsi...

Si hanno piu' notizie di questa libreria di Sun? Link?

Roulllllllll!!!!!!

cdimauro
08-09-2005, 11:29
http://java.sun.com/developer/technicalArticles/games/gdc2004.html
Overview generale sugli strumenti disponibili per la programmazione avanzata di videogiochi in Java.



https://jogl.dev.java.net/
Java Open GL (JOGL)

JOGL is designed to provide hardware-supported 3D graphics to applications written in Java. It is part of a suite of open-source technologies initiated by the Game Technology Group at Sun Microsystems. JOGL provides full access to the API's in the OpenGL 1.4 specification as well as nearly all vendor extensions, and integrates with the AWT and Swing widget sets.



https://joal.dev.java.net/
Java Open AL (JOAL)

Open AL is an open source, cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. Java Open AL is an API with Java bindings layered on the existing Open AL API and provides hardware support and spatialized audio for games written with Java technologies.

Antares88
08-09-2005, 12:59
Ok, ho stoppato i trasferimenti, anche perche- mio padre mi ha detto di voler portare il disco in ufficio ad un tecnico esperto di recupero dati.

Ora sposto i files da qua e poi lavoro per rimettere a posto il server. Colgo l-occasione per una domanda:
Come faccio a deletare definitivamente dei files ?

fek
08-09-2005, 13:34
http://java.sun.com/developer/technicalArticles/games/gdc2004.html
Overview generale sugli strumenti disponibili per la programmazione avanzata di videogiochi in Java.



Interessantissimo. Ci vorrebbe proprio uno spike. E abbiamo anche un volontario vero? ;)

mjordan
08-09-2005, 13:49
Il GDC 2004 ha ospitato oltre 10.000 sviluppatori di videogames... Il mercato dei videogiochi muove 9 miliardi di dollari ( :eek: ) l'anno... Di conseguenza un singolo sviluppatore, da solo, ne muove in media 900.000.000 di dollari... ( :eek: )
Ecco perchè vi lamentate che guadagnate poco :eek: :asd: :asd:

Scusate l'OT, continuate pure... :D

Gica78R
08-09-2005, 13:53
...implementare il package che funge da interfaccia alle API che useremo...
:huh: :eh: :wtf:
Tralasciando momentaneamente il fatto che :boh: ( :p ), qualcosa del genere non dovrebbe gia' esistere? C'entra nulla questo: http://sdljava.sourceforge.net/ ?

PS: ricordatevi che io sono una specie di contenitore vuoto (a perdere...), non so niente! :cool:

jappilas
08-09-2005, 15:54
Dove lavoro ogni tanto organizzano tornei tipo: "Avete due ore per fare un gioco" :D
Gioco stile Dungeons and Dragons, con
gestione della scheda abilità, tabella punti e inventario per giocatore,
multiplayer con session server (equivalente al master di avventura),
presentazione testuale di ambientazione e situazione (:D)
generazione pseudo-random basata su template, di dungeon, avventure, enigmi, avversari da battere ecc,
interazione a menù a turni

mezzora (mi tengo largo) per il design e poi coding del gioco principale, della parte master, del tool che servirà per creare i dati di base e i template di cui sopra
un' oretta e mezza per recuperare i manuali giocatore e master di AD&D, scansionarli, ottenere il testo dall' ocr, ottenere i dati tramite il tool di cui sopra
:D

jappilas
08-09-2005, 15:58
Interessantissimo. Ci vorrebbe proprio uno spike. E abbiamo anche un volontario vero? ;)
esattamente il volontario cosa dovrebbe fare? ;)

fek
08-09-2005, 16:18
esattamente il volontario cosa dovrebbe fare? ;)

Provare JOGL da Eclipse. Il nostro cidimauro si e' offerto candidamente volontario :)

cdimauro
09-09-2005, 10:05
Interessantissimo. Ci vorrebbe proprio uno spike. E abbiamo anche un volontario vero? ;)
:) Però questa volta mi servirà un po' di tempo in più, anche perché sono un po' incasinato col lavoro... :p

cdimauro
09-09-2005, 10:09
:huh: :eh: :wtf:
Non ti preoccupare e fidati: molto probabilmente le Swing, awl o altro (anche JOGL e SDL) non le vedrai nemmeno col cannocchiale... :D
Tralasciando momentaneamente il fatto che :boh: ( :p ), qualcosa del genere non dovrebbe gia' esistere? C'entra nulla questo: http://sdljava.sourceforge.net/ ?
C'entra per l'SDL appunto, che è era una delle due possibilità.

Gli ho dato un'occhiata e promette molto bene. Certamente realizzare uno spike con SDLJava mi porterebbe via molto meno tempo, perché è una libreria semplice da utilizzare, ma per adesso vediamo come va con JOGL, che anche se più complessa promette bene...
PS: ricordatevi che io sono una specie di contenitore vuoto (a perdere...), non so niente! :cool:
Non ti preoccupare: a riempirlo ci penserà fek... :asd: :D :mano:

cdimauro
09-09-2005, 10:12
Provare JOGL da Eclipse.
Ehm... Finora ho usato Kate (un editor di testo) e la shell per gli spike... :fiufiu:

Sto provando a installare la J2SK 1.5, che è quella che dovremmo usare tutti (adesso ho la 1.4), ma finora le uniche cose concrete che ho ottenuto sono le mie imprecazioni... :( Spero di risolvere prima che parta tutto...
Il nostro cidimauro si e' offerto candidamente volontario :)
Forzato... Anzi, masochista autolesionista... :asd: :p

Gica78R
09-09-2005, 10:25
[...]
Non ti preoccupare: a riempirlo ci penserà fek... :asd: :D :mano:
Bbbboni! State bbboni! E, come diceva Abatantuono, "riempi, riempi, riempi... il vaso alla fine strabbocca!"

Ehm... Finora ho usato Kate (un editor di testo) e la shell per gli spike...
:sofico:

Ora provo un po' i tuoi spike, va'... cosi' vedo come programma un professionista! :)


Cia'

PS: ho finito di studiare il K&R :yeah: Ora so il C (maddeche'...)

fek
09-09-2005, 10:29
Ora provo un po' i tuoi spike, va'... cosi' vedo come programma un professionista! :)


E' molto bravo :)

E' quello che mi piacerebbe con questo progetto. Fare in modo che i meno esperti possano leggere e lavorare con il codice di gente come Vicius, cionci e cidimauro ad esempio. Per questo cerchero' di rotare il piu' possibile i task di modo che il codice sia un po' di tutti.

E per far questo mi serve il server.....

E il doc del gioco... Raoul!!!!!!!!!!!

Siamo in ritardo, il piano e' saltato in blocco e questo dovrebbe accadare il meno possibile.

cdimauro
09-09-2005, 10:47
Ora provo un po' i tuoi spike, va'... cosi' vedo come programma un professionista! :)
Un vero professionista non lavora così: a parte la scarsa leggibilità (a questo rimedierò più avanti, giuro!!! :p) negli spike che ho fatto mancano tanti controlli che avrei dovuto fare.

Ad esempio, se vuoi vedere perché sotto Linux il Full Screen Exclusive Mode non funziona, devi modificare il sorgente in questo modo:

private void SetupFrameAndScreen(GraphicsDevice Device) {
MainFrame = new Frame(Device.getDefaultConfiguration());
MainFrame.setUndecorated(true);
MainFrame.setIgnoreRepaint(true);
MainFrame.setResizable(false);
if (!Device.isFullScreenSupported()) {
System.out.println("Full-screen exclusive mode not supported");
System.exit(0);
}
Device.setFullScreenWindow(MainFrame);
if (Device.isDisplayChangeSupported())
ChooseBestDisplayMode(Device);
Image = new BufferedImage(ScreenWidth, ScreenHeight, BufferedImage.TYPE_INT_ARGB);
//WritableRaster Raster = Image.getRaster();
//DataBuffer Data = Raster.DataBuffer;
MainFrame.createBufferStrategy(NumDisplayBuffers);
Strategy = MainFrame.getBufferStrategy();
g = Strategy.getDrawGraphics();
}

Quell'if è fondamentale.

Mi spiace, ma il tempo che ho è poco, e lo spike serviva soltanto per avere una risposta a un determinato problema. Per cui diciamo che non mi sento con la coscienza del tutto sporca, perché alla fine la risposta che cercavamo è arrivata... :)
Cia'

PS: ho finito di studiare il K&R :yeah: Ora so il C (maddeche'...)
Hai detto bene: sai il C. Adesso devi "soltanto" imparare a programmare in C... :p

Antares88
09-09-2005, 11:19
Ragazzi ho tolto linux e rimesso windows, ora sto sistemando tutto il pacco applicazioni, sicurezza, patch e server vari. Nel pomeriggio / serata direi che dovrebbe essere finalmente tutto pronto a mettere su i servers !

RaouL_BennetH
09-09-2005, 11:19
E' molto bravo :)


E il doc del gioco... Raoul!!!!!!!!!!!

Siamo in ritardo, il piano e' saltato in blocco e questo dovrebbe accadare il meno possibile.

E' vero,ma il nuovo lavoro mi sta togliendo un mucchio di tempo :cry:

Per favore,concedetemi questo fine settimana per sistemare il documento finale (ho fatto pure i disegni,ma vi prego di non ridere quando li vedrete,non sono bravo a disegnare).

DanieleC88
09-09-2005, 12:47
Uffa, ma che p**le. Ho sempre voluto fare questo gioco insieme a voi, ed ora che si sta per partire (mi pare anche che Antares abbia recuperato praticamente tutto) il mio PC sta morendo... anzi, più che il PC è la ventola, gira così lentamente che riesco a leggere la scritta "Master Cooler" che sta al centro...

Ora sto usando il portatile dei miei fratelli, ma non ci posso lavorare su (anche perché da sabato il portatile se ne andrà a Roma con loro). Dannazione! Devo riuscire a cambiare la ventola prima che posso (e magari anche un processore nuovo non sarebbe male).

Ci sentiamo quando avrò risolto il problema. Fino ad allora, ...addio! :cry:

cionci
09-09-2005, 12:51
Ci sentiamo quando avrò risolto il problema. Fino ad allora, ...addio! :cry:
Ma che ti ci vuole a cambiare la ventola... Ne prendi una delle stesse dimensioni e la sostituisci... Oppure sostituisci tutto il diissipatore...

71104
09-09-2005, 14:11
d'altra parte fino a Ottobre vi abbandono anche io... :cry:

Gica78R
09-09-2005, 14:18
Ma che ti ci vuole a cambiare la ventola... Ne prendi una delle stesse dimensioni e la sostituisci... Oppure sostituisci tutto il diissipatore...
Se puo' servire, io ho una vecchia Panda alla quale posso smontare il radiatore... :D

DanieleC88
09-09-2005, 15:05
Ma che ti ci vuole a cambiare la ventola... Ne prendi una delle stesse dimensioni e la sostituisci... Oppure sostituisci tutto il diissipatore...
Prima la devo TROVARE una ventola di ricambio. Be', se trovo un processore a basso prezzo, a questo punto cambio anche quello.
Cmq più che altro la mia paura è che non sia soltanto la ventola.

^TiGeRShArK^
10-09-2005, 00:46
Sto provando a installare la J2SK 1.5, che è quella che dovremmo usare tutti (adesso ho la 1.4), ma finora le uniche cose concrete che ho ottenuto sono le mie imprecazioni... :( Spero di risolvere prima che parta tutto...

Forzato... Anzi, masochista autolesionista... :asd: :p
prova se riesci con java 5 che dovrebbe avere un pò di prestazioni in più in diversi campi (anche se non mi rocordo onestamente per quanto riguarda la grafica)....
tranquillo che so cosa vuol dire buttare sangue ad installare delle piattaforme java...sul mio PC al lavoro ho sia java 1.4 che java 5..... e non mi funziona un kazzo! :muro:
lunedì mi devo mettere a controllare la versione di decine di librerie e devo verificare per bene il classpath (BRRRRR....ho 5 righe DOS di classpath..... :cry: )












P.S. nn ricordategli che ho proposto io di provare le prestazioni di librerie diverse da SDL ke riskio la vita........ :stordita: ...... OOOPPPSSSSS.....:ops:

cover
10-09-2005, 00:48
Molto interessante la cosa, sarebbe molto educativo imho...
Unico problema è che java non lo conosco, però sò qualcosina di c#, che a quanto ho visto le cose si somigliano molto (al massimo qualcuno mi sà dire molto velocemente le differenze principali tra i due linguaggi?più tardi,o probabilmente domani,farò una ricerca per vedere un pò)

Altra cosa, le cose da scaricare sono queste?
Eclipse sdk 3.1 ( www.eclipse.org )
java 1.5.0_04 ( www.java.com) (versione dev in particolare, che in caso dove si trova? o va bene la runtime che c'è in download sul sito?)
Java Binding for SDL 0.9.1 ( http://sourceforge.net/projects/sdljava/ )
SDL version 1.2.9 ( SDL version 1.2.9 )
J2SE? anche questo giusto? sono arrivato a trovare questo link http://java.sun.com/j2se/1.5.0/install-windows.html è giusto? scarico da qua o è completamente un'altra cosa?

Domani penso di riuscire ad avere già tutto...isdn pacco, anche se magari vedo di scroccare un pò di connessione da amici con l'adsl (maledetta telecom..)
Per l'OS, attualmente tutto sotto win, ma magari da settimana prox alterno anche con suse

Spero di riuscire a dare una mano (anche piccola), visto che con java è la prima volta e anche con la programmazione in generale non è da molto che ci sono dentro...

cdimauro
10-09-2005, 07:49
x ^TiGeRShArK^: il mio problema è che ho scaricato gli rpm di Java 5, autoscompattanti e autoinstallanti, ma per qualche assurdo motivo l'operazione non va in porto.

Boh. Ci sbatterò ancora la testa la prossima settimana...

Sei fortunato che mi sono divertito lavorando agli spike... :D

^TiGeRShArK^
10-09-2005, 12:14
se riesco tra oggi e domani posso provare a fare uno dei due spike o su sdl o su jogl.....l'unica incognita è che devo sistemare un casino di cose a casa, devo pulire, devo lavarmi le cose...
ma credo che potrei farcela....
tu quanto tempo ci hai messo per il tuo spike con java nornmale?
Al massimo lo vado iniziando sulla falsa riga di quello che hai fatto tu ....
Dimmi solo quale fare così non ci mettiamo a fare la stessa cosa......




Così appiano i miei sensi di colpa per il tuo lavoro "volontario" :D

DioBrando
10-09-2005, 13:43
prova se riesci con java 5 che dovrebbe avere un pò di prestazioni in più in diversi campi (anche se non mi rocordo onestamente per quanto riguarda la grafica)....
tranquillo che so cosa vuol dire buttare sangue ad installare delle piattaforme java...sul mio PC al lavoro ho sia java 1.4 che java 5..... e non mi funziona un kazzo! :muro:
lunedì mi devo mettere a controllare la versione di decine di librerie e devo verificare per bene il classpath (BRRRRR....ho 5 righe DOS di classpath..... :cry: )


OT: domanda forse stupida: controllato il pathname nelle variabili d'ambiente? :stordita:

In genere è quello lo scazzo; la stessa cosa vale anche per Cesare :D

^TiGeRShArK^
10-09-2005, 14:21
il problema è che a quanto ho capito pure lui ha java 1.4 e java 5...
e si deve settare un casino d cose...
java_home
il classpath...
e nel classpath io ho dovuto mettere i vari file di java 5 ad uno ad uno (x intenderci tools.jar, rt.jar e non mi ricordo se ce n'era qualche altro...)

cmq è veramente un casino avere java 1.4 e java 5 FUNZIONANTI sullo stesso pc... :/

forse gli conviene cacciare il java 1.4 e lasciare solo il 5....

^TiGeRShArK^
10-09-2005, 14:47
cmq intanto mi sto installando jogl.....sto facendo il cvs checkout e tra un pò lo buildo (se ho l'ant installato...ora vedo..altrimenti lo scarico......e il limite di 2 GB al mese si impeeeennnnnaaaa!!! :muro: )

DanieleC88
10-09-2005, 23:06
Ma che ti ci vuole a cambiare la ventola... Ne prendi una delle stesse dimensioni e la sostituisci... Oppure sostituisci tutto il diissipatore...
Ormai rinuncio a capire come funziona quest'aggeggio. ADESSO la ventola sta facendo il suo dovere abbastanza bene, la temperatura non sembra salire oltre i 55 C°. Boh.
A domani.

ciao ;)

VICIUS
10-09-2005, 23:08
Ormai rinuncio a capire come funziona quest'aggeggio. ADESSO la ventola sta facendo il suo dovere abbastanza bene, la temperatura non sembra salire oltre i 55 C°. Boh.
A domani.

ciao ;)
Hai provato ad usare athcool ? qui sul mio xp fa miracoli.

ciao ;)

DanieleC88
11-09-2005, 09:46
Hai provato ad usare athcool ? qui sul mio xp fa miracoli.

ciao ;)
athcool l'avevo installato proprio qualche giorno prima del "disastro", ma non l'avevo mai provato direttamente (però mi è stato messo negli script d'avvio). Lo proverò meglio in seguito.

Antares88
11-09-2005, 10:44
ragazzi spartacus è up & running... quando volete mettiamo sti servers.

DanieleC88
11-09-2005, 11:01
Forza che si parte! :)

fek
11-09-2005, 15:28
ragazzi spartacus è up & running... quando volete mettiamo sti servers.

Bene!
Preparo l'arrosto e sono tutto tuo :D
Ti chiamo in MSN.

fek
11-09-2005, 18:45
Siete carichi? Accendete i motori, caricate Eclipse... si sta per partire...

VICIUS
11-09-2005, 19:04
Siete carichi? Accendete i motori, caricate Eclipse... si sta per partire...
:eek: Il server è gia installato?
Questa sera sistemiamo quella facenda dei coding standards?
I documenti delle varie alternative sono finiti?

ciao ;)

fek
11-09-2005, 19:26
Si'!

Stasera possiamo sistemare i coding standard ed includere il progetto di Diamonds nel repository. I documenti non sono in forma definitiva, Raoul non e' stato disponibile la settimana scorsa. Ma sono in forma decente per iniziare a buttare giu' le prime storie. Se Raoul e Maax dovessero avere altri problemi nei prossimo giorni, faro' io per quel periodo da Customer ad interim. Chiamatemi cavaliere :D

MaaX
11-09-2005, 20:43
Si'!

Stasera possiamo sistemare i coding standard ed includere il progetto di Diamonds nel repository. I documenti non sono in forma definitiva, Raoul non e' stato disponibile la settimana scorsa. Ma sono in forma decente per iniziare a buttare giu' le prime storie. Se Raoul e Maax dovessero avere altri problemi nei prossimo giorni, faro' io per quel periodo da Customer ad interim. Chiamatemi cavaliere :D


Eccomi cavaliere :D


Da domani, finalmente, ho più tempo da dedicare al progetto. :)

beppegrillo
11-09-2005, 20:45
Molto interessante ragazzi, mi segno, per il momento non posso contribuire ma conto di iniziare da metà ottobre :).
Spero che dopo i primi momenti di "immobilità" ed organizzazione, si parata definitvamente ed in maniera spedita, sono sicuro che lavorare accanto a persone con esperienza quali fek,vicius,cionci ed altri, sia un'ottimo modo per migliorarsi ed imparare a programmare in maniera "seria" :)

cover
11-09-2005, 23:51
Molto interessante la cosa, sarebbe molto educativo imho...
Unico problema è che java non lo conosco, però sò qualcosina di c#, che a quanto ho visto le cose si somigliano molto (al massimo qualcuno mi sà dire molto velocemente le differenze principali tra i due linguaggi?più tardi,o probabilmente domani,farò una ricerca per vedere un pò)

Altra cosa, le cose da scaricare sono queste?
Eclipse sdk 3.1 ( www.eclipse.org )
java 1.5.0_04 ( www.java.com) (versione dev in particolare, che in caso dove si trova? o va bene la runtime che c'è in download sul sito?)
Java Binding for SDL 0.9.1 ( http://sourceforge.net/projects/sdljava/ )
SDL version 1.2.9 ( SDL version 1.2.9 )
J2SE? anche questo giusto? sono arrivato a trovare questo link http://java.sun.com/j2se/1.5.0/install-windows.html è giusto? scarico da qua o è completamente un'altra cosa?

Domani penso di riuscire ad avere già tutto...isdn pacco, anche se magari vedo di scroccare un pò di connessione da amici con l'adsl (maledetta telecom..)
Per l'OS, attualmente tutto sotto win, ma magari da settimana prox alterno anche con suse

Spero di riuscire a dare una mano (anche piccola), visto che con java è la prima volta e anche con la programmazione in generale non è da molto che ci sono dentro...


Attendo risposta(se sono giuste quelle cose da scaricare o manca qualcosa) per preparare tutto ed essere pronto pure io :rolleyes:

71104
12-09-2005, 00:32
Attendo risposta(se sono giuste quelle cose da scaricare o manca qualcosa) per preparare tutto ed essere pronto pure io :rolleyes: mi sembra che l'elenco dei download sia corretto; il link per il J2SE 5 è corretto (credo). comunque credo di poter essere lieto da parte del resto del gruppo di avere un membro in più :)
più siamo meglio è
sono graditi i (neo)programmatori assetati di cultura ed esperienza :)

mjordan
12-09-2005, 04:07
PS: ho finito di studiare il K&R :yeah: Ora so il C (maddeche'...)

Ora dovresti studiarne uno che tratta in modo decende le aggiunte del comitato ANSI/ISO :p :asd: :asd:

fek
12-09-2005, 09:04
Attendo risposta(se sono giuste quelle cose da scaricare o manca qualcosa) per preparare tutto ed essere pronto pure io :rolleyes:

Tutto corretto. Abile e arruolato.

Qui ci sono le informazioni per collegarti al server di Subversion:
http://www.hwupgrade.it/forum/showthread.php?p=9443717#post9443717

fek
12-09-2005, 09:06
Molto interessante ragazzi, mi segno, per il momento non posso contribuire ma conto di iniziare da metà ottobre :).
Spero che dopo i primi momenti di "immobilità" ed organizzazione, si parata definitvamente ed in maniera spedita, sono sicuro che lavorare accanto a persone con esperienza quali fek,vicius,cionci ed altri, sia un'ottimo modo per migliorarsi ed imparare a programmare in maniera "seria" :)

Troppo gentile :)

Avremmo potuto iniziare a scrivere codice gia' qualche settimana fa, ma ho preferito aspettare di avere il repository. Vedrete perche' ho preferito aspettare a breve, secondo me, alla lunga, questa decisione ci fara' risparmiare tempo.

Gica78R
12-09-2005, 09:08
Ora dovresti studiarne uno che tratta in modo decende le aggiunte del comitato ANSI/ISO :p :asd: :asd:
Mah... per il momento sono contento cosi', e quando uso delle funzioni di libreria mi assicuro che non siano deprecate e rispettino le ultime direttive dello standard. So che non basta, pero'... come ha detto cdimauro, prima devo imparare a programmare in C.
Aggiungo che prima devo imparare a programmare :stordita: Sono sempre insoddisfatto del mio codice: anche se funziona, e' molto brutto da vedere :(

fek
12-09-2005, 09:21
Aggiungo che prima devo imparare a programmare :stordita: Sono sempre insoddisfatto del mio codice: anche se funziona, e' molto brutto da vedere :(

Bravo :)

Se e' brutto da vedere, aggiustalo. Non lasciarlo semplicemente li'. Cambialo e semplificalo fino a che non sei soddisfatto della leggibilita'.

E poi leggi il codice di altri.

Ed infine, se vuoi affrontare il discorso su come si "aggiusta" il codice da un punto di vista piu' scientifico, consulta qui:
http://www.refactoring.com/

Una cosa importante da ricordare e' che una volta che impari a fare Refactoring non hai piu' bisogno di scrivere subito il codice in maniera elegante. Prima lo fai funzionare, poi lo rendi bello e poi lo fai andare veloce se serve.

cdimauro
12-09-2005, 09:24
x ^TiGeRShArK^ letto il tuo PVT: provo a disinstallare il JDK 1.4 e a mettere soltanto l'1.5.

Se ho problemi vi faccio sapere. Per lo spike, vedi un po' cosa riesci a fare nel frattempo, se ne hai voglia. Magari prova a scaricare un po' di documentazione e vedere se si trova qualche esempio.

DanieleC88
12-09-2005, 12:16
Visto che si sta per partire e bisogna scegliere il coding style, direi di sentirci contemporaneamente in una chat su MSN/ICQ/IRC/DOVEVOLETEVOI per decidere come procedere. Possibilmente prima delle 18:00 italiane, altrimenti io sono tagliato fuori. :cry:

fek
12-09-2005, 12:22
Visto che si sta per partire e bisogna scegliere il coding style, direi di sentirci contemporaneamente in una chat su MSN/ICQ/IRC/DOVEVOLETEVOI per decidere come procedere. Possibilmente prima delle 18:00 italiane, altrimenti io sono tagliato fuori. :cry:

Per esperienza le chat di questo tipo sui coding standard si trasformano in guerre di religione e non si arriva mai ad una conclusione :)

Visto che i coding standard servono principalmente a dare uno stile consistente al progetto per facilitarne la lettura, il particolare coding standard non e' troppo importante, basta averne uno.

Facciamo che date qui i suggerimenti e io e Vicius decidiamo il coding standard (piu' Vicius di me). Poi si fa sempre in tempo a cambiarlo visto che i tool di Eclipse aiutano a riformattare il codice velocemente.

71104
12-09-2005, 13:33
suggerisco parentesi graffe aperte alla stessa linea dell'intestazione del blocco, non a quella successiva; esempio: void foo(int asd) {
//...
}
poi visto che programmiamo in Java suggerisco nomi di funzioni con la prima iniziale minuscola e le successiva maiuscole, tipo "thisIsAFunctionName".
per le variabili stessa cosa, ma lascio decidere a voi se usare i prefissi, tipo n per gli interi, f o b per i flag, ecc. so che probabilmente direte di no ^^
poi i nomi delle classi con tutte le iniziali maiuscole e senza prefissi, tipo "ThisIsAClass".
infine direi che gli else vanno alla riga successiva, cioè non così: if () {
} else {
} ma così: if () {
}
else {
}
altro non mi viene in mente.

71104
12-09-2005, 13:34
ah, dimenticavo: i commenti a più righe direi di formattarli così: /**
* blah
* blah
* blah
*/
ed inoltre direi di non superare l'ottantesima colonna; io l'ho sempre fatto e ultimamente mi rendo conto della comodità che avrei avuto se non l'avessi fatto :p

DanieleC88
12-09-2005, 14:38
suggerisco parentesi graffe aperte alla stessa linea dell'intestazione del blocco, non a quella successiva; esempio: void foo(int asd) {
//...
}
Su questa sono parzialmente d'accordo: farei eccezione almeno per le dichiarazioni di funzioni.
ah, dimenticavo: i commenti a più righe direi di formattarli così: /**
* blah
* blah
* blah
*/
Io toglierei quell'asterisco iniziale. In questo modo:
/*
* blah
* blah
* blah
*/

gokan
12-09-2005, 14:45
Bene mi fa piacere che stiate cominciando a mettervi in carreggiata :D
Posso sapere, alla fine, per che genere di gioco definitivo vi siete orientati?
Ciao e buon lavoro!

fek
12-09-2005, 14:55
Bene mi fa piacere che stiate cominciando a mettervi in carreggiata :D
Posso sapere, alla fine, per che genere di gioco definitivo vi siete orientati?
Ciao e buon lavoro!

Due generi fra i quali scegliere: un Puzzle game ed un shooter a scorrimento.
I doc verrano presto messi a disposizione sul sever.

Gica78R
12-09-2005, 15:02
Mah, io solitamente uso qualcosa che assomiglia al coding GNU, che grossomodo coincide con quello suggerito da 71104 eccetto che per la parentesi graffa aperta e qualche altro dettaglio:

tipo_restituito nome_funzione( ... )
{
istruzione;

if (condizione)
{
istruzione;
istruzione;
}
else
{
istruzione;
istruzione;
}
}

Comunque per me non c' e' problema... :)

VICIUS
12-09-2005, 15:14
[...]Comunque per me non c' e' problema... :)
Potete comunque scrivere il codice come vi pare. Basta che prima di fare il checkin lo "ri-formattate" con l'opzione di eclipse.

In ogni caso. Chiunque si azzardera ad usare la notazione ungherese o si azzardi a fare il checkin di funzioni con una complessita ciclomatica maggiore a 10 sara crocifisso in sala mensa da fek. :D

ciao ;)

DanieleC88
12-09-2005, 15:25
funzioni con una complessita ciclomatica maggiore a 10
Ecco, a questo punto mi vedo costretto a chiederti una traduzione. :D

Gica78R
12-09-2005, 15:26
[...]funzioni con una complessita ciclomatica maggiore a 10[...]

:eh:

Cicloche'? Abbiate pazienza, a Fondamenti di Informatica 2 ho studiato la complessita', ma l'aggettivo "ciclomatica" lo sento ora per la prima volta :help:

fek
12-09-2005, 15:38
In ogni caso. Chiunque si azzardera ad usare la notazione ungherese o si azzardi a fare il checkin di funzioni con una complessita ciclomatica maggiore a 10 sara crocifisso in sala mensa da fek. :D

Siamo due entita' diverse, ma un solo cervello che lavora all'unisono :D

E guardate che vi controllo la complessita' ciclometrica di ogni metodo, e sopra i 5 me la dovete giustificare, sopra i 10 invece si procede alla crocifissione senza appello.

fek
12-09-2005, 15:40
:eh:

Cicloche'? Abbiate pazienza, a Fondamenti di Informatica 2 ho studiato la complessita', ma l'aggettivo "ciclomatica" lo sento ora per la prima volta :help:

Un parolone per un concetto semplice: parti da uno, per ogni if/for/case/while aggiungi uno. Conta grosso modo il numero di path differenti all'interno del metodo. E deve restare basso.

DanieleC88
12-09-2005, 15:50
Un parolone per un concetto semplice: parti da uno, per ogni if/for/case/while aggiungi uno. Conta grosso modo il numero di path differenti all'interno del metodo. E deve restare basso.
Tutto questo per una cosa così facile? Ma io non supero il 3! :D

Gica78R
12-09-2005, 15:50
Un parolone per un concetto semplice: parti da uno, per ogni if/for/case/while aggiungi uno. Conta grosso modo il numero di path differenti all'interno del metodo. E deve restare basso.
Quindi una roba del genere e' da crocifissione...

/*
Esercizio: programma che rimuove i commenti da un file sorgente C
*/


#include <stdio.h>
#include <string.h>
#include <sys/errno.h>


void uncomment(FILE *in, FILE *out);
/*
La funzione uncomment() ricava il file 'out' dal file 'in' rimuovendone
i commenti. I due files devono essere stati precedentemente aperti.
*/


int main(int argc, char *argv[])
{
#define outfile "senzacommenti.c"

FILE *in_file, *out_file;

int errcode;

if (argc!=2)
{
printf("Usage: %s <file.c>\n", *argv);
return 1;
}

in_file = fopen(*++argv, "r");
if (in_file == NULL)
{
errcode = errno;
printf("Errore aprendo %s: %s\n", argv, strerror(errcode));
return 1;
}

out_file = fopen(outfile, "w");
if (out_file == NULL)
{
errcode = errno;
printf("Errore aprendo %s: %s\n", outfile, strerror(errcode));
fclose(in_file);
return 1;
}

uncomment(in_file, out_file);

fclose(in_file);
fclose(out_file);

return 0;
}

void uncomment(FILE *in, FILE *out)
{
int modo; /* 0=nessun commento, 1=commento slash asterisco, 2=commento
slash slash */
int quoted; //Stringa tra apici
int p, n;

modo = quoted = 0;
p = getc(in);

while (p != EOF)
{
n = getc(in);
if (p == '/' && n == '*')
modo = 1;
else if (p == '/' && n == '/')
modo = 2;
if (!modo || quoted)
{
putc(p, out);
if (p == '"')
quoted = !quoted;
}
else if (!quoted)
if (modo == 1 && p == '*' && n == '/')
{
modo = 0;
p = getc(in);
continue;
}
else if (modo == 2 && p == '\n')
{
putc(p, out);
modo = 0;
}

p = n;
}
}


Sempre ammesso che funzioni :stordita:

Oh, non c'entra nulla col gioco, eh!

cionci
12-09-2005, 15:52
Scusate, ma Eclipse il completamente automatico lo fa ? :D

fek
12-09-2005, 15:53
Quindi una roba del genere e' da crocifissione...

A occhio e' vicino a 10. La crocifissione no, ma di una funzione cosi' non fai il commit ;)

A meno di non riuscire a convincermi del fatto che non sia possibile scriverla in nessun altro modo. Ma conoscendomi, fate prima a fare refactoring, perche' non sono facile da convincere.

A parte gli scherzi, per i primi tempi vi aiuto io a fare refactoring, magari assieme in MSN.

VICIUS
12-09-2005, 15:55
Quindi una roba del genere e' da crocifissione...
dunque vediamo ...
# pmccabe -v gica.c
Modified McCabe Cyclomatic Complexity
| Traditional McCabe Cyclomatic Complexity
| | # Statements in function
| | | First line of function
| | | | # lines in function
| | | | | filename(definition line number):function
| | | | | |
4 4 20 19 38 gica.c(19): main
15 15 24 58 39 gica.c(58): uncomment

15... uhm si decisamente :asd:

ciao ;)

Gica78R
12-09-2005, 16:12
dunque vediamo ...
# pmccabe -v gica.c
Modified McCabe Cyclomatic Complexity
| Traditional McCabe Cyclomatic Complexity
| | # Statements in function
| | | First line of function
| | | | # lines in function
| | | | | filename(definition line number):function
| | | | | |
4 4 20 19 38 gica.c(19): main
15 15 24 58 39 gica.c(58): uncomment

15... uhm si decisamente :asd:

ciao ;)
:muro: :cry:
Senti, ma questo pmccabe e' reperibile da qualche parte? Vedo che sta nel ramo unstable di Debian... Ci sara' anche per Mac OS X?
Mi sarebbe mooolto utile :)

EDIT: apt-get su OS X non me lo trova... :(

71104
12-09-2005, 17:47
solo una cosa: usiamo spazi o tab veri? e un'indentazione vale 4 o 8 spazi? suggerisco tab veri da 4 spazi (ma non si nota proprio che uso VC++ da anni, eh? :D)

cionci
12-09-2005, 17:55
Scusate, ma Eclipse il completamente automatico lo fa ? :D
Up....e Visual Assist rulez...

sari
12-09-2005, 17:58
Io toglierei quell'asterisco iniziale. In questo modo:
/*
* blah
* blah
* blah
*/

Occhio ci sono alcune convenzioni nei commenti /** per esempio evidenzia maggiormente il commento (in molti editor è così), @@ (utilizzato sopratutto nella spiegazione dei parametri passati alla funzione), un po come il classico TODO
Un classico metodo è il seguente


/**
* Esegue la ...............
* @@ a : intero ...........
* @@ b : char * ............
* @@ return : (valori di ritorno)
*/
void myFunction ( int a, char *b ) {
/* commento interno */
}


In questo modo le cose fondamentali saranno messe in evidenza

fek
12-09-2005, 17:58
solo una cosa: usiamo spazi o tab veri? e un'indentazione vale 4 o 8 spazi? suggerisco tab veri da 4 spazi (ma non si nota proprio che uso VC++ da anni, eh? :D)

Io userei tab veri da 4 spazi. Vicius?

Gica78R
12-09-2005, 18:19
Io userei tab veri da 4 spazi. Vicius?
Cosi' predica lo standard GNU :D ma Torvalds si inca**erebbe :Prrr:

fek
12-09-2005, 18:34
Cosi' predica lo standard GNU :D ma Torvalds si inca**erebbe :Prrr:

Francamente di quello che pensa Torvalds a me... :p

VICIUS
12-09-2005, 18:50
nel file .xml c'è tutto. Basta importare in eclipse e vedere gli esempi e le opzioni che ho selezionato. Ma visto che ci sono vi scrivo pure qualche esempio...

Righe da 90. 1 tab = 4 spazi. Niente tab puri, solo spazi.
2 righe vuote tra le funzioni.
3 righe vuote tra le classi.

blocco(esperessione) {
bla += bla;
}

class Utile {}

Le {,} ci vanno sempre anche se si tratta di una riga sola. apertura nella stessa riga di "blocco". chiusura sempre nella linea successiva. Se il blocco è vuoto allora si puo tenerla sulla stessa linea. Questo per ogni blocco, quindi anche classi , funzioni, do, while ...
nello switch il break; è considerato come un } quindi non va identato.

per i commenti:
// per i commenti su una sola linea

/* bla bla bla
commenti su piu linee */

/**
* Commento Javadoc
* @return ...
*/

gli spazi bianchi:
sempre prima e dopo un operatore. Per virgola e punto e virgola solo dopo. Le parentesi sono gratis quindi usatele ma niente spazi prima o dopo una (,).
a = mag + 2;
foo(bar, 1);
if(bar == 2) {
;
}

result = (a * (b + c + d) * (e + f));

quando andate a capo usate sempre solo 1 tab.
Example() throws FirstException,
SecondException, ThirdException {
return Other.doSomething();
}



ciao ;)

VICIUS
12-09-2005, 19:14
blocco(esperessione) {
bla += bla;
}

class Utile {}

[...]Se il blocco è vuoto allora si puo tenerla sulla stessa linea.
Mi è stato fatto notare che questa è un inutile eccezione. Se proprio dovete fare qualcosa di vuoto allora mette uno statement vuoto ";" cosi potete comportarvi come in tutti gli altri casi :)

ciao ;)

fek
12-09-2005, 19:27
Mi è stato fatto notare che questa è un inutile eccezione. Se proprio dovete fare qualcosa di vuoto allora mette uno statement vuoto ";" cosi potete comportarvi come in tutti gli altri casi :)

ciao ;)

Preferisco aprire e chiudere le parentesi anche per blocchi vuoti. Il solo ; puo' passare inosservato con nefasti risultati.

VICIUS
12-09-2005, 19:55
Preferisco aprire e chiudere le parentesi anche per blocchi vuoti. Il solo ; puo' passare inosservato con nefasti risultati.
Si sono stato poco chiaro. :muro: il ; va aggiunto non sostituito alle parentesi.
Giusto:
while(a = b.c()) {
;
}
Sbagliati:
while(a = b.c()) {}

while(a = b.c());

ciao ;)

fek
12-09-2005, 22:01
Si sono stato poco chiaro. :muro: il ; va aggiunto non sostituito alle parentesi.
Giusto:
while(a = b.c()) {
;
}
Sbagliati:
while(a = b.c()) {}

while(a = b.c());

ciao ;)

Ok, in quel caso lo eviterei allora, cosi':

while(a = b.c())
{
}

VICIUS
12-09-2005, 22:43
Ok, in quel caso lo eviterei allora, cosi':

while(a = b.c())
{
}
Perché creare un'altro caso particolare? Tutti gli altri blocchi sono gia:
blocco {
}
il ; in mezzo è solo far vedere che chi ha scirtto quell'acrocchio sa quello che sta facendo e che deve essere veramente vuoto. Non è di certo indispensabile basta anche un commento.

ciao ;)

fek
12-09-2005, 22:50
Un attimo, solo una cosa, parentesi aperta accapo, giusto? ;)

(per il resto fate come volete, ma la parentesi accapo!)

VICIUS
12-09-2005, 22:56
Un attimo, solo una cosa, parentesi aperta accapo, giusto? ;)

(per il resto fate come volete, ma la parentesi accapo!)
Visto che stiamo usando Java vorrei rimanere il più fedele possibile allo standard gia esistente. Quindi parentesi aperta sulla stessa linea. PascalCase per nomi di classi e interfaccie, mentre le funzioni tutte in camelCase().

caio ;)

71104
12-09-2005, 23:12
Righe da 90. 1 tab = 4 spazi. Niente tab puri, solo spazi. ommadonna!! O.o'
come facciamo a inserire manualmente 4 spazi ad ogni nuova riga? spero che Eclipse lo faccia automaticamente... se ho ben capito dovrebbe farlo quel plugin che dobbiamo installare, giusto?

2 righe vuote tra le funzioni.
3 righe vuote tra le classi. ammazza, 3 righe vuote tra le classi? :mbe:

nello switch il break; è considerato come un } quindi non va identato. cioè il break deve stare alla stessa colonna del case? e i case vanno indentati rispetto allo switch?

gli spazi bianchi:
sempre prima e dopo un operatore. Per virgola e punto e virgola solo dopo. scusa, e il punto? spero che non dovremo scrivere roba del genere: oggetto . metodo();

VICIUS
12-09-2005, 23:26
ommadonna!! O.o'
come facciamo a inserire manualmente 4 spazi ad ogni nuova riga? spero che Eclipse lo faccia automaticamente... se ho ben capito dovrebbe farlo quel plugin che dobbiamo installare, giusto?
C'è l'opzione che sostituisce i tab con gli spazi. Non ti preoccupare.

ammazza, 3 righe vuote tra le classi? :mbe:
Questo per scoraggiare i casinisti :asd:
In Java ogni classe dovrebbe avere il suo file, se rispetti questa regola sta storia delle tre righe non ti tocca.

cioè il break deve stare alla stessa colonna del case? e i case vanno indentati rispetto allo switch?
esatto stessa colonna dei case.
switch(p) {
case 0:
fField.set(0);
break;

default:
fField.reset();
}

scusa, e il punto? spero che non dovremo scrivere roba del genere: oggetto . metodo();
No ovviamente! E' solo una delle cose che mi sono scordato di scrivere. Hai fatto bene a farlo notare.

ciao ;)

Gica78R
13-09-2005, 00:31
[...]15... uhm si decisamente :asd:

ciao ;)
Uhmm... ho notato che il programmino che avevo postato come esempio e' fallato... Ora l'ho corretto (non ho aggiornato il post), ma la complessita' ciclomatica e' passata da 15 a 18, stando a pmccabe :mbe:

Io e il refactoring non sembriamo andare d'accordo... :(
Cmq ho dato un'occhiata alle soluzioni allo stesso problema realizzate da altri (non di questo forum), e non mi sembra che siano migliori della mia, quando funzionano :fagiano:
Adesso gli calcolo pure a loro la complessita' e li sputtano tutti :D
Mica sono solo io quello scarso! :mad:

'notte :ronf:

fek
13-09-2005, 08:52
Visto che stiamo usando Java vorrei rimanere il più fedele possibile allo standard gia esistente. Quindi parentesi aperta sulla stessa linea. PascalCase per nomi di classi e interfaccie, mentre le funzioni tutte in camelCase().

caio ;)

Tutto il resto va bene, solo le parentesi accapo :)

Non per motivo religiosi, ma solo perche' il codice e' piu' leggibile, e visto che me ne dovro' leggere tanto, preferirei di gran lunga cosi'.

VICIUS
13-09-2005, 10:47
Tutto il resto va bene, solo le parentesi accapo :)

Non per motivo religiosi, ma solo perche' il codice e' piu' leggibile, e visto che me ne dovro' leggere tanto, preferirei di gran lunga cosi'.
Per me va bene. Se gli altri sono d'accordo modifico e poi faccio il commit.

ciao ;)

cdimauro
13-09-2005, 11:01
Per quanto riguarda il break, io lo metterei allo stesso livello di un'istruzione del case: in questo modo la fine delle istruzioni di un case e l'inizio del successivo case diventa più leggibile.

Per i costrutti "condizionali" io preferisco questo stile:

if (x)

for(x; y; z)

while (x)

do {

} while (x);

Quindi il solo "for" senza lo spazio subito dopo e prima della parentesi aperta. E' una questione di abitudine... :D

Non sono d'accordo sul case diverso degli identificatori: non ha senso criticare la notazione ungherese e poi "differenziare" l'identificare soltanto in base al case.
E' più leggibile e molto più comprensibile usare CClasse, IInterfaccia (o ClasseC, Interfaccia I), NomeOggetto.NomeFunzione/Metodo, ecc.

D'altra parte non è che dobbiamo seguire per forza di cose i coding standard in voga a seconda del linguaggio: per GNU ce n'è uno, per Java un altro, ecc.

Visto che i coding standard non sono affatto standard, ne possiamo usare uno che soddisfi le nostre esigenze. ;)

Fermo restando che preferirei non perdere tempo cercando di ricordare lo stile da adottare, ma scrivendo del codice comunque leggibile.

Il tutto IMHO, chiaramente. :p

cisc
13-09-2005, 11:15
per me va benissimo quello indicato da Vicius, anche con le parentesi graffe sulla nuova riga, dopo tutto ognuno ha le sue abitudini, ma qua dobbiamo privilegiare la leggibilità, ognuno può scrivere come vuole e poi formattare secondo le regole stabilite, ma quando si va a leggere il codice, deve essere il più leggibile possibile....

fek
13-09-2005, 11:19
Per me va bene. Se gli altri sono d'accordo modifico e poi faccio il commit.

ciao ;)

Perfetto! Grazie :)

fek
13-09-2005, 11:26
Fermo restando che preferirei non perdere tempo cercando di ricordare lo stile da adottare, ma scrivendo del codice comunque leggibile.

Il tutto IMHO, chiaramente. :p

Come ha detto Vicius, Eclipse e' comodissimo da questo punto di vista: ognuno scrive il codice come preferisce e prima del commit si da' un bel colpo di formattata.

Sto studiando il build file di modo che ognuno possa anche usare l'IDE che preferisce, non solo Eclipse, e poi usare Ant per fare il build finale prima del check in.

VICIUS
13-09-2005, 11:44
Per quanto riguarda il break, io lo metterei allo stesso livello di un'istruzione del case: in questo modo la fine delle istruzioni di un case e l'inizio del successivo case diventa più leggibile.
Io trovo che il break; non identato delimiti meglio dove finiscre il codice. Specialmente in linguaggi come C e Java in cui il codice puo continuare anche dentro ad un'altro case. In ogni caso visto che siamo in Java con un po di plimorfismo si fa presto ad eliminare il 90% degli switch.

Per i costrutti "condizionali" io preferisco questo stile:

if (x)

for(x; y; z)

while (x)

do {

} while (x);

Quindi il solo "for" senza lo spazio subito dopo e prima della parentesi aperta. E' una questione di abitudine... :D
Il for è il cocco di papa? :D
O tutti con lo spazio o tutti senza. Vorrei evitare un proliferarsi di casi particolari per evitare situazioni tipo:
"Ho aperto il for senza spazio dentro ad una funzione con lo spazio quindi il prossimo while dovra avere due spazi con una parentesi graffa sulla stessa linea che sara seguita da un ..."

Non sono d'accordo sul case diverso degli identificatori: non ha senso criticare la notazione ungherese e poi "differenziare" l'identificare soltanto in base al case.
E' più leggibile e molto più comprensibile usare CClasse, IInterfaccia (o ClasseC, Interfaccia I), NomeOggetto.NomeFunzione/Metodo, ecc.
Una cosa è usare Lettere maiuscole e minuscole per differenziare Classi/Interfaccie da metodi/variabili. L'altra e cercare di capire cosa intendeva il programmatore con m_lpstrzcvMagiallaGorilla.
La convenzione java senza C e I permette di scrivere praticamente in inglese quindi preferirei usare quella.
List<Player> participants = new List<Player>();

D'altra parte non è che dobbiamo seguire per forza di cose i coding standard in voga a seconda del linguaggio: per GNU ce n'è uno, per Java un altro, ecc.

Visto che i coding standard non sono affatto standard, ne possiamo usare uno che soddisfi le nostre esigenze. ;)

Fermo restando che preferirei non perdere tempo cercando di ricordare lo stile da adottare, ma scrivendo del codice comunque leggibile.

Il tutto IMHO, chiaramente. :p
Visto che standard non ti piace che ne dici di "linee guida". Il nome non mi interessa l'importante e che queste regole ci siano e che siano semplici da ricordare.

ciao ;)

fek
13-09-2005, 12:02
Il for è il cocco di papa? :D
O tutti con lo spazio o tutti senza. Vorrei evitare un proliferarsi di casi particolari per evitare situazioni tipo:
"Ho aperto il for senza spazio dentro ad una funzione con lo spazio quindi il prossimo while dovra avere due spazi con una parentesi graffa sulla stessa linea che sara seguita da un ..."

Io metto lo spazio sempre anche nei for, ma mi e' indifferente non metterlo, qui decidi tu.


Una cosa è usare Lettere maiuscole e minuscole per differenziare Classi/Interfaccie da metodi/variabili. L'altra e cercare di capire cosa intendeva il programmatore con m_lpstrzcvMagiallaGorilla.
La convenzione java senza C e I permette di scrivere praticamente in inglese quindi preferirei usare quella.
List<Player> participants = new List<Player>();

Pienamente d'accordo. Niente C o I. Come dice Santo Kent, ad esempio, quando non si riesce a trovare un nome per un interfaccia e si sente il bisogno di usare la I, vuol dire che il compito o il significato di quell'interfaccia non ci sono perfettamente chiari. Meglio soffermarsi a pensare meglio e chiare il design e trovare un nome migliore.

Anch'io sono per scegliere uno standard che permetta di scrivere codice il piu' possibile leggibile come se fosse inglese. Ed in generale questa e' la linea guida che vi chiedero' quando scrivete codice: voglio che sia sempre il piu' possibile leggibile come inglese.

Esempio:


if (x < 0 || x > 100)
{
x = 0;
}


No.


if (IsNotWithinBounds(x))
{
x = MINIMUM_HORIZONTAL_COORDINATE;
}


Si'.


Visto che standard non ti piace che ne dici di "linee guida". Il nome non mi interessa l'importante e che queste regole ci siano e che siano semplici da ricordare.


Come ho detto, lo standard in se' ha poco significato, l'importante che ce ne sia uno.

cdimauro
13-09-2005, 12:23
Come ha detto Vicius, Eclipse e' comodissimo da questo punto di vista: ognuno scrive il codice come preferisce e prima del commit si da' un bel colpo di formattata.
Perfetto. Così si evitano problemi. Ma funziona anche per gli identificatori?
Sto studiando il build file di modo che ognuno possa anche usare l'IDE che preferisce, non solo Eclipse, e poi usare Ant per fare il build finale prima del check in.
Meglio ancora. :) Certo, funzionasse anche subversion... :muro:

fek
13-09-2005, 12:25
Perfetto. Così si evitano problemi. Ma funziona anche per gli identificatori?

Per gli identificatori c'e' Fek Code Review 0.9b :D

71104
13-09-2005, 12:34
Per gli identificatori c'e' Fek Code Review 0.9b :D lol :rotfl:

71104
13-09-2005, 12:35
ma alla fine l'else deve andare a capo? e il while del ciclo do? io direi di si, cioè proporrei di fare così: do
{
// ...
}
while (condizione);
oppure: if (condizione)
{
// ...
}
else
{
// ...
}

che ne dite?

cdimauro
13-09-2005, 12:38
Io trovo che il break; non identato delimiti meglio dove finiscre il codice. Specialmente in linguaggi come C e Java in cui il codice puo continuare anche dentro ad un'altro case.
Infatti questa è una cosa dello switch/case che non condivido e non ho mai usato: se serve "condividere" una porzione di codice, si scrive una funzione a parte da richiamare.
In ogni caso visto che siamo in Java con un po di plimorfismo si fa presto ad eliminare il 90% degli switch.
Beh, questo è insito nella stessa programmazione a oggetti: man mano che si acquisisce esperienza si tende a usare meno if o swith.
Il for è il cocco di papa? :D
O tutti con lo spazio o tutti senza. Vorrei evitare un proliferarsi di casi particolari per evitare situazioni tipo:
"Ho aperto il for senza spazio dentro ad una funzione con lo spazio quindi il prossimo while dovra avere due spazi con una parentesi graffa sulla stessa linea che sara seguita da un ..."
L'ho scritto: è questione di abitudine. Non ho mica detto che fosse coerente / corretto... :p
Una cosa è usare Lettere maiuscole e minuscole per differenziare Classi/Interfaccie da metodi/variabili. L'altra e cercare di capire cosa intendeva il programmatore con m_lpstrzcvMagiallaGorilla.
La convenzione java senza C e I permette di scrivere praticamente in inglese quindi preferirei usare quella.
List<Player> participants = new List<Player>();
OK, ho letto anche le motivazioni di fek e mi ritrovo in entrambe. Questo per quanto riguarda classi e interfacce.

Per quanto riguarda il case delle funzioni continuo ad avere delle forti perplessità. Sarà che sono abituato con gli "standard" dei linguaggi Pascal-like... :p
Visto che standard non ti piace che ne dici di "linee guida". Il nome non mi interessa l'importante e che queste regole ci siano e che siano semplici da ricordare.

ciao ;)
OK, non c'è problema: purché siano poche, perché la mia memoria vacilla non poco... Se mi avessi chiesto di adottare quelle di GNU, avrei gettato la spugna... :asd: :p

Gica78R
13-09-2005, 12:38
Come ha detto Vicius, Eclipse e' comodissimo da questo punto di vista: ognuno scrive il codice come preferisce e prima del commit si da' un bel colpo di formattata.

Sto studiando il build file di modo che ognuno possa anche usare l'IDE che preferisce, non solo Eclipse, e poi usare Ant per fare il build finale prima del check in.
Io mi sto un po' perdendo...
Cosa fa ant? Compila il progetto? Il build file e' una specie di Makefile?
Io che al momento mi asterro' dallo scrivere codice (per la salvezza di voi tutti), oltre a sincronizzare la mia copia locale del progetto facendone il check out per studiarmi il tutto, che devo fare?

Warning: non datemi MAI la password per fare check in, commit o quello che e'!

cdimauro
13-09-2005, 12:43
Anch'io sono per scegliere uno standard che permetta di scrivere codice il piu' possibile leggibile come se fosse inglese. Ed in generale questa e' la linea guida che vi chiedero' quando scrivete codice: voglio che sia sempre il piu' possibile leggibile come inglese.

Esempio:


if (x < 0 || x > 100)
{
x = 0;
}


No.


if (IsNotWithinBounds(x))
{
x = MINIMUM_HORIZONTAL_COORDINATE;
}


Si'.
:eek: Ma non ti sembra di esagerare UN POCHINO? :asd: :p

Per me va benissimo. Anzi, ci vado a nozze con la suddivisione (quando ci vuole ;)) del codice in funzioni con nomi lunghi e autoesplicativi... ;)
Come ho detto, lo standard in se' ha poco significato, l'importante che ce ne sia uno.
D'accordo. E possibilmente il più semplice e piccolo possibile, per chi ha problemi di memoria... :fiufiu:

cdimauro
13-09-2005, 12:47
ma alla fine l'else deve andare a capo? e il while del ciclo do? io direi di si, cioè proporrei di fare così: do
{
// ...
}
while (condizione);
oppure: if (condizione)
{
// ...
}
else
{
// ...
}

che ne dite?
Nel primo caso preferirei che il while seguisse la parentesi chiusa. Il secondo caso per me va bene.

fek
13-09-2005, 13:08
ma alla fine l'else deve andare a capo? e il while del ciclo do? io direi di si, cioè proporrei di fare così:

Si', e' piu' chiaro.

Non ricordo se Eclipse definisce anche le catene di if/else.

Ho provato tante soluzioni e ora faccio cosi':


if (something)
{
}
else
if (something_else)
{
}
else
{
}

fek
13-09-2005, 13:09
Io mi sto un po' perdendo...
Cosa fa ant? Compila il progetto? Il build file e' una specie di Makefile?
Io che al momento mi asterro' dallo scrivere codice (per la salvezza di voi tutti), oltre a sincronizzare la mia copia locale del progetto facendone il check out per studiarmi il tutto, che devo fare?

E' un make con steroidi.

fek
13-09-2005, 13:10
:eek: Ma non ti sembra di esagerare UN POCHINO? :asd: :p

No :D

mjordan
13-09-2005, 13:16
Io mi sto un po' perdendo...
Cosa fa ant? Compila il progetto? Il build file e' una specie di Makefile?
Io che al momento mi asterro' dallo scrivere codice (per la salvezza di voi tutti), oltre a sincronizzare la mia copia locale del progetto facendone il check out per studiarmi il tutto, che devo fare?

Warning: non datemi MAI la password per fare check in, commit o quello che e'!


Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles.


E' come un make, ma al posto di usare regole sintattiche sue, utilizza XML per costruire i buildfile. Oltre alla descrizione di Ant che si da sul suo sito, aggiungerei che di wrinkles non avrà quelli di make ma ha anche i suoi personali :asd:
http://ant.apache.org

P.S.: Ant sembra essere il build tool "ufficiale" di Java, almeno per l'uso massiccio che se ne fa nei programmi Java.

cdimauro
13-09-2005, 13:18
x fek
if (condizione)
{
}
else if (condizione)
{
}
else
{
}

Oppure (a seconda dei casi):
if (condizione)
{
}
else
if (condizione)
{
}
else
{
}

Ti farebbero schifo? :angel:

fek
13-09-2005, 13:20
x fek
if (condizione)
{
}
else if (condizione)
{
}
else
{
}

Oppure (a seconda dei casi):
if (condizione)
{
}
else
if (condizione)
{
}
else
{
}

Ti farebbero schifo? :angel:


Si', per due motivi :)

1) Se hai una catena di if/else lunga, ti ritrovi a scrivere sul monitor del vicino
2) I vari if hanno la stessa importanza logica e l'indentazione dovrebbe rifletterlo

Ma in realta', se scrivete una catena di if/else la complessita' ciclometrica sale e ci sono ottime possibilita' che ve lo faccia riscrivere.

DanieleC88
13-09-2005, 13:25
Io userei tab veri da 4 spazi. Vicius?
:mano:

^TiGeRShArK^
13-09-2005, 13:35
E' un make con steroidi.
:rotfl:
infatti ti ho visto un pò sovreccitato ieri sera mentre lo usavi! :D

fek
13-09-2005, 13:46
:rotfl:
infatti ti ho visto un pò sovreccitato ieri sera mentre lo usavi! :D

Ahaha vero.

Ok. Punto della situazione.

I due Customer (Maax e Raoul) stanno avendo dei problemi. In attesa di capire se dobbiamo trovare un nuovo customer, faccio io da Customer ad interim (uff) e Vicius fa da Coach durante la scrittura delle storie.

Se Vicius e' disponibile stasera, iniziamo a buttare giu' le storie e poi dividiamo in task. Poi seguira' il piano di sviluppo per le prime due settimane.

Si parte :)

71104
13-09-2005, 14:00
Si', per due motivi :)

1) Se hai una catena di if/else lunga, ti ritrovi a scrivere sul monitor del vicino una catena if-else lunga corrisponde a uno switch...

Ma in realta', se scrivete una catena di if/else la complessita' ciclometrica sale e ci sono ottime possibilita' che ve lo faccia riscrivere. quindi è meglio che nel codice non usiamo gli switch :D
tra l'altro ad ogni case corrisponde un nuovo possibile pattern del codice, dico bene?

fek
13-09-2005, 14:12
una catena if-else lunga corrisponde a uno switch...


if (x > 0.0f && x < 1.0f)
{
}
else
if (x >= 1.0f && x < 2.0f)
{
}
else
if (x >= 2.0f && x < 3.0f)
{
}

VICIUS
13-09-2005, 14:26
Ti farebbero schifo? :angel:
Endline layout. No grazie.

In ogni caso continuo a sostenere che il mio stile è piu chiaro. "Pure blocks" mostra meglio la struttura logica del programma e non sono il solo a pensarla cosi. Sono sicuro che se apro code complete riesco a trovare un qualche cosa per convincere anche fek :p

ciao ;)

fek
13-09-2005, 14:30
Endline layout. No grazie.

In ogni caso continuo a sostenere che il mio stile è piu chiaro. "Pure blocks" mostra meglio la struttura logica del programma e non sono il solo a pensarla cosi. Sono sicuro che se apro code complete riesco a trovare un qualche cosa per convincere anche fek :p

ciao ;)

Per McConnel la posizioen della parentesi e' questione di gusto personale ed entrambe le versioni sono corrette :D

VICIUS
13-09-2005, 14:44
Per McConnel la posizioen della parentesi e' questione di gusto personale ed entrambe le versioni sono corrette :D
Devo avere una copia buggata allora:
Listing 31-24. Java example of unindented begin-end pairs.
for ( int i = 0; i < MAX_LINES; i++ )
{
ReadLine( i );
ProcessLine( i );
}
Although this approach looks fine, it violates the Fundamental Theorem of For-
matting; it doesn’t show the logical structure of the code. Used this way, the
begin and end aren’t part of the control construct, but they aren’t part of the
statement(s) after it either.

Listing 31-25 is an abstract view of this approach:
Listing 31-25. Abstract example of misleading indentation.
A XXXXXXXXXXXXXXXXXX
B XXXX
C XXXXXX
D XXXXXXXXX
E XXXX
In this example, is statement B subordinate to statement A? It doesn’t look like
part of statement A, and it doesn’t look as if it’s subordinate to it either.
If you have used this approach, change to one of the two layout styles
described earlier, and your formatting will be more consistent.
Specialmente le utlime righe sono piuttosto chiare.

ciao ;)