elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  ¿Funciona match...case con pygame? [PYTHON 3.10]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Funciona match...case con pygame? [PYTHON 3.10]  (Leído 4,849 veces)
Yidu

Desconectado Desconectado

Mensajes: 134


Ver Perfil
¿Funciona match...case con pygame? [PYTHON 3.10]
« en: 2 Noviembre 2022, 19:00 pm »

Hola!

Tengo dudas si el match...case de la versión 3.10 de python funciona con pygame. O quizás, yo lo no uso correctamente. La versión que tengo de pygame también es la última.

En este trozo de código se mueve un objeto de la forma tradicional. Es decir, con los IFs.

Código
  1.        teclas = pygame.key.get_pressed()
  2.  
  3.        # Movimientos del objeto
  4.        if teclas[pygame.K_LEFT]:
  5.            self.velocidad_x = -10
  6.        if teclas[pygame.K_RIGHT]:
  7.            self.velocidad_x = 10
  8.        if teclas[pygame.K_UP]:
  9.            self.velocidad_y = -10
  10.        if teclas[pygame.K_DOWN]:
  11.            self.velocidad_y = 10

Y la duda es si con match...case sería así:

Código
  1.        teclas = pygame.key.get_pressed()
  2.  
  3.        # Movimientos del objeto.
  4.        match teclas:
  5.            case [pygame.K_LEFT]:
  6.                self.velocidad_x = -10
  7.            case [pygame.K_RIGHT]:
  8.                self.velocidad_x = 10
  9.            case [pygame.K_UP]:
  10.                self.velocidad_y = -10
  11.            case [pygame.K_DOWN]:
  12.                self.velocidad_y = 10

Esta claro, que falta el resto de la estructura del código. Solo he puesto ambos condicionales para ilustrar lo que digo. Con los IFs se mueve el objeto y con match...case, no.


En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: ¿Funciona match...case con pygame? [PYTHON 3.10]
« Respuesta #1 en: 2 Noviembre 2022, 20:43 pm »

si funciona, ahora no tengo python 10 por problemas con otras bibliotecas y no lo puedo probar, lo que recuerdo es que no se puede ahorrar tanto código, sino me equivoco sería:
Código
  1. teclas = pygame.key.get_pressed()
  2.  
  3.        # Movimientos del objeto.
  4.        match teclas:
  5.            case teclas[pygame.K_LEFT]:
  6.                self.velocidad_x = -10
  7.            case teclas[pygame.K_RIGHT]:
  8.                self.velocidad_x = 10
  9.            case teclas[pygame.K_UP]:
  10.                self.velocidad_y = -10
  11.            case teclas[pygame.K_DOWN]:
  12.                self.velocidad_y = 10
  13.  


En línea

Yidu

Desconectado Desconectado

Mensajes: 134


Ver Perfil
Re: ¿Funciona match...case con pygame? [PYTHON 3.10]
« Respuesta #2 en: 3 Noviembre 2022, 18:12 pm »

Pues de ser así, poco código se ahorra usando los IFs o el match/case.
En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: ¿Funciona match...case con pygame? [PYTHON 3.10]
« Respuesta #3 en: 4 Noviembre 2022, 06:05 am »

¿y qué te hace pensar que fue implementado para ahorrar código? Es más que todo por que viene de otros lenguajes y muchos lo pedían, no ahorra código en si,  sino que parece menos feo por la cantidad de if.
En línea

Yidu

Desconectado Desconectado

Mensajes: 134


Ver Perfil
Re: ¿Funciona match...case con pygame? [PYTHON 3.10]
« Respuesta #4 en: 7 Noviembre 2022, 18:47 pm »

¿y qué te hace pensar que fue implementado para ahorrar código? Es más que todo por que viene de otros lenguajes y muchos lo pedían, no ahorra código en si,  sino que parece menos feo por la cantidad de if.

Pues si es así, no se que decirte. Aparte, no llevará tantos IFs, pero lleva la misma cantidad de "case".
En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.859


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: ¿Funciona match...case con pygame? [PYTHON 3.10]
« Respuesta #5 en: 7 Noviembre 2022, 23:54 pm »

Hola, el case es un tipo de condicional simple.


Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Sulucionado] string.match no funciona
Desarrollo Web
Sancho.Mazorka 7 4,499 Último mensaje 23 Febrero 2011, 04:20 am
por Shell Root
[DUDA]Funciona Pygame en Python 3.4.1
Scripting
Proxmond 3 3,515 Último mensaje 11 Julio 2014, 18:44 pm
por Yidu
¿Es la forma correcta de usar match...case? [Python 3.10]
Scripting
Yidu 1 4,327 Último mensaje 9 Diciembre 2021, 15:37 pm
por ErahUnderground
error de sintaxis match case en python
Python
juanfelr 5 6,929 Último mensaje 18 Mayo 2022, 02:11 am
por juanfelr
match-case ¿no son palabras reservadas?
Python
Yidu 1 1,427 Último mensaje 10 Febrero 2025, 16:26 pm
por l3th4l99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines