前几天趁着空闲一点,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
分享到:
相关推荐
然而,Pygame并不直接支持3D图形,但通过一些技巧和扩展,我们可以利用Pygame构建简单的3D渲染引擎。这个项目,"3D_pygame3D_Pygame_3d_",显然就是这样一个尝试,它旨在使用Pygame实现3D图形的基本功能。 首先,让...
PyGame是Python的一个库,它为创建游戏和多媒体应用提供了简单而直观的接口。在本项目中,我们将探讨如何利用PyGame来开发一个简易的画板应用。\n\n首先,我们需要了解PyGame的基础。PyGame的核心是基于SDL(Simple ...
碰撞检测是游戏开发中不可或缺的部分,Pygame提供了简单的矩形碰撞检测`pygame.Rect.colliderect()`,以及更复杂的像素级碰撞检测。开发者还可以自定义碰撞检测算法。 最后,Pygame社区非常活跃,提供了大量的教程...
Pygame被广泛应用于教学中,帮助开发者理解游戏编程的基本原理,并且可以用来开发简单的2D游戏。 在描述中提及到Pygame的安装,它可以通过访问***下载对应的平台版本。安装完成后,通过在Python解释器中输入import ...
pygame是Python编程语言中一个非常流行的开源库,用于创建2D游戏和其他交互式图形应用程序。它提供了丰富的功能,包括图像处理、音频播放、窗口管理、事件处理等,使得开发游戏变得简单而直观。在本篇中,我们将深入...
【标题】:Python pygame简单实现植物大战僵尸 在Python编程领域,pygame库是一个非常流行的用于创建2D游戏的模块。本项目"植物大战僵尸"的实现,就是利用pygame库的功能来构建一个简单的游戏环境,模拟经典游戏...
【Pygame小作品】简易画板是一款基于Python的图形用户界面应用,利用Pygame库创建了一个功能丰富的电子画板。Pygame是Python编程语言中一个用于开发2D游戏和多媒体应用的库,它包含了多种模块,如窗口管理器、事件...
Pygame是Python的一个扩展库,主要用于开发2D游戏,但其丰富的功能也可以应用于多媒体应用,如音乐播放器。 在这款小作品中,有以下几个关键知识点: 1. **获取文件夹下音乐列表**:首先,程序需要能够遍历指定...
可以使用`pygame.draw`模块绘制简单的几何形状,如线条、矩形、圆等。 7. **帧率控制** 使用`pygame.time.Clock`来限制游戏的帧率,避免运行过快。例如,限制每秒更新60次: ```python clock = pygame.time....
我们可以推测这些文件可能构成了一个简单的图形界面应用,用于实现基本的绘图功能。 首先,让我们深入了解一下"画板.py"。这很可能是一个Python程序,它可能使用了如Tkinter、PyQt或wxPython等库来构建一个图形用户...
1. **初始化**: 游戏开始时,需要调用`pygame.init()`来初始化所有Pygame模块。这将确保你可以使用Pygame提供的各种功能,如显示窗口、加载图像、播放音乐等。 2. **创建窗口**: 使用`pygame.display.set_mode()`...
下面是一个简单的Pygame程序,创建一个窗口并在其中显示一个红色的正方形: ```python import pygame pygame.init() # 设置窗口大小 win_size = (500, 500) win = pygame.display.set_mode(win_size) # 定义颜色...
1. 安装与设置:Pygame可以通过Python的pip工具轻松安装。在命令行中输入`pip install pygame`即可完成安装。一旦安装完毕,开发者可以导入pygame模块,开始创建游戏项目。 2. 初始化:在编写游戏代码之前,需要先...
1. 初始化与窗口:Pygame首先需要初始化,`pygame.init()`函数可以加载所有必要的子模块。然后,`pygame.display.set_mode()`用于创建游戏窗口,你可以指定窗口的大小和类型。 2. 图像与表面:在Pygame中,图像通常...
pygame.draw.ellipse(screen, (0, 255, 0), (300, 300, 150, 100), 1) pygame.display.update() ``` 该示例程序实现了以下功能: - 绘制一条白色线段 - 绘制一个白色的实心圆 - 绘制一个白色的矩形 - 绘制一个...
在本项目中,我们看到的是使用Python的Pygame库构建的一个可视化简易计算器。Pygame是Python的一个库,主要用于开发2D游戏和图形用户界面,它提供了丰富的功能,如窗口管理、事件处理、颜色管理以及图像绘制等。 ...
1. **Pygame基本结构**:每个Pygame程序通常包含初始化、主循环、事件处理、渲染和退出等部分。例如,`pygame.init()`用于初始化Pygame,`while True`循环用于持续运行游戏,`pygame.event.get()`用于处理用户输入和...
pygame马里奥.zip是一个包含使用Python的pygame库开发的简易马里奥游戏的压缩包。这个项目展示了如何利用pygame库创建一个2D平台游戏,它包括4个不同的关卡,并且包含了游戏所需的图像资源和代码文件。pygame是...
1. **初始化与窗口管理**:使用`pygame.init()`来初始化所有Pygame组件,然后通过`pygame.display.set_mode()`创建游戏窗口,指定窗口的大小和模式。 2. **图像处理**:Pygame支持加载、显示和操作图像。`pygame....
Pygame是基于Python编程语言的一个开源库,专用于开发2D游戏和其他多媒体应用。它的最新版本为2.1.2,提供了丰富的功能和优化,旨在让游戏开发变得更加简单易行。在Pygame 2.1.2中,开发者可以利用其强大的功能来...