Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 02-05-2006, 16:59   #41
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fek
Ma no, voglio loggare a valle, solo il risultato degli eventi, non voglio loggare la pressione dei tasti. Proprio perche' voglio loggare meno e concetti piu' astratti. Cosi' non dobbiamo portarci dietro concetti come il timer ed e' piu' facile da mantenere.
Nessuno ha detto di loggare i tasti...ora vengono loggate le azioni... Ed il log che si fa adesso basta ed avanza per riprodurre interamente gli eventi... Ovviamente con l'aiuto del MockTimer...
cionci è offline  
Old 02-05-2006, 17:00   #42
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
cionci, e' un hack grosso come una casa. Un Timer non e' un qualcosa che tiene traccia dei timestamp. Un Timer conta il tempo e basta, gli stai dando un'altra responsabilita' e questo porta a grossi disastri.

Ora, se e' una soluzione temporanea mi sta bene, se e' la tua soluzione finale no. Va rifattorizzata subito.
fek è offline  
Old 02-05-2006, 17:01   #43
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Nessuno ha detto di loggare i tasti...ora vengono loggate le azioni... Ed il log che si fa adesso basta ed avanza per riprodurre interamente gli eventi... Ovviamente con l'aiuto del MockTimer...
Ok, i requisiti del task ti chiedono di farlo senza aiuto del MockTimer. Il task e' concluso quando posso scrivere quel test che ho richiesto senza un MockTimer di mezzo.
fek è offline  
Old 02-05-2006, 17:09   #44
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fek
Ora, se e' una soluzione temporanea mi sta bene, se e' la tua soluzione finale no. Va rifattorizzata subito.
Chiamiamolo TimeStamp allora...dopo tutto è giusto che si chiami così...e ripeto... Questo è IMHO un refactoring da fare indipendentemente se useremo o meno questa possibilità per riprodurre il log...
cionci è offline  
Old 02-05-2006, 17:11   #45
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da fek

doSomething() deve generare l'evento che viene messo in ordine con gl'altri eventi. Come scrivevo, la generazione e l'ordinamento degli eventi deve essere fatto a monte, e poi scritto il risultato nel log assieme al suo game turn.

Quindi un evento crush viene scritto come tale e il tempo di attesa processato a monte. C'e' solo da fare un attimo di refactoring per introdurre questo concetto di generazione degli eventi.
In questa maniera(lavorando su eventi) si sposterebbe il livello di intervento su inputReactor, sostituendolo con una classe che chiami gli eventHandler opportuni.
thebol è offline  
Old 02-05-2006, 17:14   #46
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fek
Ok, i requisiti del task ti chiedono di farlo senza aiuto del MockTimer. Il task e' concluso quando posso scrivere quel test che ho richiesto senza un MockTimer di mezzo.
Ok, ma valutiamo anche il traffico... Aumentando gli eventi aumenta il traffico e diminuisce la possibilità di utilizzare il gioco su un modem 56K...
cionci è offline  
Old 02-05-2006, 17:15   #47
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Chiamiamolo TimeStamp allora...dopo tutto è giusto che si chiami così...e ripeto... Questo è IMHO un refactoring da fare indipendentemente se useremo o meno questa possibilità per riprodurre il log...
Sono pedante oggi, scusami

Vuoi creare una classe TimeStamp per che cosa di preciso? Non mi e' chiaro. (Sono pedante e lento oggi).

Una piccola nota su quello che e' accaduto in questa discussione. Lo scambio di opinioni ha portato ad una migliore definizione da parte mia dei requisiti del task, che prima della discussione erano molti laschi.

Questo dimostra che discutere un task e' una cosa sempre molto buona.

Ora, quello che ti chiedo sembra una violazione di YAGNI, perche' tu mi proponi una soluzione che richiede meno codice e io te ne chiedo una con piu' codice. Sembra che io sia in violazione, ma non lo sono perche' sono il Coach

A parte gli scherzi, dopo la discussione sono cambiati i requisiti quindi la tua soluzione non e' piu' la soluzione giusta al problema di soddisfare i (nuovi) requisiti del task "Riprodurre il log senza ausilio di MockTimer", ma e' soluzione dei requisiti vecchi.

YAGNI si applica quando tutti i requisiti sono soddisfatti e impone che lo siano con meno codice possibile.
fek è offline  
Old 02-05-2006, 17:16   #48
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ripeto ragazzi...provate il gioco con quell'hack o come lo volete chiamare... Abbassate InputRate a 50 e vedrete aumentare la precisione del gioco... Ad esempio negli spostamenti laterali...

IMHO è da introdurre poi fate come volete...indipendentemente dal fatto di usare il mocktimer nel log...
cionci è offline  
Old 02-05-2006, 17:18   #49
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ok, ma valutiamo anche il traffico... Aumentando gli eventi aumenta il traffico e diminuisce la possibilità di utilizzare il gioco su un modem 56K...
Stai discutendo il design del codice in base a valutazioni di carattere prestazionale che non appaiono nei requisiti?

I requisiti del networking (per ora), non parlano di model 56k quindi questo E' YAGNI. Se i requisiti lo richiederanno e se la banda che consumiamo sara' eccessiva una volta fatto il profiling, allora valuteremo le soluzioni a quel problema. Ora non le valutiamo e ci atteniamo strettamente ai requisiti.
fek è offline  
Old 02-05-2006, 17:19   #50
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ripeto ragazzi...provate il gioco con quell'hack o come lo volete chiamare... Abbassate InputRate a 50 e vedrete aumentare la precisione del gioco... Ad esempio negli spostamenti laterali...

IMHO è da introdurre poi fate come volete...indipendentemente dal fatto di usare il mocktimer nel log...
Joc, puoi valutare una build con questo fix per favore? La decisione qui diventa tua.
fek è offline  
Old 02-05-2006, 17:21   #51
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Aspettate che vi metto su un test (fatto a mano, non JUnit) che vi dimostra la maggiore precisione...
cionci è offline  
Old 02-05-2006, 17:24   #52
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ok...allora avviate il gioco premete da subito i tasti sinistra e basso (se rischiate di riempire la colonna centrale, prima dell'inserimento di una nuova gemspair lasciate il tasto sinistra e premete destra contemporaneamente) di entrambi i giocatori...vedrete che i campi gioco dopo un po' si evolveranno in maniera diversa...
cionci è offline  
Old 02-05-2006, 17:26   #53
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da fek
Ok, i requisiti del task ti chiedono di farlo senza aiuto del MockTimer. Il task e' concluso quando posso scrivere quel test che ho richiesto senza un MockTimer di mezzo.
non penso sia possibile, a meno che tu nn voglia aspettare il tempo della partita prima di vedere finire il test.
thebol è offline  
Old 02-05-2006, 17:27   #54
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da cionci
Ok...allora avviate il gioco premete da subito i tasti sinistra e basso (se rischiate di riempire la colonna centrale, prima dell'inserimento di una nuova gemspair lasciate il tasto sinistra e premete destra contemporaneamente) di entrambi i giocatori...vedrete che i campi gioco dopo un po' si evolveranno in maniera diversa...
era il non determinismo di cui parlavo qualche post fa
thebol è offline  
Old 02-05-2006, 17:29   #55
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da thebol
non penso sia possibile, a meno che tu nn voglia aspettare il tempo della partita prima di vedere finire il test.
Nei requisiti c'e' di non dover aspettare il tempo della partita

Tutto e' possibile. E spesso e' possibile anche in maniera piu' semplice.
fek è offline  
Old 02-05-2006, 17:31   #56
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ok...allora avviate il gioco premete da subito i tasti sinistra e basso (se rischiate di riempire la colonna centrale, prima dell'inserimento di una nuova gemspair lasciate il tasto sinistra e premete destra contemporaneamente) di entrambi i giocatori...vedrete che i campi gioco dopo un po' si evolveranno in maniera diversa...
Appena Joc lo conferma, questo diventa un bug e va risolto. Approposito, dobbiamo tenere aggiornato l'elenco dei bug e Joc deve produrre ogni tanto una storia per correggerli.
fek è offline  
Old 02-05-2006, 17:42   #57
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da fek
Nei requisiti c'e' di non dover aspettare il tempo della partita

Tutto e' possibile. E spesso e' possibile anche in maniera piu' semplice.
Quando entro nello stato waitStateBeforeNewGemPair, come faccio a dirgli che sono passati n ms e che puo passare allo stato successivo?

Si potrebbero saltare tutte queste attese creando un mockTimer settato a 9999999999999999, ma sempre mockTimer è.
thebol è offline  
Old 02-05-2006, 17:48   #58
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da thebol
Quando entro nello stato waitStateBeforeNewGemPair, come faccio a dirgli che sono passati n ms e che puo passare allo stato successivo?
Semplicemente non ci entri... Riproduci gli eventi...quindi sai che al turno N verrà generata una nuova gemspair...

Comunque a questo punto inputServed deve cambiare... Ora vengono contati i turni di input... Per loggare questi eventi deve contare gli update...
cionci è offline  
Old 02-05-2006, 17:54   #59
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da cionci
Semplicemente non ci entri... Riproduci gli eventi...quindi sai che al turno N verrà generata una nuova gemspair...

Comunque a questo punto inputServed deve cambiare... Ora vengono contati i turni di input... Per loggare questi eventi deve contare gli update...
mmm

percui generiamo anche gli eventi tipo Crush(possono essere a catena) nel log?
thebol è offline  
Old 02-05-2006, 17:58   #60
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Cionci, ho provato a settare InputRate a 50 (ma anche a 5, pensando ci fosse un errore di battitura nel post, visto che hai detto di "ridurlo" ed il suo valore iniziale è 10).
Non mi pare ci sia una maggiore precisione, cambia solo la rapidità con cui le stesse cose vengono eseguite, ma le imprecisioni rimangono uguali, e credo si presentino più o meno dopo lo stesso numero di drop.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline  
 Discussione Chiusa


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
Obbligati ad acquistare una scheda madre...
GTA VI su PC? La data non c'è, ma...
Monopattini elettrici, a un anno dal dec...
Tesla Robotaxi, autista di sicurezza si ...
Samsung Galaxy S26: svelate le combinazi...
Microsoft Ignite: arriva Edge for Busine...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Gigabyte X870E Aorus Elite X3D, una moth...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v