Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 14-11-2005, 14:03   #1
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
[CICLO 5] Storia 2

Storia 2: Creazione di una nuova gemma quando la precedente tocca il fondo o una gemma sottostante (emissione del bip in entrambi i casi), con rilevamento delle collisioni tra le gemme presenti nell’area di gioco (non sarà possibile spostare la gemma in una casella già occupata da un'altra). Introduzione di un contatore per il punteggio del giocatore, inizializzato a zero, capace di assumere valori validi di 8 cifre e mostrato su schermo mediante una png contenente le cifre nelle 10 caselle che la compongono.
Ogni volta che un diamante collide con il fondo (o con una gemma al di sotto di esso) il contatore del punteggio viene incrementato di 1.

Punti cardine da tenere a mente durante i lavori:
  • Mai fare a gara a chi finisce il task per primo, meglio procedere con calma, altrimenti perderemo molto più tempo in seguito
  • Evitiamo di complicarci la vita, esiste di certo una soluzione più semplice di quella che abbiamo pensato di implementare
  • MAI aggiungere elementi non richiesti esplicitamente dai task: se mai serviranno, se ne parlerà nelle prossime storie
  • Comunichiamo il più possibile, se qualcosa non è chiaro discutiamone tutti i dettagli fino ad eliminare ogni dubbio, anche il più insignificante
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 14-11-2005 alle 20:22.
Jocchan è offline  
Old 14-11-2005, 19:52   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Task:
5.2.1: Cionci: completato
Quando la gemma collide con il bordo inferiore dell'area di gioco ne deve essere creata una nuova nella parte superiore che diventa quella gestita tramite input da tastiera.
5.2.2: Cover + TigerShark: completato
Modificare Grid in modo che lo spostamento verticale della gemma sia fermato se la casella della riga sottostante è gia occupata. (solo pair programming)
5.2.3: DanieleC88: completato
Impedire lo spostamento laterale della gemma se la casella nella colonna di destinazione è occupata. (solo pair programming)
5.2.4: 71104: completato
Aggiungere la possibilità di disegnare un numero intero di massimo 8 cifre usando la clase Sprite e come base una texture.
5.2.5: Vifani: completato
Visualizzare nella casella dello score presente alle coordinate 219x421 il numero di diamanti presenti all'interno della griglia. Ogni cifra deve essere distanziata dall'altra 11 pixel.

ciao

Ultima modifica di VICIUS : 23-11-2005 alle 12:49.
VICIUS è offline  
Old 14-11-2005, 20:16   #3
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
5.2.2 va svolto in Pair Programming.
fek è offline  
Old 14-11-2005, 21:36   #4
cover
Senior Member
 
L'Avatar di cover
 
Iscritto dal: May 2002
Città: Milan
Messaggi: 572
Io sarei tentato per il 5.2.2 per provare pair programming...se c'è qualcuno disposto, e con tanta pazienza
chi si offre volontario ? fek ?

Sperando di non aver scelto il task più difficile / con più complicazioni ^^
__________________
.:. NEONISI .:. a new island for online auctions. It's worldwide, safe, simple and free. Join Us!

Ultima modifica di cover : 14-11-2005 alle 21:43.
cover è offline  
Old 14-11-2005, 23:10   #5
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
La mia prossima vittima programmata sara' cionci

Ora preferisco che proviata a fare Pair Programming fra di voi.
fek è offline  
Old 14-11-2005, 23:57   #6
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
ci proviamo insieme cover???
x me andrebbe bene domani e dopodomani dopo le 19.00.....
certo ke se magari ci seguono gli altri mentre scriviamo è pure meglio!

EDIT: ma non dovremmo aspettare che il task 1 sia implementato prima???
__________________

Ultima modifica di ^TiGeRShArK^ : 14-11-2005 alle 23:59.
^TiGeRShArK^ è offline  
Old 15-11-2005, 08:43   #7
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
La mia prossima vittima programmata sara' cionci
Purtroppo nemmeno questa settimana lo posso fare... Sono occupato praticamente tutte le sere

Avrei una domanda sul 5.2.3: supponendo che la gemma si trovi nella cella [Y, X]...e la cella [Y+1, X+1] contenga una gemma... La gemma in [Y,X] si trova all'inizio della cella (ricordiamoci che l'hot spot è in alto a destra)... Vengono svolti diversi update in cui al gemma si sposta verso il basso, ma rimane ancora in [Y, X]... Viene premuto il tasto sx, la gemma in questo caso non si deve spostare nella casella [Y, X+1] perchè andrebbe a collidere lateralmente, ma solo dal punto di vista grafico, non dal punto di vista della cella, con la gemma in [Y+1, X+1]...
E' giusto questo comportamento ? Quindi non solo bisogna controllare che non ci siano collisioni con le gemme nelle caselle adiacenti lateralmente, ma che non ci siano anche nelle diagonali inferiori se la gemma non si trova all'inzio della cella...

Direi che se si aggiunge anche questo punto di vista il task 5.2.3 diventa più complesso del 5.2.2...e quindi direi che sarebbe meglio fare questo in pair programming...

Quindi per motivi di tempo io prenderei quello dei due che non si svolge in pair programming...
Quali sono le priorità fra i task ?

Ultima modifica di cionci : 15-11-2005 alle 08:46.
cionci è offline  
Old 15-11-2005, 08:44   #8
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 ^TiGeRShArK^
ci proviamo insieme cover???
x me andrebbe bene domani e dopodomani dopo le 19.00.....
certo ke se magari ci seguono gli altri mentre scriviamo è pure meglio!

EDIT: ma non dovremmo aspettare che il task 1 sia implementato prima???
Non importa perchè le gemme le potete inserire voi a mano (insertGemAt)
cionci è offline  
Old 15-11-2005, 08:50   #9
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Purtroppo nemmeno questa settimana lo posso fare... Sono occupato praticamente tutte le sere

Avrei una domanda sul 5.2.3: supponendo che la gemma si trovi nella cella [Y, X]...e la cella [Y+1, X+1] contenga una gemma... La gemma in [Y,X] si trova all'inizio della cella (ricordiamoci che l'hot spot è in alto a destra)... Vengono svolti diversi update in cui al gemma si sposta verso il basso, ma rimane ancora in [Y, X]... Viene premuto il tasto sx, la gemma in questo caso non si deve spostare nella casella [Y, X+1] perchè andrebbe a collidere lateralmente, ma solo dal punto di vista grafico, non dal punto di vista della cella, con la gemma in [Y+1, X+1]...
E' giusto questo comportamento ? Quindi non solo bisogna controllare che non ci siano collisioni con le gemme nelle caselle adiacenti lateralmente, ma che non ci siano anche nelle diagonali inferiori se la gemma non si trova all'inzio della cella...
Direi che per ora ignoriamo il problema e vediamo come si comporta il gioco. Poi Jocchan ci dira' esattamente come comportarci in questa situazione, quando potra' provarla direttamente.

Quote:
Quindi per motivi di tempo io prenderei quello dei due che non si svolge in pair programming...
Quali sono le priorità fra i task ?
Le priorita' sono in ordine di numerazione dei task.
fek è offline  
Old 15-11-2005, 08:56   #10
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
Allora mi prenoto per il 5.2.3, potrei fare anche il 5.2.1, ma fino a mercoledì pomeriggio/giovedì non ho un briciolo di tempo Quindi se nessuno se lo accolla entro domani sera magari ci posso pensare io, lasciando il 5.2.3 ovviamente...
cionci è offline  
Old 15-11-2005, 08:58   #11
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Allora mi prenoto per il 5.2.3, potrei fare anche il 5.2.1, ma fino a mercoledì pomeriggio/giovedì non ho un briciolo di tempo Quindi se nessuno se lo accolla entro domani sera magari ci posso pensare io, lasciando il 5.2.3 ovviamente...
Ottimo
fek è offline  
Old 15-11-2005, 10:46   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
il 5.2.4 sembra carino, mi prenoto
dubbi: va disegnato uno sprite per ogni cifra o tutto il numero va in un unico sprite? (propongo la prima...)
stima, be', bu, boh, facciamo 1 giorno a partire dal termine del task per cui mi sono prenotato alla Storia 1.

PS: per non scrivere valori costanti nel codice direi di inserire il valore degli 11 pixel in config come "digitSpacing".
71104 è offline  
Old 15-11-2005, 11:14   #13
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da 71104
il 5.2.4 sembra carino, mi prenoto
dubbi: va disegnato uno sprite per ogni cifra o tutto il numero va in un unico sprite? (propongo la prima...)
stima, be', bu, boh, facciamo 1 giorno a partire dal termine del task per cui mi sono prenotato alla Storia 1.

PS: per non scrivere valori costanti nel codice direi di inserire il valore degli 11 pixel in config come "digitSpacing".
Tutto tuo.

ciao
VICIUS è offline  
Old 15-11-2005, 11:45   #14
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104
il 5.2.4 sembra carino, mi prenoto
dubbi: va disegnato uno sprite per ogni cifra o tutto il numero va in un unico sprite? (propongo la prima...)
stima, be', bu, boh, facciamo 1 giorno a partire dal termine del task per cui mi sono prenotato alla Storia 1.
L'idea e' che le cifre da 0 a 9 sono conservate in una texture in posizioni che Jocchan ti comunichera'. Tu crei 10 sprite (uno per ogni cifra) che prendono le informazioni dalla texture e disegni gli sprite corretti a seconda del numero da visualizzare nella posizione corretta.

Tutto testato ovviamente. Mi raccomando la test list prima di iniziare.

Quote:
PS: per non scrivere valori costanti nel codice direi di inserire il valore degli 11 pixel in config come "digitSpacing".
Per ora attieniti al task
fek è offline  
Old 15-11-2005, 11:57   #15
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
Per il 5.2.1, caso mai lo facessi io: dal punto di vista della metodologia di sviluppo, è più coerente sviluppare una nuova classe che gestisce l'inseriemnto e l'arrivo in fondo della gemma controllata oppure ampliare Grid ?
cionci è offline  
Old 15-11-2005, 12:11   #16
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Per il 5.2.1, caso mai lo facessi io: dal punto di vista della metodologia di sviluppo, è più coerente sviluppare una nuova classe che gestisce l'inseriemnto e l'arrivo in fondo della gemma controllata oppure ampliare Grid ?
E' una decisione tua questa e dipende dalla tua sensibilita'.

Ti posso dire quello che farei io. Io scriverei la cosa piu' semplice che mi viene in mente, quindi scriverei subito dentro Grid. Una volta finito il task guarderei Grid e e come il codice si e' evoluto e cercherei di capire come vuole essere strutturato meglio. Quindi cercherei possibilita' di refactoring ed un refactoring possibile e' quello di estrarre comportamenti comuni in una nuova classe.

Grid sta crescendo e prima o poi dovremo prenderne atto e alzare il suo livello di astrazione, quindi estrarre delle classi e definire il comportamento di Grid in termini di composizione di queste classi.

Da fare subito? Dopo? Non saprei dirtelo, anche qui sta alla vostra sensibilita'.

Tutto sto discorso per dirti: decidi tu
fek è offline  
Old 15-11-2005, 13:14   #17
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
In realtà noi dobbiamo considerare ogni gemma come un quadrato 32x32, indipendentemente dalla forma che poi avrà.
Questo significa che, se è nota la coordinata (x, y) dello spigolo in alto a sinistra, possiamo ricavare quelle degli altri tre semplicemente aggiungendo il valore 32 alle coordinate:
- spigolo in alto a destra -> (x+32, y)
- spigolo in basso a sinistra -> (x, y+32)
- spigolo in basso a destra -> (x+32, y+32)
Sia chiaro che mi riferisco ad uno schema con l'origine degli assi in alto a sinistra, che dovrebbe essere unico per tutto il nostro progetto (così come il posizionamento dell'hot spot che, per quanto ne so, si trova anch'esso in alto a sinistra di ogni oggetto).

Il rilevamento delle collisioni implica che questi quadrati in movimento non vengano mai sovrapposti, nemmeno di un pixel. Avendo a disposizione le coordinate di tutti e quattro gli spigoli, comunque, non dovrebbe essere troppo complesso.
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline  
Old 15-11-2005, 13:52   #18
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Jocchan
Il rilevamento delle collisioni implica che questi quadrati in movimento non vengano mai sovrapposti, nemmeno di un pixel. Avendo a disposizione le coordinate di tutti e quattro gli spigoli, comunque, non dovrebbe essere troppo complesso.
In realta' per ora il discorso e' ancora piu' semplice perche' abbiamo una rappresentazione ad alto livello che e' la Griglia. Non abbiamo bisogno di controllare la sovrapposizione degli sprite, ci basta controllare che la cella sotto o al nostro lato non sia gia' occupata e impedire il movimento o bloccare la caduta.
fek è offline  
Old 15-11-2005, 14:04   #19
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 Jocchan
Sia chiaro che mi riferisco ad uno schema con l'origine degli assi in alto a sinistra, che dovrebbe essere unico per tutto il nostro progetto (così come il posizionamento dell'hot spot che, per quanto ne so, si trova anch'esso in alto a sinistra di ogni oggetto).
Sì...ho scritto male.. Intendevo in alto a sinistra
cionci è offline  
Old 15-11-2005, 14:14   #20
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da fek
In realta' per ora il discorso e' ancora piu' semplice perche' abbiamo una rappresentazione ad alto livello che e' la Griglia. Non abbiamo bisogno di controllare la sovrapposizione degli sprite, ci basta controllare che la cella sotto o al nostro lato non sia gia' occupata e impedire il movimento o bloccare la caduta.
Benissimo, meglio ancora
Ovviamente se abbiamo una gemma in (x, y) ed una casella (x+1, y+1) occupata, potremo liberamente muoverci in (x+1, y) nella sua interezza: la collisione verticale verrà valutata solo quando fisicamente le due gemme andranno a toccarsi (cioè sarò ancora in grado di spostare la gemma un istante prima del contatto, per incastrarla da qualche altra parte).
Per le collisioni orizzontali, visto che si salta istantaneamente da una casella all'altra, e non bisogna considerare caselle riempite solo parzialmente dalla gemma in caduta, il concetto è ancora più semplice
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline  
 Discussione Chiusa


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
La Camera USA presenta il conto: i data ...
Non solo EV, ma anche IA: Panasonic inau...
iPhone Duo, il debutto del pieghevole di...
Atlas 960E SuperPoD, la risposta di Huaw...
IA militare e nucleare: esperti USA e ci...
Dieci mini-reattori nucleari in Europa d...
CONTROL Resonant su PC: Path Tracing, Ra...
ColorOS 17 arriva su circa 90 dispositiv...
GTA VI, il multiplayer potrebbe debuttar...
Aggiornamento KB5002914 rompe Excel: ecc...
Processo Huawei a Brooklyn: l'FBI mostra...
WhatsApp introduce nuovi temi per le cha...
NVIDIA, Google e Emerald AI uniscono le ...
iPhone 18 Pro Max, il test sulla vapor c...
Fine estate in giardino: le proposte sco...
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: 02:25.


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