La parte del menu, por ejemplo, se podría poner así:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygame, random
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((600,400),0,32)
fondo = pygame.Surface((600,400))
boton = pygame.Surface((100,25))
boton.fill((100,100,255))
fuente = pygame.font.Font(None, 20)
cadena=""
def menu():
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == MOUSEBUTTONDOWN:
x_mouse, y_mouse = pygame.mouse.get_pos()
if 250 <= x_mouse <= 350 and 200 <= y_mouse <= 225:
jugar()
elif 250 <= x_mouse <= 350 and 275 <= y_mouse <= 300:
instrucciones()
elif 250 <= x_mouse <= 350 and 350 <= y_mouse <= 375:
exit()
screen.blit(fondo,(0,0))
screen.blit(boton,(250,200))
screen.blit(boton,(250,275))
screen.blit(boton,(250,350))
pygame.display.update()
while True:
screen.blit(fondo,(0,0))
screen.blit(fuente.render(cadena + "_", True, (255,255,255)),(200,300))
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
cadena = cadena + event.unicode
def instrucciones():
instrucciones = ["INSTRUCCIONES DE JUEGO"]
instrucciones.append("")
instrucciones.append("")
instrucciones.append("El juego del ahorcado consiste en adivinar una palabra escondida bajo guiones bajos.")
instrucciones.append("Para jugar, simplemente debemos ingresar las")
instrucciones.append("letras que creamos que la palabra escondida tiene")
instrucciones.append("Si en determinado momento decides que ya sabes cual es esa palabra, ")
instrucciones.append("puedes introducirla, pero cuidado, solo tienes seis vidas!")
instrucciones.append("MUCHA SUERTE")
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == MOUSEBUTTONDOWN or event.type == KEYDOWN:
jugar()
screen.blit(fondo,(0,0))
for a in range(len(instrucciones)):
tamano = fuente.size(instrucciones[a])
linea = fuente.render(instrucciones[a], True, (255,255,255))
screen.blit(linea,(300-tamano[0]/2,100+tamano[1]*a))
pygame.display.update()
def juego():
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
menu()
Eso es sin la parte del juego,
para eso lo que podrias hacer sería, en vez de la linea que dice
a=raw_input("Ingrese la letra que usted cree se encuentra en la palabra o la palabra completa si cree conocerla: ")
poner algo como
a=""
loop = True
texto = "Ingrese la letra que usted cree se encuentra en la palabra o la palabra completa si cree conocerla: "
while loop == True:
screen.blit(fondo,(0,0))
screen.blit(fuente.render(texto, True, (255,255,255)),(50,250))
screen.blit(fuente.render(a + "_", True, (255,255,255)),(200,300))
pygame.display.update()
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_BACKSPACE:
if len(a)>0:
a = a[0:len(a)-1]
if event.key == pygame.K_RETURN:
loop = False
else:
a = a + event.unicode
y despues seguiria con tu codigo, solo habria que cambiarle la forma de imprimir.