python简单小游戏代码100行,python小游戏程序源代码

本文通过100行Python代码详细介绍了如何实现一个接球打砖块的小游戏,涵盖了多父类继承、碰撞检测的数学模型等关键知识点。游戏包括球的运动、球拍控制、砖块布局和碰撞检测等功能,同时展示了游戏的运行效果和代码实现。
摘要由CSDN通过智能技术生成

大家好,本文将围绕python简单小游戏代码100行展开说明,python小游戏代码能用的是一个很多人都想弄明白的事情,想搞清楚python小游戏程序源代码需要先了解以下几个事情。

这次用Python实现的是一个接球打砖块的小游戏,需要导入pygame模块,有以下两条经验总结:

1.多父类的继承2.碰撞检测的数学模型

知识点稍后再说,我们先看看游戏的效果和实现:

一、游戏效果

201905181402364.gif

二、游戏代码

#导入模块

import pygame

from pygame.locals import *

import sys,random,time,math

class GameWindow(object):

'''创建游戏窗口类'''

def __init__(self,*args,**kw):

self.window_length = 600

self.window_wide = 500

#绘制游戏窗口,设置窗口尺寸

self.game_window = pygame.display.set_mode((self.window_length,self.window_wide))

#设置游戏窗口标题

pygame.display.set_caption("CatchBallGame")

#定义游戏窗口背景颜色参数

self.window_color = (135,206,250)

def backgroud(self):

#绘制游戏窗口背景颜色

self.game_window.fill(self.window_color)

class Ball(object):

'''创建球类'''

def __init__(self,*args,**kw):

#设置球的半径、颜色、移动速度参数

self.ball_color = (255,215,0)

self.move_x = 1

self.move_y = 1

self.radius = 10

def ballready(self):

#设置球的初始位置、

self.ball_x = self.mouse_x

self.ball_y = self.window_wide-self.rect_wide-self.radius

#绘制球,设置反弹触发条件

pygame.draw.circle(self.game_window,self.ball_color,(self.ball_x,self.ball_y),self.radius)

def ballmove(self):

#绘制球,设置反弹触发条件

pygame.draw.circle(self.game_window,self.ball_color,(self.ball_x,self.ball_y),self.radius)

self.ball_x += self.move_x

self.ball_y -= self.move_y

#调用碰撞检测函数

self.ball_window()

self.ball_rect()

#每接5次球球速增加一倍

if self.distance < self.radius:

self.frequency += 1

if self.frequency == 5:

self.frequency = 0

self.move_x += self.move_x

self.move_y += self.move_y

self.point += self.point

#设置游戏失败条件

if self.ball_y > 520:

self.gameover = self.over_font.render("Game Over",False,(0,0,0))

self.game_window.blit(self.gameover,(100,130))

self.over_sign = 1

class Rect(object):

'''创建球拍类'''

def __init__(self,*args,**kw):

#设置球拍颜色参数

self.rect_color = (255,0,0)

self.rect_length = 100

self.rect_wide = 10

def rectmove(self):

#获取鼠标位置参数

self.mouse_x,self.mouse_y = pygame.mouse.get_pos()

#绘制球拍,限定横向边界

if self.mouse_x >= self.window_length-self.rect_length//2:

self.mouse_x = self.window_length-self.rect_length//2

if self.mouse_x <= sel

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值