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

livesguan 2011-08-19 11:47:05
如题:

用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优化。
...全文
1080 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mark063 2011-10-04
  • 打赏
  • 举报
回复
帮顶!!
livesguan 2011-09-06
  • 打赏
  • 举报
回复
python论坛好久没有更将帖子了.
black_eye_ 2011-09-03
  • 打赏
  • 举报
回复
有木有兴趣写个帝国时代2
tangxianghenggood 2011-09-03
  • 打赏
  • 举报
回复
给力啊
bopcool 2011-09-03
  • 打赏
  • 举报
回复

# 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()

iambic 2011-08-20
  • 打赏
  • 举报
回复
基本上每个帖子都要提醒放到代码标签里……乱七八糟没缩进怎么看啊。

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧