Create a volleyball rotation

good evening, I'm creating an app to manage rotations in volleyball. I inserted 6 labels, lbl1,lbl2,lbl3,lbl4,lbl5,lbl6 where the initial formation will be inserted after having inserted it in the txt field. After having inserted btn2 the formation is inserted in the labels. All ok so far. The problem arises in managing the rotation by pressing btn 3. What do you suggest I do?

Show your relevant blocks

Explain how subsequent rotations will look, how many players in total, any rules for when you can rotate.

Are you using lists ?

According to

all you need to do is rotate 6 Label .Text values clockwise?

1 Like

there are six players on the field (six labels), when I press the btn2 button it must rotate. I need something simple. In case I want to make a change I would like to add a btncambio button where I insert the new player and the one who replaces him.

all you need to do is rotate 6 Label .Text values clockwise?
come faccio ?

Dear @soleluna (Roberto),
you can do something like:

I've not tested it, but it should work.

Sono Italiano per cui il resto te lo dico in italiano: non è proprio un algoritmo molto "elegante", ma così forse è più leggibile.
RotateCW (clockwise, in senso orario, non è detto che sia verso sinistra, dipende da come assegni le label alla posizione dei giocatori, ma gestisci tu CW e CCW a seconda di come vuoi fare la rotazione e come assegni i giocatori :grin:)

Se hai bisogno scrivi pure.
Ciao !

1 Like

con questo sistema funziona, grazie mille, adesso dovrei aggiungere un tasto per il cambio giocatore, esempio cliccando sulla label posso cambiare il numero. Magari potessi prendere i sostituti da una lista di sostituti....

Ciao Roberto,
sono contento di esserti stato d'aiuto !
Ora, per fare un lavoro "ben fatto" riguardo i sostituti, bisognerebbe che ti studiassi il TinyDB, le Liste e i Dictionaries.
In questo modo la tua app potrebbe salvare in modo permanente (come se fosse un database su un Hard Disk) le intere squadre, da cui estrarre i giocatori coi loro numeri per formare il team per la partita e per gestire i sostituti in real time.

Oppure potresti creare le squadre in excel su un PC, salvarle in formato CSV, copiare i file CSV sul tuo device Android, e da lì, usando le funzioni e i blocchi delle Liste che recuperano i dati da file csv, riempire delle ListView in cui poi selezionare la riga che contiene il nome del giocatore sostituto.

Insomma, ci sono molti modi per creare e usare delle "liste" (o dei Dictionaries), ma devi avere un po' di pazienza e fare un po' di prove per vedere quale ti risolve meglio il problema.
Quindi, prima di intraprendere una strada, per prima cosa ti suggerisco di capire che cosa ti serve veramente: ovvero ti serve avere un sistema flessibile ed aperto a modifiche ed aggiunte future, o un sistema minimale, poco flessibile, anzi molto "verticale", in cui la squadra che gestisci è una sola, con nomi e numeri dei giocatori già noti ?

Non so che metodo tu abbia usato per caricare i nomi dei 6 giocatori nelle 6 label, oppure se li scrivi già in fase di programmazione, nel qual caso, sempre in fase di programmazione, puoi andare direttamente a caricare negli elementi di una lista i nomi e i numeri dei sostituti, e durante l'esecuzione dell'app, visualizzerai la lista con una ListView, potrai usare le frecce per selezionare la riga con il nome del sostituto ed andare a sostituire la lbl'ennesima'.text con il nome del sostituto appena estratto.

Oppure fai entrambe le cose: cioè parti con la versione "minimale", la usi, vedi se ti basta e poi passi a quella "evoluta" (ed elegante).
So che preferiresti un esempio con dei blocchi, ma per farti un esempio della versione "bella" ci vuole un po' di tempo, e il tempo libero scarseggia... :grin: :grin: :grin:

Ciao e buona programmazione !

mi metto subito all'opera per tiny db come gia avevo pensato, ti tengo aggiornato e se mi serve aiuto ne approfitto della tua gentilezza.

Scusa, leggo solo ora.
Certo, se posso essere d'aiuto (e se ne sono capace :innocent:) lo faccio volentieri !
Sono un vecchio programmatore di software embedded per sistemi speciali, quindi non sono un guru di databases e annessi, ma le sfide mi piacciono ancora... :grin:
Buon primo maggio e (da Italiano) relativo "ponte"....
Ciao.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.