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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  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,692 veces)
Yidu

Desconectado Desconectado

Mensajes: 133


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: 133


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: 133


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.853


🔵🔵🔵🔵🔵🔵🔵


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
pygame(python)
Scripting
desnight 0 2,575 Último mensaje 29 Febrero 2008, 15:25 pm
por desnight
[Sulucionado] string.match no funciona
Desarrollo Web
Sancho.Mazorka 7 4,386 Último mensaje 23 Febrero 2011, 04:20 am
por Shell Root
[DUDA]Funciona Pygame en Python 3.4.1
Scripting
Proxmond 3 3,426 Ú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,200 Último mensaje 9 Diciembre 2021, 15:37 pm
por ErahUnderground
error de sintaxis match case en python
Python
juanfelr 5 6,459 Último mensaje 18 Mayo 2022, 02:11 am
por juanfelr
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines