pygame星空接宝石鼠标移动游戏

pygame太空接宝石

"""有个大学生叫我帮他做的一个pygame小游戏,操作一个像头盔一样的角色以去接宝石,不小心接到灭霸游戏就结束了。

太空接宝石,宝石是画的各种颜色的圆圈。敌人用的是灭霸的图像。用鼠标操作一个铠甲样的图形去接宝石。
接到宝石加10分,接到灭霸游戏结束。
"""

import pygame
from pygame.locals import *
from random import randint

class Gemstone(pygame.sprite.Sprite):
    
    def __init__(self,screen,group):
        """
           实始化, radius“半径“,screen:所在屏幕,group:所在组
        """        
        pygame.sprite.Sprite.__init__(self)    # 初始化父类
        self.sw = screen.get_width()           # 屏幕宽席
        self.sh = screen.get_height()          # 屏幕高度
        radius = randint(10,20)
        self.image = pygame.Surface((radius*2,radius*2)) # 新建surface,代表它的图形
        self.image.set_colorkey((0,0,0))
        color = randint(0,255),randint(0,255),randint(0,255) #  随机RGB颜色
        pygame.draw.circle(self.image,color,(radius,radius),radius)
         
        self.rect = self.image.get_rect()      # 获取矩形对象
        position = randint(0,self.sw),randint(-200,-50)
        self.rect.center = position            # 定矩形的位置
        self.dx = 0                            # 水平方向单位位移
        self.dy = randint(9,15)                # 垂直方向单位位移 
        group.add(self)       

    def update(self):
        """更新坐标"""
        self.rect.move_ip(self.dx,self.dy)     # 移动矩形
        self.bottom_detect()                   # 碰到底检测
        
    def bottom_detect(self):
        """碰到边缘就反弹"""
        if self.rect.top>self.sh : self.kill()

class Enemy(pygame.sprite.Sprite):
    
    def __init__(self,image,screen,group):
        """
           实始化, image:图像,screen:所在屏幕,group:所在组
        """        
        pygame.sprite.Sprite.__init__(self)    # 初始化父类
        self.sw = screen.get_width()           # 屏幕宽席
        self.sh = screen.get_height()          # 屏幕高度        
        self.image = image                     # 代表它的图形          
        self.rect = self.image.get_rect()      # 获取矩形对象
        position = randint(0,self.sw),randint(-200,-50)
        self.rect.center = position            # 定矩形的位置
        self.dx = 0                            # 水平方向单位位移
        self.dy = randint(15,20)               # 垂直方向单位位移 
        group.add(self)       

You must log in to read the rest of this article. Please log in or register as a user.