+ -
当前位置:首页 → 问答吧 → 用pygame做一个小游戏(纯是为了兴趣)

用pygame做一个小游戏(纯是为了兴趣)

时间:2011-08-19

来源:互联网

如题:

用pygame做一个小游戏。

发此帖,只是为了兴趣,没有其它的想法,有兴趣可以研究一下,对自己也是一种提高。

最近也是刚刚接触pygame,感觉挺好玩。虽然不是用pygame做东西,但是自己喜欢做一些有兴趣的事。

游戏说明:
1.玩家角色(飞机或者其它都可以)
2.可以与敌人进行对战
3.当敌人子弹落到角色范围内,玩家减血
4.玩家可以攻击敌人

只是一个单纯的像飞机对战这种小游戏。如果喜欢就一起动手试试。

如果可以把以上功能实现,可以做为自己的资源上传。供大家学习。

说一下我的大体思路:
1.玩家控制飞机,跟随鼠标事件而变化,单击,射出子弹,代码如下。
# encoding: utf-8
import pygame
from sys import exit
import random
imprt copy
pygame.init()
white = [255, 255, 255]
black = [0, 0, 0]
green = [0, 255, 0]
screen = pygame.display.set_mode((400, 400))
fly = pygame.image.load('fly.gif')
ballrect = ball.get_rect()
pygame.mixer.init()
sound = pygame.mixer.music.load('voide.mp3')
pygame.mixer.music.play()
while True:
  for event in pygame.event.get():
  if event.type == pygame.QUIT:
  exit()
  pos = pygame.mouse.get_pos()
  screen.blit(ball, [pos[0]-100, pos[1]-100])
  # 单击鼠标
  if event.type == 5:
  pos = pygame.mouse.get_pos()
  pos_after_y = pos_before_y = copy.deepcopy(pos[1])
  for i in [1, 5]:
  pos_before_y = pos_after_y
  pos_after_y -= 100
  pygame.draw.line(screen, green, pos, [pos[0], pos_after_y])
  pygame.display.update()

未优化过的代码,不要见笑,困得不行。。

2.在游戏场景里添加敌人
  (1):检查玩家射出的子弹是否在敌人的范围内,如在敌人“掉血”
  (2) : 检查敌人射出的子弹是否在玩家的范围内,如在玩家“掉血”

3.程序优化,界面UI优化。

作者: userguanguan   发布时间: 2011-08-19

Python code
基本上每个帖子都要提醒放到代码标签里……乱七八糟没缩进怎么看啊。

作者: iambic   发布时间: 2011-08-20