lunes, 27 de mayo de 2019

Juego: Ahorcado (Países).

Se realizó el juego del ahorcado, tomando este una lista .txt de países seleccionada con un random y el usuario tiene que adivinar qué país ha seleccionado el programa. Esto con la ayuda de la librería Tkinter.

       
from random import randrange
from Tkinter import *
import sys

def dibujar_muneco(opcion):
    if opcion == 1:
        # CREAR EL YUGO
        C.create_line(580, 150, 580, 320, width=4, fill="blue")
        # CREAR LA CABEZA
        C.create_oval(510, 150, 560, 200, width=2, fill='PeachPuff')

    if opcion == 2:
        # CREAR EL TRONCO
        C.create_line(535, 200, 535, 290, width=2)

    if opcion == 3:
        # CREAR LA PIERNA IZQUIERDA
        C.create_line(535, 290, 510, 320, 500, 320, width=2)

    if opcion == 4:
        # CREAR LA PIERNA DERECHA
        C.create_line(535, 290, 560, 320, 550, 320, width=2)

    if opcion == 5:
        # CREAR LA MANO IZQUIERDA
        C.create_line(535, 230, 510, 250, 500, 250, width=2)

    if opcion == 6:
        # CREAR LA MANO DERECHA
        C.create_line(535, 230, 560, 250, 550, 270, width=2)

    if opcion == 7:
        # CREAR LA SOGA
        C.create_line(510, 210, 580, 210,width=4, fill="blue")


def obtener_palabra():
    global adivinar, oportunidades, fin_juego, numerradas, palabra, digitadas
    
    # APERTURA DEL ARCHIVO DE PALABRAS (117 PAISES)
    # SOLO LECTURA
    try:
 fp = open ("C:\Python27\Paises.txt","r")
    except IOError:
 print "NO SE PUDO ABRIR EL ARCHIVO. VERIFIQUE EL PATH O SI EL ARCHIVO EXISTE"
 sys.exit()
    
    # OBTENCION DE UN NUMERO ALEATORIO.
    num = randrange(1,118,1)

    # ADIVINAR ES LA PALABRA QUE SE VA A TOMAR DEL ARCHIVO DE PALABRAS Y QUE
    # EL USUARIO DEBE ADIVINAR.
    for i in range (1,118,1):
        if i == num:
            adivinar = (fp.readline()).split(" ")
        else:
            fp.readline()
    fp.close()

    # LISTA MOSTRADA EN PANTALLA PARA LA PALABRA A ENCONTRAR
    palabra = [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]

    # LISTA CON LAS LETRAS ERRADAS DIGITADAS POR EL USUARIO
    digitadas = [" ", " ", " ", " ", " ", " ", " "]

    #VARIABLES DEL JUEGO
    oportunidades = 7
    fin_juego = 0
    # NUMERO DE LETRAS ERRADAS DIGITADAS
    numerradas = 0

    i = 0
    while i

Figuras 3D: Gráfica de barras.

Se realizaron unas graficas de barras con un menú para el ajuste dependiendo de qué ángulo queramos verlas. Esto con la ayuda de la librería matplotlib la cual es necesario que instalemos con la herramienta pip.
 
       
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt


fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d')

xpos = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
ypos = [2,3,4,5,1,6,2,1,7,2,3,5,1,3,2]
num_elements = len(xpos)
zpos = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
dx = dy =dz = [20,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

ax1.bar3d(xpos, ypos, zpos, dx, dy, dz, color='lightgreen')
plt.show()
       

Figuras 3D: Cubo.

Se realizó un cubo en 3D con ayuda de la librería OpenGL.


       
import pygame
from pygame.locals import *

from OpenGL.GL import *
from OpenGL.GLU import *

verticies = (
    (1, -1, -1),
    (1, 1, -1),
    (-1, 1, -1),
    (-1, -1, -1),
    (1, -1, 1),
    (1, 1, 1),
    (-1, -1, 1),
    (-1, 1, 1)
    )

edges = (
    (0,1),
    (0,3),
    (0,4),
    (2,1),
    (2,3),
    (2,7),
    (6,3),
    (6,4),
    (6,7),
    (5,1),
    (5,4),
    (5,7)
    )
surfaces = (
    (0,1,2,3),
    (3,2,7,6),
    (6,7,5,4),
    (4,5,1,0),
    (1,5,7,2),
    (4,0,3,6)
    )

colors = (
    (1,0,0),
    (0,1,0),
    (0,0,1),
    (0,1,0),
    (1,1,1),
    (0,1,1),
    (1,0,0),
    (0,1,0),
    (0,0,1),
    (1,0,0),
    (1,1,1),
    (0,1,1),
    )

def Cube():
    glBegin(GL_QUADS)
    for surface in surfaces:
        x = 6
        for vertex in surface:
            x+=1
            glColor3fv(colors[x])
            glVertex3fv(verticies[vertex])
    glEnd()
    glBegin(GL_LINES)
    for edge in edges:
        for vertex in edge:
            glVertex3fv(verticies[vertex])
    glEnd()


def main():
    pygame.init()
    display = (800,800)
    pygame.display.set_mode(display, DOUBLEBUF|OPENGL)

    gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)

    glTranslatef(0.0,0.0, -5)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

        glRotatef(1, 3, 1, 1)
        glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
        Cube()
        pygame.display.flip()
        pygame.time.wait(10)


main()