alphabet input game

2021-06-07  本文已影响0人  zxlele_c763

pygame for alphabet input game

common process for random create alphabet information


import random
import os


def AlphabetRandomCreate():
    
    #ascii 'a' to 'z'
    n = random.randint(97, 97+15)
    
    return chr(n);

def GetRandomValue(seed):

    #ascii 'a' to 'z'
    n = random.randint(0, seed)

    return n;

def GetCurrectDir():
    
    currentDir = os.path.abspath('.')
    currentDir = os.path.abspath('.') + '/pygame/resources/'
    return currentDir;

def GetAlphabetDir(alphabet):
    
    pwd = os.path.abspath('.')
    alphabetDir = os.path.abspath('.') + '/pygame/resources/'
    alphabetDir = alphabetDir + alphabet + '.png'    

    return alphabetDir;


def RandomCreateAlphabetDir():
    
    alphabet = AlphabetRandomCreate()
    alphabetDir = GetAlphabetDir(alphabet)

    return (alphabetDir, alphabet)



alphabet rectangle process

alphabet interface


import sys, pygame
import common

def GetCurrentBallRect():

    alphabetInfo = common.RandomCreateAlphabetDir();
    alphabetDict = {'alphabet':alphabetInfo[1], 'dir':alphabetInfo[0]}
    alphabetPicture = pygame.image.load(alphabetDict['dir'])
    alphabetRect = alphabetPicture.get_rect()

    return {'alphabet':alphabetInfo[1], 'picture':alphabetPicture, \
            'rect':alphabetRect, 'ball':alphabetPicture}

def GetRightRect():
    rightDir = common.GetCurrectDir()
    rightDir = rightDir + "right.png"
    rightPicture = pygame.image.load(rightDir)
    rightRect = rightPicture.get_rect()
    return {'rect':rightRect, 'dir':rightDir, 'ball':rightPicture}

def GetFailRect():
    failDir = common.GetCurrectDir()
    failDir = failDir + "fail.png"
    failPicture = pygame.image.load(failDir)
    failRect = failPicture.get_rect()
    return {'rect':failRect, 'dir':failDir, 'ball':failPicture}

main process


#from pygameInterface import GetRightRect
import sys, pygame
import os
import common
import pygameInterface

#pwd = os.path.abspath('.')

pygame.init()
size = width, height = 1500, 900
speed = [0, 1]
#speed = [1, 1]
black = 0, 0, 0

screen = pygame.display.set_mode(size)

"""
balldir = os.path.abspath('.') + '/pygame/resources/'
a_dir = balldir + 'a.png'
ball = pygame.image.load(a_dir)
ballrect = ball.get_rect()
"""

currentRectInfo = pygameInterface.GetCurrentBallRect()
rightRectInfo = pygameInterface.GetRightRect()
failRectInfo = pygameInterface.GetFailRect()

"""
Aball = pygame.image.load(a_dir)
Aballrect = Aball.get_rect()

b_dir = balldir + 'b.png'
Bball = pygame.image.load(b_dir)
Bballrect = Bball.get_rect()
#ballrect = Aballrect


fireball = pygame.image.load(a_dir)
fireballrect = fireball.get_rect()
"""

ballRect = currentRectInfo['rect']
ball = currentRectInfo['ball']
currentAlphabit = ord(currentRectInfo['alphabet'])

randomSeed = width - ballRect.right
randomValue = common.GetRandomValue(randomSeed)

ballRect.left = ballRect.left + randomValue

xValue = ballRect.left
yValue = ballRect.bottom
isInputHappen = False
rightInput = False

while 1:
    isInputHappen = False
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        if pygame.KEYDOWN == event.type:
            isInputHappen = True
            xValue = ballRect.left;
            yValue = ballRect.top;
            if (event.key == currentAlphabit):
                rightInput = True
            else:
                rightInput = False


    #display input whether right 
    if isInputHappen:   
        currentRectInfo = pygameInterface.GetCurrentBallRect()
        ballRect = currentRectInfo['rect']
        ball = currentRectInfo['ball'] 
        currentAlphabit = ord(currentRectInfo['alphabet'])

        randomSeed = width - ballRect.right
        randomValue = common.GetRandomValue(randomSeed)

        ballRect.left = ballRect.left + randomValue
        #isInputHappen = False

        if rightInput:
            fireballrect = rightRectInfo['rect']
            fireball = rightRectInfo['ball']
        else:
            fireballrect = failRectInfo['rect']
            fireball = failRectInfo['ball']

        fireballrect.left = xValue
        fireballrect.top = yValue

        screen.fill(black)
        screen.blit(fireball, fireballrect)
        pygame.display.flip()
        pygame.time.wait(300)
        screen.fill(black)
        pygame.display.flip()
        rightInput = False
        continue

    # display alphabet
    pygame.time.wait(3)
    ballRect = ballRect.move(speed)
    if ballRect.left < 0 or ballRect.right > width:
        speed[0] = -speed[0]
    if ballRect.top < 0 or ballRect.bottom > height:
        speed[1] = -speed[1]

    screen.fill(black)
    screen.blit(ball, ballRect)

    pygame.display.flip()


上一篇下一篇

猜你喜欢

热点阅读