pygame

python2048游戏

余生长醉 提交于 2020-03-13 21:00:54
运行结果: 参考代码: import random import sys import pygame from pygame.locals import * PIXEL = 150 SCORE_PIXEL = 100 SIZE = 4 # 地图的类 class Map: def __init__(self, size): self.size = size self.score = 0 self.map = [[0 for i in range(size)] for i in range(size)] self.add() self.add() # 新增2或4,有1/4概率 def add(self): while True: p = random.randint(0, self.size * self.size - 1) if self.map[p // self.size][p % self.size] == 0: x = (random.randint(0, 3) > 0 and 2) or 4 self.map[p // self.size][p % self.size] = x self.score += x break # 地图向左靠拢,其他方向的靠拢可以通过适当旋转实现,返回地图是否更新 def adjust(self): changed = False for a

python游戏开发

雨燕双飞 提交于 2020-03-13 16:51:34
python游戏开发 开发环境:python3.7+pygame1.9.6 编译开发软件:pycharm2018.3 一、pygame的窗口制作 二、游戏案例1:坦克大战 三、精灵类测试 四、游戏案例2:贪吃蛇 五、游戏案例3:打飞机 六、游戏案例4:2048 一、pygame的窗口制作 1.安装pygame pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame 2.建立pygame项目测试pygame窗口 pygame.init() #重置pygame pygame.display.set_mode((640,480)) #设置窗口大小为640*480 pygame.display.set_caption("pygame") #窗口名称为pygame 测试结果: 完整代码: import pygame from pygame.locals import * import sys def yx_pygame(): pygame.init() pygame.display.set_mode((640,480)) pygame.display.set_caption("pygame") while True: for event in pygame.event.get(): if event.type==QUIT:

pygame——游戏制作案例

风流意气都作罢 提交于 2020-03-13 13:30:18
基于pygame的游戏制作 开发工具:vscode 一、pygame的窗口制作 二、游戏案例1:坦克大战 三、精灵类测试 四、游戏案例2:贪吃蛇 五、游戏案例3:打飞机 六、游戏案例4:2048 一、pygame的窗口制作 基本介绍: 设置窗口大小和窗口名称 导入pygame模块 设置窗口名称:pygame.display.set_caption("hello world") 设置窗口大小: pygame.display.set_mode((640,480)) 参考代码: import pygame from pygame.locals import * import sys def hello_world(): pygame.init() pygame.display.set_mode((640,480)) pygame.display.set_caption("hello world") while True: for event in pygame.event.get(): if event.type==QUIT: pygame.quit() sys.exit() pygame.display.update() if __name__=="__main__": hello_world() 运行结果如图: ###二、游戏案例1:坦克大战 基本介绍:

pygame学习笔记(4)——声音

三世轮回 提交于 2020-03-13 06:35:05
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi pygame.mixer是一个用来处理声音的模块,其含义为“混音器”。游戏中对声音的处理一般包括制造声音和播放声音两部分,这里仅学习了播放声音部分。 1、pygame.mixer启动与初始化 pygame.mixer.init():mixer的初始化。程序中,使用时,一般放在最前面的几句代码中: import pygame pygame.init() pygame.mixer.init() 2、播放声音片段wav文件 播放声音片段wav文件时,pygame.mixer使用Sound对象,格式为: soundwav=pygame.mixer.Sound("filename.wav") #filename.wav文件名 soundwav.play() 在游戏中,往往用下面的代码来完成: #@小五义 http://www.cnblogs.com/xiaowuyi import pygame,sys pygame.init() pygame.mixer.init() screen=pygame.display.set_mode([640,480]) pygame.time.delay(1000)#等待1秒让mixer完成初始化 soundwav=pygame.mixer.Sound("filename

Python打飞机游戏

社会主义新天地 提交于 2020-03-12 19:18:25
运行结果: 参考代码: import pygame from sys import exit from pygame.locals import * import random # 定义类 SCREEN_WIDTH = 480 SCREEN_HEIGHT = 800 TYPE_SMALL = 1 TYPE_MIDDLE = 2 TYPE_BIG = 3 # 子弹类 class Bullet(pygame.sprite.Sprite): def __init__(self,bullet_img,init_pos): pygame.sprite.Sprite.__init__(self) self.image = bullet_img self.rect = self.image.get_rect() self.rect.midbottom = init_pos self.speed = 10 def move(self): self.rect.top -= self.speed # 玩家类 class Player(pygame.sprite.Sprite): def __init__(self, plane_img, player_rect, init_pos): pygame.sprite.Sprite.__init__(self) self.image = [] #

pygame-----2048

本秂侑毒 提交于 2020-03-12 12:05:05
开发工具:pycharm 游戏介绍:通过上下左右键来使相同数字进行叠加,直至相邻之间无相同数字,游戏结束。 程序设计步骤: 1.设置基本参数 PIXEL = 150 SCORE_PIXEL = 100 SIZE = 4 screen = pygame.display.set_mode((PIXEL * SIZE , PIXEL * SIZE + SCORE_PIXEL)) pygame.display.set_caption( "2048" ) block = [pygame.Surface((PIXEL , PIXEL)) for i in range ( 4 )] # 设置颜色 block[ 0 ].fill(( 152 , 251 , 152 )) block[ 1 ].fill(( 240 , 255 , 255 )) block[ 2 ].fill(( 0 , 255 , 127 )) block[ 3 ].fill(( 225 , 255 , 255 )) score_block = pygame.Surface((PIXEL * SIZE , SCORE_PIXEL)) score_block.fill(( 245 , 245 , 245 )) # 设置字体 map_font = pygame.font.Font( None, PIXEL) score_font =

pygame----贪吃蛇

霸气de小男生 提交于 2020-03-12 11:30:28
开发工具:pycharm 游戏介绍:通过按键盘上的WDAS键来实现蛇的移动来吃进食物,使蛇变长,当蛇碰到边界则死亡,界面出现game over 程序设计步骤: 1.导入游戏所需模板 2.设置窗口 3.蛇移动 4.游戏结束约束条件 5.游戏结束界面 一,导入游戏所需模板 import pygame , sys , time , random from pygame.locals import * 二,设置窗口 playSurface=pygame.display.set_mode(( 640 , 480 )) pygame.display.set_caption( "贪吃蛇游戏" ) 三,蛇移动 1. 初始化蛇的长度和一些食物用量 redColor=pygame.Color( 255 , 0 , 0 ) blackColor=pygame.Color( 0 , 0 , 0 ) whiteColor=pygame.Color( 255 , 255 , 255 ) greyColor=pygame.Color( 150 , 150 , 150 ) snakePosition=[ 100 , 100 ] snakeSegments=[[ 100 , 100 ] , [ 80 , 100 ] , [ 60 , 100 ]] raspberryPosition=[ 300 , 300 ]

pygame----精灵类测试

扶醉桌前 提交于 2020-03-12 11:02:38
开发工具:pycharm 游戏介绍: “动画精灵”这个词是从老式计算机和游戏机流传下来的。这些老式游戏机不能很快地绘制和擦除图形来保证游戏正常工作。这些游戏机有一些特殊的硬件,专门用来处理需要快速移动的游戏对象。这些对象就称为“动画精灵”。它们有一些特殊的限制,不过可以非常快地绘制和更新……如今,一般来讲,计算机的速度已经足够快了,不需要专门的硬件也可以很好地处理类似动画精灵的对象。不过‘动画精灵’这个词仍用来便是二维游戏中的所有动画对象。 1、精灵序列图 2、加载精灵图序列 3.更新帧 4、绘制帧 5、精灵组 一,精灵序列图 二, 加载精灵图序列 def load ( self , filename , width , height , columns): self .master_image=pygame.image.load(filename).convert_alpha() self .fram_width=width self .fram_height=height self .rect= 0 , 0 , width , height self .columns=columns rect= self .master_image.get_rect() self .last_fram=(rect.width//width)*(rect.height//height)- 1 三

pygame---坦克大战

亡梦爱人 提交于 2020-03-12 10:33:46
开发工具:pycharm 游戏介绍:通过上下左右箭头来使坦克移动 程序设计步骤: 1.导入游戏所需的模块 2.编写键盘控制坦克代码 3.实现坦克移动 一,导入游戏所需的模块 import os , sys , pygame from pygame.locals import * 二,编写键盘控制坦克代码 def control_tank (event): speed=[ x , y ]=[ 0 , 0 ] speed_offset= 1 img = "" if event.type==pygame.KEYDOWN: if event.key==pygame.K_LEFT: speed[ 0 ]-=speed_offset if event.key==pygame.K_RIGHT: speed[ 0 ]=speed_offset if event.key==pygame.K_UP: speed[ 1 ]-=speed_offset if event.key==pygame.K_DOWN: speed[ 1 ]=speed_offset if event.type==pygame.KEYUP: if event.type in [pygame.K_UP , pygame.K_DOWN , pygame.K_RIGHT , pygame.K_LEFT]: speed=[ 0 , 0 ]

python贪吃蛇游戏

风格不统一 提交于 2020-03-12 10:07:23
游戏代码: from pygame.locals import * pygame.init() fpsClock = pygame.time.Clock() playSurface = pygame.display.set_mode((640,480)) pygame.display.set_caption('贪吃蛇游戏') # 定义一些颜色 redColour = pygame.Color(255,0,0) blackColour = pygame.Color(0,0,0) whiteColour = pygame.Color(255,255,255) greyColour = pygame.Color(150,150,150) # 初始化了一些程序中用到的变量 snakePosition = [100, 100] snakeSegments = [[100, 100], [80, 100], [60, 100]] raspberryPosition = [300, 300] #位置 raspberrySpawned = 1 #是否吃到树莓,1为没吃到,0是吃到 direction = 'right' changeDirection = direction def gameOver(): gameOverFont = pygame.font.Font('simfang.ttf'