Ir al contenido principal

Programa de figuras - Turtle

En esta ocasión les traigo un programa en el cual abarcamos muchos de los temas vistos en clases y un poco más de investigación que fue realizada por mi parte.
Lo que realiza el programa son una serie de preguntas que se irán repitiendo conforme lo estés utilizando, creando las figuras que están por defecto o creando una figura tú mismo y si te aburres puedes escuchar música mientras lo haces con una nueva librería que he importado que les explicare más adelante de donde descargarla y como instalarla en su python (en el sistema operativo Windows).
Sin más les dejo unas cuantas capturas de lo que realiza el programa:
Despues de poner la figura que queremos, nos preguntara de que color queremos el lapiz y el relleno de la figura, escogí para el lapiz: blue y el relleno: green (NOTA: cuando escribas los colores hazlo en ingles), despues te pregunta si quieres ver la flecha haciendo la figura o no y por ultimo el grosor del lapiz: 4 y este seria el resultado
Si ponemos si en el cuadro de texto anterior nos borrara la figura y mostrara de nuevo la lista de figuras o si lo prefieres puedes hacer una figura tu mismo
En este caso quiero hacer una figura
Nos saldran varias preguntas que seran si quieres poner le un color al lapiz, si es si le das el color (en ingles) y te lo cambiara, en este caso use el red (rojo) y despues te preguntara si quieres cambiarle el grosor al lapiz, si es si le das el numero de grosor que deseas, ya por ultimo te pedira las coordenadas de X y Y
Ya habiendole dando toda esa información hace la linea y te preguntara que si quieres hacer otra linea, si pones que si hara lo mismo hasta que pongas no y parara
Y este es un ejemplo que hice con diferentes colores y grosores de lapiz
Y por ultimo si ya no quieres ver y/o hacer figuras te saldra ese mensaje con mi nombre y
agradeciendote por a ver utilizado mi programa.

Código:
import turtle
import tkSimpleDialog
import tkMessageBox
import pygame
from pygame.locals import *

t=turtle.Turtle()
turtle.title("Figuras")
fondo=turtle.Screen()
fondo.bgcolor('#B400FF')
#t.speed(100)

def colores():
c1=tkSimpleDialog.askstring("Lapiz","Escribe el color del lapiz:")
c2=tkSimpleDialog.askstring("Relleno","Escribe el color del relleno:")
return t.color(c1, c2)

def vt():
p=tkSimpleDialog.askstring("Pregunta","Deseas ver la pluma? (si/no)")
if p=="si":
t.showturtle()
elif p=="no":
t.hideturtle()

def song(r):
pygame.init()
if r=="si":
pr=tkSimpleDialog.askstring("Cancion","Elige entre: \n1.- Valle Gerudo.\n2.- Lost Woods.\n(1 o 2)")
if pr=="1":
pygame.mixer.music.load("cancion que quieras (.mp3, .wav, etc)")
pygame.mixer.music.play(4)
elif pr=="2":
pygame.mixer.music.load("cancion que quieras (.mp3, .wav, etc)")
pygame.mixer.music.play(6)

def action():
t.penup()
t.goto(0,0)
t.pendown()
t.clear()
tkMessageBox.showinfo("Tipos de figuras","Figuras para escojer: \ncuadrado.\nrectangulo.\ntriangulo.\ncirculo."
"\nrombo.\noctangulo.\nestrella.\nmolino de viento.\ncrear.")
p=tkSimpleDialog.askstring("Figura","Escribe la figura que deseas hacer:")
if p!="crear":
fig(p)
elif p=="crear":
create("si")

def fig(op):
colores()
vt()
g=tkSimpleDialog.askinteger("Pluma", "Grosor de la pluma:")
if op=="cuadrado":
t.pensize(g)
t.begin_fill()
t.goto(75, 0)
t.goto(75, 75)
t.goto(0,75)
t.goto(0,0)
t.end_fill()
elif op=="rectangulo":
t.pensize(g)
t.begin_fill()
t.goto(145, 0)
t.goto(145, 75)
t.goto(0,75)
t.goto(0,0)
t.end_fill()
elif op=="triangulo":
t.begin_fill()
t.pensize(g)
for _ in xrange(3):
t.fd(100)
t.left(120)
t.end_fill()
elif op=="circulo":
t.begin_fill()
t.pensize(g)
for i in range(24):
t.forward(10)
t.right(10)
for j in range(1):
t.forward(10)
t.right(5)
t.end_fill()
elif op=="rombo":
t.pensize(g)
t.begin_fill()
t.goto(40, -40)
t.goto(80, 0)
t.goto(40,40)
t.goto(0,0)
t.end_fill()
elif op=="octangulo":
t.pensize(g)
t.begin_fill()
for i in range(4):
t.forward(100)
t.right(45)
for j in range(1):
t.forward(100)
t.right(45)
t.end_fill()
elif op=="estrella":
t.pensize(g)
for i in range(28):
t.forward(100)
t.right(150)
for j in range(1):
t.forward(100)
t.right(145)
elif op=="molino de viento":
t.pensize(g)
t.goto(0,80)
t.begin_fill()
for i in range(30):
t.goto(0,140)
t.forward(100)
t.right(150)
for j in range(1):
t.forward(100)
t.right(145)
t.end_fill()

def create(re):
while re=="si":
if re=="si":
p=tkSimpleDialog.askstring("Color", "Quieres poner un color al lapiz?")
if p=="si":
c=tkSimpleDialog.askstring("Color", "Dame el color del lapiz:")
pre2=tkSimpleDialog.askstring("Lapiz", "Quieres darle otro grosor al lapiz?")
if pre2=="si":
g=tkSimpleDialog.askinteger("Lapiz", "Grosor del lapiz:")
t.begin_fill()
t.pencolor(c)
t.pensize(g)
x=tkSimpleDialog.askinteger("Coordenadas","Dame los grados en x:")
y=tkSimpleDialog.askinteger("Coordenadas","Dame los grados en y:")
t.goto(x,y)
t.end_fill()
re=tkSimpleDialog.askstring("Crear figura","Quieres hacer otra linea?")
tkMessageBox.showinfo("Creacion de figura","Figura creada!!")

p=tkSimpleDialog.askstring("Cancion","Quieres escuchar algo de musica? (si/no)")
song(p)

pre=tkSimpleDialog.askstring("Pregunta","Quieres escoger una figura? (si/no)")
while pre=="si":
action()
c=tkSimpleDialog.askstring("Pregunta","Quieres cambiar de cancion? (si/no)")
if c=="si":
song(c)
pre=tkSimpleDialog.askstring("Pregunta","Quieres escoger otra figura? (si/no)")

if pre=="no":
tkMessageBox.showinfo("Armando Monreal","Gracias por usar mi programa!!")

turtle.done()

Explicación de instalación (pygame):
Para descargar pygame vamos a esta dirección web: https://www.pygame.org/download.shtml o http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame y escogen la version que tengan de python, ya sea de 32 o 64.
Ya una vez descargardo la libreria veremos como instalar pygame, busacamos la libreria donde la guardaron y copiamos la ruta.
Ahora abrimos el cmd y ponemos cd más la ruta donde este guardada la libreria y damos enter, despues ponemos pip install pygame-1.9.3-cp27-cp27m-win32.whl, yo descargué esa versión si ustedes descargaron una versión diferen solo copien el nombre del archivo que descargaron, damos a enter y listo.
NOTA: a mi me sale asi porque ya lo tengo a ustedes debe de salirle unas lestras amarillas o algo diferente de eso. Para verificar que se instalo correctamente en python o en cualquier otro editor de texto que usemos, ponemos import pygame y sino sale ningun error concluimos que la instalacion fue un exito.

Comentarios

Entradas populares de este blog

Juego del gato en python 2.7

Capturas: - Forma visual como se veria nuestro juego. - Para iniciarlo damos en el boton iniciar y te pedira el nombre de dos jugadores. - Muestra de como seria la partida e indica el turno de cada jugador. - Mensaje del ganador (juador 1). - Mensaje del ganador (jugador 2). - Hoy (11/09/2017) le he añadido mas diseño a la ventana del juego y este es el resultado. - El juego se puede reiniciar cuantas veces se quiera sin necesidad de estar abriendo y cerrando el programa, por sino lo notan el cursor cambia de diseño a un lapiz al ponerlo en los botones, espero les guste :3. Código: from Tkinter import * import tkMessageBox import tkSimpleDialog def bloq(): for i in range(0,9):    lisb[i].config(state="disable") def inij(): for i in range(0,9): lisb[i].config(state="normal") lisb[i].config(bg="lightgray") lisb[i].config(text="") tab[i] = "N" global nomj1,nomj2 #indica a q

IDE para python - brackets

La IDE que en lo personal me ha gustado mucho es brackets es open   source y muy como para trabajar, para descargar vamos a su pagina oficial:  http://brackets.io La descargamos y procedemos a intalarlo la IDE pero les saldra diferentes a ustedes porque yo ya le he hecho modificaciones que le mostrare mas adelante como se hacen Para hacer que funcione mejor la interfaz que maneja brackets usaremos distintos plugins que mejores la vista de brackets ya tengo una lista hecha de lo plugins ponermos donde dice buscar y el nombre del plugin y las que mas nos interesan son estas y ya con eso tendriamos nuestra IDE configurada y lista para usarla.

Videojuego en 3D en pygame

Capturas del juego 3D expusto en clase: Carpeta del videojuego dando click  Aquí .