Python - Tengo un problema con phyton

 
Vista:

Tengo un problema con phyton

Publicado por rashid (8 intervenciones) el 23/01/2022 15:34:19
Este es el juego del come cocos la "@" es la ficha y tiene que comer el "$" si lo comes tiene que sumar 1000 puntos pero no se como hacer para cambiar la puntuación


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
='editor_code'>import random
matriu=[]
FILES=10
COLUMNES=15
puntuacio=0
cocox=1
cocoy=1
premix=[1,2,3,4,5,6,7,8]
premiy=[1,2,3,4,5,6,7,8,9,10]
posisiox=random.choice(premix)
posisioy=random.choice(premiy)
def omplirMatriu(caracter):
    for i in range(FILES):
        matriu.append([])
        for j in range(COLUMNES):
            matriu[i].append(caracter)
 
def mostrarMatriu():
    print("Posisio on ens trobem " )
    print("Fila:",cocox  )
    print("Columna:",cocoy)
    if cocoy==posisioy and cocox==posisiox:
        puntuacio==puntuacio + 1000
    print("Puntuació:" ,puntuacio )
    for i in range(FILES):
        for j in range(COLUMNES):
            print(matriu[i][j], end =" ")
        print()
 
def dibuixarFila(fila,caracter):
    for i in range(COLUMNES):
        matriu[fila][i]=caracter
 
def dibuixarColumna(columna,caracter):
    for i in range(FILES):
        matriu[i][columna]=caracter
 
def dibuixarBordejats(caracter):
    dibuixarFila(0,caracter)
    dibuixarFila(9,caracter)
    dibuixarColumna(0,caracter)
    dibuixarColumna(14,caracter)
def colocarcoco(caracter):
    global cocox,cocoy
    matriu[cocox][cocoy]=caracter
 
 
def moureamunt():
    global cocox
    if cocox > +1:
        cocox=cocox-1
 
 
def moureAvall():
    global cocox
    if cocox < FILES-2:
        cocox=cocox+1
 
def moureEsquerra():
    global cocoy
    if cocoy > 1:
        cocoy -=1
 
def moureDreta():
    global cocoy
    if cocoy < COLUMNES-2:
        cocoy=cocoy+1
 
def moviment(moufixa):
    if moufixa=="w":
        moureamunt()
    elif moufixa=="s":
        moureAvall()
    elif moufixa=="a":
        moureEsquerra()
    elif moufixa=="d":
       moureDreta()
 
def esborrarCoco():
    global cocox, cocoy
    matriu[cocox][cocoy]="-"
 
def omplirPremis(car):
    global premix,premiy
    matriu[posisiox][posisioy]=car
 
omplirMatriu("-")
dibuixarBordejats("*")
omplirPremis("$")
while True:
    colocarcoco("@")
    mostrarMatriu()
    moufixa=input("Seleciona la posicio: ")
    esborrarCoco()
    moviment(moufixa)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Tengo un problema con phyton

Publicado por algoritmo (33 intervenciones) el 23/01/2022 18:03:25
Hola

Tienes mal la fila 23: puntuacio==puntuacio + 1000
debería de ser: puntuacio += 1000 o si quieres: puntuacio = puntuacio + 1000

También incorporaría la instrucción: 'global puntacio' al comienzo de la función 'mostrarMatriu'

Un saludo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo un problema con phyton

Publicado por rashid (8 intervenciones) el 23/01/2022 18:30:40
Muchas gracias me ha funcionado y también tengo otro problema haber si me puedes ayudar también que es al imprimir la tabla se imprime en ella solo un "$" y me gustaría que saliesen 5 en posiciones diferentes como lo podría hacer si no te molesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Tengo un problema con phyton

Publicado por algoritmo (33 intervenciones) el 23/01/2022 19:16:40
Bueno, voy A VER si te lo explico correctamente:

Harían falta varios cambios:

1) Dibujar 5 objetivos. Podría ser mas o menos así:
1
2
3
4
5
6
def omplirPremis(car):
    global premix,premiy
    for i in range(0, 5):
        posisiox=random.choice(premix)
        posisioy=random.choice(premiy)
        matriu[posisiox][posisioy]=car
2) Modificar la forma de detectar el objetivo. Yo borraría las filas 22 y 23 , e incorporaría nuevas filas, justo al final:
1
2
3
4
5
6
7
8
while True:
    colocarcoco("@")
    mostrarMatriu()
    moufixa=input("Seleciona la posicio: ")
    esborrarCoco()
    moviment(moufixa)
    if matriu[cocox][cocoy] == '$':
        puntuacio += 1000

Espero que te sirva :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo un problema con phyton

Publicado por rashid (8 intervenciones) el 23/01/2022 19:28:04
Si que me ha funcionado muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo un problema con phyton

Publicado por Rashid (8 intervenciones) el 23/01/2022 20:02:52
Bro una ultima pregunta como podría poner que los fantasmas sean el carácter "F" i que cada movimiento que haga el fantasma se va moviendo y si coinciden la "@" y la "F" finalize el programa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import random
import time
inici =time.time()
matriu=[]
FILES=10
COLUMNES=15
puntuacion=0
cocox=1
cocoy=1
premix=[1,2,3,4,5,6,7,8]
premiy=[1,2,3,4,5,6,7,8,9,10]
#fantasmaxp=8
#fantasmayp=13
fantasmax=[1,2,3,4,5,6,7,8]
fantasmay=[1,2,3,4,5,6,7,8,9,10]
def omplirMatriu(caracter):
    for i in range(FILES):
        matriu.append([])
        for j in range(COLUMNES):
            matriu[i].append(caracter)
 
def mostrarMatriu():
    global puntuacion
    print("Posisio on ens trobem " )
    print("Fila:",cocox  )
    print("Columna:",cocoy)
    print("Puntuació:" ,puntuacion )
    for i in range(FILES):
        for j in range(COLUMNES):
            print(matriu[i][j], end =" ")
        print()
 
def dibuixarFila(fila,caracter):
    for i in range(COLUMNES):
        matriu[fila][i]=caracter
 
def dibuixarColumna(columna,caracter):
    for i in range(FILES):
        matriu[i][columna]=caracter
 
def dibuixarBordejats(caracter):
    dibuixarFila(0,caracter)
    dibuixarFila(9,caracter)
    dibuixarColumna(0,caracter)
    dibuixarColumna(14,caracter)
def colocarcoco(caracter):
    global cocox,cocoy
    matriu[cocox][cocoy]=caracter
 
 
def moureamunt():
    global cocox
    if cocox > +1:
        cocox=cocox-1
    elif cocox==(1,2,3,4,5,6,7,8,9):
        print("hola")
 
def moureAvall():
    global cocox
    if cocox < FILES-2:
        cocox=cocox+1
 
def moureEsquerra():
    global cocoy
    if cocoy > 1:
        cocoy -=1
 
def moureDreta():
    global cocoy
    if cocoy < COLUMNES-2:
        cocoy=cocoy+1
 
def moviment(moufixa):
    if moufixa=="w":
        moureamunt()
    elif moufixa=="s":
        moureAvall()
    elif moufixa=="a":
        moureEsquerra()
    elif moufixa=="d":
       moureDreta()
 
def esborrarCoco():
    global cocox, cocoy
    matriu[cocox][cocoy]="-"
 
def omplirPremis(car):
    global premix,premiy
    for i in range(0,5):
        posisiox=random.choice(premix)
        posisioy=random.choice(premiy)
        matriu[posisiox][posisioy]=car
 
def fantasma(fan):
    global fantasmax,fantasmay
    global cocox , cocoy
    posfantx=random.choice(fantasmax)
    posfanty=random.choice(fantasmay)
    #if cocox==1 and cocoy==1:
    #matriu[fantasmaxp][fantasmayp]=fan
    matriu[posfantx][posfanty]=fan
 
 
omplirMatriu("-")
dibuixarBordejats("*")
omplirPremis("$")
fantasma("F")
while True:
    colocarcoco("@")
    mostrarMatriu()
    moufixa=input("Seleciona la posicio: ")
    esborrarCoco()
    moviment(moufixa)
    final = time.time()
    if matriu[cocox][cocoy]=='$':
        puntuacion +=1000
    elif matriu[cocox][cocoy]=='F':
        print("GAME OVER")
        exit()
    elif puntuacion == 5000:
        print("FI DEL JOC")
        print("------- Temps jugat",round(final - inici, 2),"segons -------")
        exit()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar