`
bingyu
  • 浏览: 42326 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Pygame简单应用(1)

阅读更多

  前几天趁着空闲一点,MyEclpse又跑的慢,懒的开,就开始琢磨Python了。简单的学习了一下Pygame。仿照着例子编了点代码。

  这段代码的功能就是控制绿的方块去碰撞白色的方块,撞到一起的时候,白色方块会消失,绿色方块会变大,继而在另外一个随机的地方出现一个白色的方 块,等于贪吃蛇的雏形了。如果再加上点复杂逻辑,不是让绿色方块简单的变大,而是形成一个方块的列表,在方块的“头”移动时,判断方向,可以转弯,就可以 实现贪吃蛇的效果了。

 

附上代码:

import pygame,sys,random
from pygame.locals import *

pygame.init()
mainClock = pygame.time.Clock()

# set up the window
WINDOWWIDTH = 400
WINDOWHEIGHT = 400
windowSurface = pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT),0,32)
pygame.display.set_caption('Test')

# set up the colors
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
WHITE = (255, 255, 255)

# set up movement variables
moveLeft = False
moveRight = False
moveUp = False
moveDown = False

MOVESPEED = 5

# set up the nake and food data structure
FOODSIZE = 15
player = pygame.Rect(300, 100, 15, 15)
food = pygame.Rect(random.randint(0, WINDOWWIDTH - FOODSIZE), random.randint(0, WINDOWHEIGHT - FOODSIZE), FOODSIZE, FOODSIZE)



while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        if event.type == KEYDOWN:
            # change the keyboard variables             
            if event.key == K_LEFT or event.key == ord('a'):
                moveRight = False
                moveLeft = True
            if event.key == K_RIGHT or event.key == ord('d'):
                moveLeft = False
                moveRight = True
            if event.key == K_UP or event.key == ord('w'):
                moveDown = False
                moveUp = True
            if event.key == K_DOWN or event.key == ord('s'):
                moveUp = False
                moveDown = True
        
        if event.type == KEYUP:
            if event.key == K_ESCAPE:
                pygame.quit()
                sys.exit()
            if event.key == K_LEFT or event.key == ord('a'):
                moveLeft = False
            if event.key == K_RIGHT or event.key == ord('d'):
                moveRight = False
            if event.key == K_UP or event.key == ord('w'):
                moveUp = False
            if event.key == K_DOWN or event.key == ord('s'):
                moveDown = False

    # move the player
    if moveDown and player.bottom < WINDOWHEIGHT:
        player.top += MOVESPEED
    if moveUp and player.top > 0:
        player.top -= MOVESPEED
    if moveLeft and player.left > 0:
        player.left -= MOVESPEED
    if moveRight and player.right < WINDOWWIDTH:
        player.right += MOVESPEED

    # draw the black background onto the surface
    windowSurface.fill(BLACK)
    
    
    
    # check if the player has intersected with any food squares.
    if player.colliderect(food):
        temp = food
        food = pygame.Rect(random.randint(0, WINDOWWIDTH - FOODSIZE), random.randint(0, WINDOWHEIGHT - FOODSIZE), FOODSIZE, FOODSIZE)
        while temp==food:
           food = pygame.Rect(random.randint(0, WINDOWWIDTH - FOODSIZE), random.randint(0, WINDOWHEIGHT - FOODSIZE), FOODSIZE, FOODSIZE) 
        player.height = player.height+15    
    # draw the player onto the surface
    pygame.draw.rect(windowSurface, GREEN, player)
    pygame.draw.rect(windowSurface, WHITE, food)
    
    pygame.display.update()
    mainClock.tick(50)
 

效果图见附件,一个是初始时的,一个是吃了几个白色方块后的。

 

 

 

 

  • 大小: 4.8 KB
  • 大小: 4.8 KB
分享到:
评论

相关推荐

    3D_pygame3D_Pygame_3d_

    然而,Pygame并不直接支持3D图形,但通过一些技巧和扩展,我们可以利用Pygame构建简单的3D渲染引擎。这个项目,"3D_pygame3D_Pygame_3d_",显然就是这样一个尝试,它旨在使用Pygame实现3D图形的基本功能。 首先,让...

    Python开发的PyGame实现简易画板_Demo

    PyGame是Python的一个库,它为创建游戏和多媒体应用提供了简单而直观的接口。在本项目中,我们将探讨如何利用PyGame来开发一个简易的画板应用。\n\n首先,我们需要了解PyGame的基础。PyGame的核心是基于SDL(Simple ...

    pygame中文文档_pygame中文手册_python_

    碰撞检测是游戏开发中不可或缺的部分,Pygame提供了简单的矩形碰撞检测`pygame.Rect.colliderect()`,以及更复杂的像素级碰撞检测。开发者还可以自定义碰撞检测算法。 最后,Pygame社区非常活跃,提供了大量的教程...

    pygame教程.pdf

    Pygame被广泛应用于教学中,帮助开发者理解游戏编程的基本原理,并且可以用来开发简单的2D游戏。 在描述中提及到Pygame的安装,它可以通过访问***下载对应的平台版本。安装完成后,通过在Python解释器中输入import ...

    pygame的Whl包下载

    pygame是Python编程语言中一个非常流行的开源库,用于创建2D游戏和其他交互式图形应用程序。它提供了丰富的功能,包括图像处理、音频播放、窗口管理、事件处理等,使得开发游戏变得简单而直观。在本篇中,我们将深入...

    用Python pygame简单实现植物大战僵尸

    【标题】:Python pygame简单实现植物大战僵尸 在Python编程领域,pygame库是一个非常流行的用于创建2D游戏的模块。本项目"植物大战僵尸"的实现,就是利用pygame库的功能来构建一个简单的游戏环境,模拟经典游戏...

    【Pygame小作品】简易画板

    【Pygame小作品】简易画板是一款基于Python的图形用户界面应用,利用Pygame库创建了一个功能丰富的电子画板。Pygame是Python编程语言中一个用于开发2D游戏和多媒体应用的库,它包含了多种模块,如窗口管理器、事件...

    【Pygame小作品】简易音乐播放器

    Pygame是Python的一个扩展库,主要用于开发2D游戏,但其丰富的功能也可以应用于多媒体应用,如音乐播放器。 在这款小作品中,有以下几个关键知识点: 1. **获取文件夹下音乐列表**:首先,程序需要能够遍历指定...

    pygame 官网文档资料(网页版,英文版)

    可以使用`pygame.draw`模块绘制简单的几何形状,如线条、矩形、圆等。 7. **帧率控制** 使用`pygame.time.Clock`来限制游戏的帧率,避免运行过快。例如,限制每秒更新60次: ```python clock = pygame.time....

    画板画板画板画板画板画板画板

    我们可以推测这些文件可能构成了一个简单的图形界面应用,用于实现基本的绘图功能。 首先,让我们深入了解一下"画板.py"。这很可能是一个Python程序,它可能使用了如Tkinter、PyQt或wxPython等库来构建一个图形用户...

    使用pygame在python中的一个简单游戏_python_代码_下载

    1. **初始化**: 游戏开始时,需要调用`pygame.init()`来初始化所有Pygame模块。这将确保你可以使用Pygame提供的各种功能,如显示窗口、加载图像、播放音乐等。 2. **创建窗口**: 使用`pygame.display.set_mode()`...

    Python库 | pygame-1.9.6rc1-cp36-cp36m-manylinux1_i686.whl

    下面是一个简单的Pygame程序,创建一个窗口并在其中显示一个红色的正方形: ```python import pygame pygame.init() # 设置窗口大小 win_size = (500, 500) win = pygame.display.set_mode(win_size) # 定义颜色...

    pygame-1.9.1release

    1. 安装与设置:Pygame可以通过Python的pip工具轻松安装。在命令行中输入`pip install pygame`即可完成安装。一旦安装完毕,开发者可以导入pygame模块,开始创建游戏项目。 2. 初始化:在编写游戏代码之前,需要先...

    Pygame官方手册(官方API)正版3美金下载的4000.zip

    1. 初始化与窗口:Pygame首先需要初始化,`pygame.init()`函数可以加载所有必要的子模块。然后,`pygame.display.set_mode()`用于创建游戏窗口,你可以指定窗口的大小和类型。 2. 图像与表面:在Pygame中,图像通常...

    python Pygame的具体使用讲解

    pygame.draw.ellipse(screen, (0, 255, 0), (300, 300, 150, 100), 1) pygame.display.update() ``` 该示例程序实现了以下功能: - 绘制一条白色线段 - 绘制一个白色的实心圆 - 绘制一个白色的矩形 - 绘制一个...

    python+pygame+可视化简易计算器

    在本项目中,我们看到的是使用Python的Pygame库构建的一个可视化简易计算器。Pygame是Python的一个库,主要用于开发2D游戏和图形用户界面,它提供了丰富的功能,如窗口管理、事件处理、颜色管理以及图像绘制等。 ...

    Python源码游戏源码-01 pygame-games(13个).rar

    1. **Pygame基本结构**:每个Pygame程序通常包含初始化、主循环、事件处理、渲染和退出等部分。例如,`pygame.init()`用于初始化Pygame,`while True`循环用于持续运行游戏,`pygame.event.get()`用于处理用户输入和...

    pygame马里奥.zip

    pygame马里奥.zip是一个包含使用Python的pygame库开发的简易马里奥游戏的压缩包。这个项目展示了如何利用pygame库创建一个2D平台游戏,它包括4个不同的关卡,并且包含了游戏所需的图像资源和代码文件。pygame是...

    pygame-1.9.3.dist

    1. **初始化与窗口管理**:使用`pygame.init()`来初始化所有Pygame组件,然后通过`pygame.display.set_mode()`创建游戏窗口,指定窗口的大小和模式。 2. **图像处理**:Pygame支持加载、显示和操作图像。`pygame....

    Pygame2.1.2

    Pygame是基于Python编程语言的一个开源库,专用于开发2D游戏和其他多媒体应用。它的最新版本为2.1.2,提供了丰富的功能和优化,旨在让游戏开发变得更加简单易行。在Pygame 2.1.2中,开发者可以利用其强大的功能来...

Global site tag (gtag.js) - Google Analytics