You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La nostra funzione questa volta non riceverà parametri in input e non ritornerà nulla, si svolgerà tutto interamente sul terminale.
158
-
Il gioco si svolgerà su una matrice 11x11 dove ogni valore sarà equivalente ad uno spazio bianco. Il nostro personaggio (PG), rappresentato dal carattere '@' partirà in posizione 5,5
158
+
Il gioco si svolgerà su una matrice 11x11 dove ogni valore sarà equivalente ad un under score '_'. Il nostro personaggio (PG), rappresentato dal carattere '@' partirà in posizione 5,5
159
159
(al centro della matrice) e potrà spostarsi dentro di essa tramite i classici comandi WASD. Quando il PG attraversa un bordo della matrice, riappare dall'altra parte (effetto PAC-MAN).
160
160
Al disopra della matrice (o dovunque preferiate) dovrà esserci un contatore delle vite del personaggio e un contatore dei punti.
161
-
All'interno dell matrice saranno presenti degli NPC nemici, rappresentati con il carattere '#' che ad od ogni turno si sposteranno in una casella casuale adiacente (non in diagonale).
162
-
Se un NPC entra a contatto con il nostro PG, (si trovano quindi sulla stessa casella), il PG verrà spostato su una casella adiacente casuale (anche in diagonale) e perderà una vita.
163
-
L'obbiettivo del PG è quello di raccogliere punti '+' in giro per la matrice. Il primo punto apparirà in una posizione casuale diversa da quella del PG e del NPC. I successivi punti
164
-
compariranno sempre in posizioni casuali diverse da quelle del PC e degli NPC (che andranno aumentando ogni 3 punti raccolti, comparendo in caselle casuali diverse da quella del PG, di
165
-
altri NPC e del punto).
161
+
All'interno dell matrice saranno presenti dei nemici, rappresentati con il carattere '#' che ad od ogni turno si sposteranno in una casella casuale adiacente (non in diagonale).
162
+
Se un nemico entra a contatto con il nostro PG, si trovano quindi sulla stessa casella, il PG perderà una vita.
163
+
L'obbiettivo del PG è quello di raccogliere punti '+' in giro per la matrice. Il primo punto apparirà in una posizione casuale diversa da quella del PG e del nemico. I successivi punti
164
+
compariranno sempre in posizioni casuali diverse da quelle del PC e dei nemici (che andranno aumentando ogni volta che il punto cambia posizione, comparendo in caselle casuali diverse
165
+
da quella del PG, di altri NPC e del punto). Anche i nemici posono prendere i punti '+', facendo comparire altri nemici.
166
166
Il gioco va in GAME OVER quando il PG perde tutte e 3 le sue vite.
167
167
168
168
Per lo svolgimento di questo esercizio consiglio di usare copiare la traccia su uno script vuoto, strutturando il programma su più funzioni con ruoli ben precisi.
Copy file name to clipboardExpand all lines: Python/Soluzioni/Matrici.py
+124-53
Original file line number
Diff line number
Diff line change
@@ -105,8 +105,39 @@ def es2(lista):
105
105
106
106
107
107
108
+
109
+
#%%
110
+
""" ES 3 - medio/facile
111
+
Data in input una matrice (quadrata), si ritorni la somma delle diagonali
112
+
"""
113
+
114
+
defes3(matrice):
115
+
somma=0
116
+
i, j=0, len(matrice[0]) -1
117
+
118
+
forrigainmatrice:
119
+
somma+=riga[i] +riga[j]
120
+
i+=1
121
+
j-=1
122
+
123
+
returnsomma
124
+
125
+
126
+
# print(es3([[ 8, 2, 6, -9, 3, 4, -5],
127
+
# [ 7, -3, -5, 2, -7, 9, 1],
128
+
# [ 4, -6, -8, 3, 5, 7, 4],
129
+
# [-1, 7, 3, -6, 9, 5, 5],
130
+
# [-6, 2, 9, 6, -5, -1, 2],
131
+
# [ 5, -4, -7, -3, 6, 8, -2],
132
+
# [-2, 4, 7, 4, 8, -8, 9]]))
133
+
134
+
# OUTPUT : 9
135
+
136
+
137
+
138
+
108
139
#%%
109
-
""" ES 3 - medio
140
+
""" ES 4 - medio
110
141
Data in input una matrice di '-', scrivere una funzione che, tramite un ciclo while, consenta di modificare singolarmente ogni elemento della matrice in un
111
142
elemento dato in input (eseguendo una stampa a video della matrice ad ogni iterazione). Tramite terminale bisognerà poter scrivere le coordinate e l'elemento
112
143
nel quale modificare il '-'. Se si tenterà di modificare un elemento già modificato, verrà invece modificato il primo elemento successivo non modificato
@@ -127,7 +158,7 @@ def es2(lista):
127
158
- - - - - - - - - - - - - - - X - - X X - X X X X X X X X X
Data in input una matrice, si sommino i bordi della matrice. Ogni elemento deve essere sommato con i precedenti, partedo dal vertice in alto a sinistra e facendo una roatazione oraria
227
-
sui 4 bordi della matrice. L'ultima somma dovrà quindi avvenire sull'elemento (0,1). Si ritorni la matrice modificata e il valore che, lungo i bordi, è stato incontrato più di frequente,
228
-
in caso di parità si ritorni il maggiore.
239
+
Data in input una matrice, si sommi ogni elemento con il precedente, seguendo una spirale che parte dall'origine e gira in senso orario. Si ritorni la matrice modificata e il
240
+
valore che, lungo la spirale, è stato calcolato più di frequente, in caso di parità si ritorni il valore maggiore.
0 commit comments