#!/usr/bin/env python import sys,pygame,random from pygame.locals import * def cerrar(): pygame.quit() sys.exit(0) def cxy(max,min=3): x1 = random.randint(min, max) y1 = random.randint(min, max) return x1,y1 def main(): w = pygame.display.set_mode((300,300)) reloj = pygame.time.Clock() bucle = True snake_color = (103,97,97) carnada_color = (228,38,38) head_color = (39,98,20) direc = random.randint(0,3) ancho = 10 max = (300 / ancho) - 1 if direc == 0: x1,y1 = cxy(max) xysnake = [(x1,y1),(x1,y1-1),(x1,y1-2)] if direc == 1: x1,y1 = cxy(max) xysnake = [(x1-2,y1),(x1-1,y1),(x1,y1)] if direc == 3: x1,y1 = cxy(max) xysnake = [(x1,y1),(x1-1,y1),(x1-2,y1)] if direc == 2: x1,y1 = cxy(max) xysnake = [(x1,y1-2),(x1,y1-1),(x1,y1)] x0,y0 = cxy(max,0) carnada = pygame.Rect(x0 * 10,y0 * 10,ancho,ancho) while bucle == True: w.fill((255,255,255)) pygame.draw.rect(w,carnada_color,carnada,1) x,y = xysnake[0] snake_head = pygame.Rect(x*ancho,y*ancho,ancho,ancho) pygame.draw.rect(w,head_color,snake_head,1) for xy in xysnake[1:]: x , y = xy snake_body = pygame.Rect(x * ancho,y * ancho,ancho,ancho) pygame.draw.rect(w,snake_color,snake_body,1) for e in pygame.event.get(): if e.type == pygame.QUIT: bucle = False break if e.type == pygame.KEYDOWN: if e.key == pygame.K_UP and direc != 0: direc = 2 if e.key == pygame.K_DOWN and direc != 2: direc = 0 if e.key == pygame.K_LEFT and direc != 3: direc = 1 if e.key == pygame.K_RIGHT and direc != 1: direc = 3 if direc == 3: x,y = xysnake[0] x = x + 1 if x > max: x = 0 xysnake.insert(0, (x,y)) xydel = xysnake.pop() if direc == 2: x,y = xysnake[0] y = y -1 if y < 0: y = max xysnake.insert(0, (x,y)) xydel = xysnake.pop() if direc == 1: x,y = xysnake[0] x = x - 1 if x < 0: x = max xysnake.insert(0, (x,y)) xydel = xysnake.pop() if direc == 0: x,y = xysnake[0] y = y +1 if y > max: y = 0 xysnake.insert(0, (x,y)) xydel = xysnake.pop() if xysnake[0] in xysnake[1:]: print "Que pena perdiste" cerrar() if snake_head.colliderect(carnada): carnada = pygame.Rect( random.randint(0, max) * 10, random.randint(0, max) * 10,ancho,ancho) if direc == 1: xysnake.insert(0,(x-1,y)) if direc == 3: xysnake.insert(0,(x+1,y)) if direc == 0: xysnake.insert(0,(x,y+1)) if direc == 2: xysnake.insert(0,(x,y-1)) pygame.display.update() reloj.tick(15) cerrar() if __name__ == '__main__': pygame.init() main()
Mostrando las entradas con la etiqueta pygame. Mostrar todas las entradas
Mostrando las entradas con la etiqueta pygame. Mostrar todas las entradas
jueves, 15 de agosto de 2013
Etiquetado Como: pygame, python, snippets
Codigo Simple Snake con Pygame basado en pygame.Rect
Una de las primeras cosas que hice con Pygame en el clásico juego Snake que en otro tutorial voy a explicar paso a paso su desarrollo, ahora les comparto el código fuente utilizando los Rectángulos de pygame - pygame.Rect
Etiquetado Como: eclipse, pydev, pygame, virtualenv
Damos OK y nos aparecera una lista con los complementos que vamos a instalar seleccionamos solo Pydev y desmarcamos la opcion "Contact all update sites during install to find required software" y luego NEXT > NEXT > Aceptar los terminos > Finish
mientras se va instalando nos va a salir un ventana donde nos pregunta si confiamos en el certificado de Brainwy o Aptana lo seleccionamos y le damos OK cuando ya instala nos pide que reiniciemos eclipse, ahi le damos Restart Now y ya deveriamos tener soporte para programar en python
le damos un nombre a nuestro proyecto y luego en Finish
Ahora dentro de la carpeta del proyecto creamos un entorno virtual en virtualenv recuerda que en eclipse la carpeta del proyecto esta en rutaworkspace/nombreproyecto
en mi caso seria lo siguiente:
Ya tenemos nuestro proyecto y nuestro entornovirtual ahora tenemos que cargar pygame
Configuración de Eclipse para utilizar pygame y virtualenv
En esta entrada vamos a configurar Eclipse para poder codear en python y pygame utilizando virtualenv
Damos por entendido que has instalado eclipse, para poder codear en python vamos a utilizar el plugin PyDEV[1] desarrollado para este ide, lo primero es verificar que no este instalado para esto vamos a Window > Preference y en la barra lateral izquierda vemos la lista de plataformas soportadas si pydev esta en esa lista tienes que pasarte al paso 2 en caso no aparezca procedemos a instalarlo.
1. Instalando Pydev
Para hacerlo mas facil vamos a utilizar "Eclipse Update Manager" por lo que solo nos dirigimos al menú Help > Install New Software > Add
e ingresamos lo siguiente:
Name: PyDev y extensiones
Location: http://pydev.org/updates
e ingresamos lo siguiente:
Name: PyDev y extensiones
Location: http://pydev.org/updates
Damos OK y nos aparecera una lista con los complementos que vamos a instalar seleccionamos solo Pydev y desmarcamos la opcion "Contact all update sites during install to find required software" y luego NEXT > NEXT > Aceptar los terminos > Finish
mientras se va instalando nos va a salir un ventana donde nos pregunta si confiamos en el certificado de Brainwy o Aptana lo seleccionamos y le damos OK cuando ya instala nos pide que reiniciemos eclipse, ahi le damos Restart Now y ya deveriamos tener soporte para programar en python
2. Configurar Eclipse para trabajar con virtualenv
Lo primero que hacemos es crear un nuevo proyecto File > New > Project > PyDev > PyDev Project > Next
le damos un nombre a nuestro proyecto y luego en Finish
Ahora dentro de la carpeta del proyecto creamos un entorno virtual en virtualenv recuerda que en eclipse la carpeta del proyecto esta en rutaworkspace/nombreproyecto
en mi caso seria lo siguiente:
cd /home/neotrons/code/python/prueba virtualenv --no-site-package env
con esto hemos creado nuestro entorno virtual de python que lo usaremos en este proyecto lo que necesitamos es la ruta donde esté el ejecutable del entorno virtual que normalmente esta en rutaworkspace/nombreproyecto/entornovirtual/bin/python en mi caso
/home/neotrons/code/python/prueba/env/bin/python
lo que hacemos ahora es ir a eclipse click derecho en el nombre de proyecto > properties > PyDev - Interpreter/Grammar > Click here to configure an interpreter not listed.
En la nueva ventana damos click en el boton New y en el dialog ingresamos la ruta de nuestro python del virtualenv
Interpreter Name: /home/neotrons/code/python/prueba/env/bin/python
Interpreter Executable: /home/neotrons/code/python/prueba/env/bin/python
en la nueva ventan tambien seleccionamos /urs/lib/python2.7 o la version que te muestre damos Ok > UP > OK y en interpreter seleccionamos el nuevo interprete ingresado > Apply > Ok
Reiniciamos eclipse y listo
En la nueva ventana damos click en el boton New y en el dialog ingresamos la ruta de nuestro python del virtualenv
Interpreter Name: /home/neotrons/code/python/prueba/env/bin/python
Interpreter Executable: /home/neotrons/code/python/prueba/env/bin/python
en la nueva ventan tambien seleccionamos /urs/lib/python2.7 o la version que te muestre damos Ok > UP > OK y en interpreter seleccionamos el nuevo interprete ingresado > Apply > Ok
Reiniciamos eclipse y listo
3. Agregar las bibliotecas de PyGame a nuestro proyecto con Eclipse
Ya tenemos nuestro proyecto y nuestro entornovirtual ahora tenemos que cargar pygame
cd /home/neotrons/code/python/prueba/ source env/bin/activate (env)$ pip install pygame
Para mas detalles pueden ver el tutorial anterior Instalar Pygame utilizando virtualenv, pip y ubuntu
ir a eclipse > click derecho en el proyecto > properties > PyDev-PYTHONPATH > External Libraries > Add source folder
y buscas la ubicacion de pygame rutaworkspace/nombreproyecto/entornovirtual/lib/pythonx.x/site-packages/pygame en mi caso
y buscas la ubicacion de pygame rutaworkspace/nombreproyecto/entornovirtual/lib/pythonx.x/site-packages/pygame en mi caso
/home/neotrons/code/python/prueba/env/lib/python2.7/site-packages/pygame
damos en Apply > Ok y reiniciamos Eclipse y ya tenemos disponibles las clases y metodos de Pygame
Referencias:
Etiquetado Como: pygame, python, virtualenv
En esta entrada la realice para mis amigos de la comunidad Jazzper a si que para arrancar con mi blog decidí incluirla aquí vamos a aprender a instalar Pygame en un entorno Ubuntu > virtualenv > pip
Instalar Pygame utilizando virtualenv, pip y ubuntu
En esta entrada la realice para mis amigos de la comunidad Jazzper a si que para arrancar con mi blog decidí incluirla aquí vamos a aprender a instalar Pygame en un entorno Ubuntu > virtualenv > pip
Que es Pygame?
Pygame[1] es un conjunto de módulos del lenguaje Python que permiten la creación de videojuegos en dos dimensiones de una manera sencilla.
para trabajar sin problemas al momento de desarrollar nos son útiles dos paquetes build-essential[2] y python-dev
para trabajar sin problemas al momento de desarrollar nos son útiles dos paquetes build-essential[2] y python-dev
sudo apt-get install build-essential python-dev
2. Dependencias:
para instalar pygame necesitamos una serie de dependencias podemos instalarlas con esta linea
para instalar pygame necesitamos una serie de dependencias podemos instalarlas con esta linea
sudo apt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev
En caso necesitemos otra dependencias para la compilacion podemos instalarlar haciendo uso de build-dep[4]
sudo apt-get build-dep python-pygame
3. Instalación.
si instalamos pygame directamente en ubuntu lo podemos hacer
si instalamos pygame directamente en ubuntu lo podemos hacer
sudo apt-get install python-pygame
pero que sucede en una instalacion con pip utilzando virtualenv
bueno creamos nuestro entorno virtual "env" en la carpeta de trabajo "pygame"
bueno creamos nuestro entorno virtual "env" en la carpeta de trabajo "pygame"
mkdir pygame cd pygame virtualenv --no-site-package env source env/bin/activate pip install pygame
en el caso que pygame se aya instalado correctamente te saldrá este mensaje en las ultimas 2 lineas
"Successfully installed pygame
Cleaning up..."
"Successfully installed pygame
Cleaning up..."
4. Errores al instalar pygame:
al momento de instalar pygame me he encontrado con varios errores la mayoria los solucione instalando todas las dependencias nesesarias las cuales describo en el paso 2, sin embagor me precente con un problema que googleando parece ser muy convencional pero con poca informacion de solucion, al final encontre la solucion aqui, la cual procedo a explicar
La solución es simple, parte del error nos indica esto
"src/camera.h:42:32: fatal error: linux/videodev.h: No such file or directory
compilation terminated."
al momento de instalar pygame me he encontrado con varios errores la mayoria los solucione instalando todas las dependencias nesesarias las cuales describo en el paso 2, sin embagor me precente con un problema que googleando parece ser muy convencional pero con poca informacion de solucion, al final encontre la solucion aqui, la cual procedo a explicar
La solución es simple, parte del error nos indica esto
"src/camera.h:42:32: fatal error: linux/videodev.h: No such file or directory
compilation terminated."
lo cual significa que no se encontró el archivo linux/videodev.h el cual es llamado en "src/camera.h" para solucioanar esto basta con crear un enlace simbolico de libv4l1-videodev.h con el nombre que nos piden videodev.h para esto hacemos lo siguiente:
Verificar que se tenga instalado libv4l-dev[4] y crear el enlace simbolico
Verificar que se tenga instalado libv4l-dev[4] y crear el enlace simbolico
sudo apt-get install libv4l-dev cd /usr/include/linux sudo ln -s /usr/include/libv4l1-videodev.h videodev.h
ya con este cambio realizamos nuevamente el paso 3 y todo nos debe salir correcto "en caso te salgo algun otro error puedes enviar un comentario adjuntando tu error en un archivo de pastebin"
para comprobar que todo esta correconto entramos a la consola de python e importamos pygame
python
python
import pygame
Listo ya podemos comenzar a trabajar con pygame y virtualenv
Referencias:
Suscribirse a:
Entradas (Atom)