学习了pygame,身为一个IKUN所以,做了一个简单的小游戏。游戏规则是,使用键盘的方向键控制坤坤,当坤坤触碰到篮球,就会爆发出音乐”只因你太美“。代码如下:
import random
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((495,299))
pygame.display.set_caption("篮球和鸡") #显示标题
icon = pygame.image.load("坤.webp")
pygame.display.set_icon(icon) #显示标题图像
bgImg = pygame.image.load("篮球和鸡.webp") #背景图#添加音效
#pygame.mixer.music.load("鸡你太美.mp3")
#pygame.mixer.music.play(-1)
bao_sound = pygame.mixer.Sound("鸡太美.mp3")#玩家移动和玩家位置
playerX=100
playerY=200
playerStep_X=0
playerStep_Y=0
playerImg = pygame.image.load("坤球.png") #导入游戏人物50*58#篮球移动和篮球位置
ballX= random.randint(100,400)
ballY= random.randint(20,150)
ballStep=1 #篮球速度
ballImg = pygame.image.load("篮球.png") #导入篮球50*37#def process_events():def delay():for i in range(1,101):for q in range(1,301):pass#篮球类
class Balls():def __init__(self):self.img = pygame.image.load("篮球.png")self.x = random.randint(100,400)self.y = random.randint(20,150)self.step = random.randint(2,6)balls = []
number_of_balls =6
for i in range (number_of_balls):balls.append(Balls())#游戏主循环
while True:screen.blit(bgImg,(0,0))screen.blit(playerImg, (playerX, playerY))for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()if event.type == pygame.KEYDOWN:if event.key == pygame.K_RIGHT:playerStep_X = 1elif event.key == pygame.K_LEFT:playerStep_X = -1
# playerX += playerStep_Xif event.type == pygame.KEYUP:playerStep_X = 0if event.type == pygame.KEYDOWN:if event.key == pygame.K_UP:playerStep_Y = -1elif event.key == pygame.K_DOWN:playerStep_Y = 1
# playerY += playerStep_Yif event.type == pygame.KEYUP:playerStep_Y = 0#导入一个篮球screen.blit(ballImg, (ballX, ballY))ballX += ballStepif(ballX > 450 or ballX < 0):ballStep *= -1ballY += 3if ballY >= 350:ballY = 0# #导入多个篮球# for e in balls:# screen.blit(e.img,(e.x,e.y))# e.x += e.step# if(e.x > 450 or e.x < 0):# e.step *= -1# e.y += 13# if e.y >=299:# e.y = 0#键盘控制上下左右移动if playerX >= 450:playerX = 450elif playerX <=0:playerX = 0playerX += playerStep_Xif playerY <= 0:playerY = 0elif playerY >=250:playerY =250playerY += playerStep_Yif (ballX <= playerX-2 and ballY+10 >= playerY):bao_sound.play()ballX = random.randint(100, 400)ballY = random.randint(20, 150)pygame.display.update()
运行的结果图如下
图片可以根据自己的要求自行更改。游戏很简单,但是所学习的东西有很多,也算是一次不错的收获。