python小游戏之恐龙快跳

恐龙快跳小游戏-Python

1.引言
当今社会是一个信息社会,一个知识经济的年代。自从世界上第一台计算机ENIAC于1946年问世到现在,计算机业飞速发展。随着以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起,世界已然进入在计算机信息管理领域的激烈竞争的时代,计算机,自然而然的变成了人们生活中必不可少的一部分。
过去,人们只要是借助电影,电视,音乐等方式来娱乐。而今天,以游戏为代表的电子娱乐正成为主流娱乐方式。因为CPU以及显卡等设备的高速发展,为人们开发出更加炫目多彩的游戏提供了可能。时代的发展,社会的进步,科学技术正以日新月异的速度飞速的向前发展。计算机技术的发展更是迅速而且广泛。可以说,计算机已经涉及到现代绝大部分行业。目前纷繁复杂的游戏软件比比皆是,无论在线的网路游戏还是桌面游戏,二维的还是三维立体空间的,多由单机版游戏孕育而来。学习简单的单机版游戏的制作,有利于初学者了解到游戏制作的理念。目前不论是在国内还是世界范围内,游戏产业都如雨后的春笋,蓬勃发展,越来越多更具娱乐性的游戏产品被开发出来
随着今年来生活质量的提高也是在我们更加辛苦的工作下换来的,因此在我们休息之余必须要找一种放松的方式来安抚我们疲惫的神经。随着近年来游戏市场的崛起,越来越多的游戏出现在人们身边,一款放松心情的游戏固然重要,对于贪吃蛇这种游戏已经不满足当前人们最求新颖的要求了,因此一款恐龙快跳的小游戏便开始问世,不经在谷歌浏览器中也设置了此类游戏,为了满足网络不好而在电脑前苦苦等待连接的人们一丝放松的时间。本次设计运用的开发语言是 Python 语言,主要运行的是pygame库。

恐龙快跳小游戏制作过程
1、仙人掌实现类:

class Cactus(pygame.sprite.Sprite):
	def __init__(self, imagepaths, position=(600, 147), sizes=[(40, 40), (40, 40)], **kwargs):
		pygame.sprite.Sprite.__init__(self)
		# 导入图片
		self.images = []
		image = pygame.image.load(imagepaths[0])
		for i in range(3):
			self.images.append(pygame.transform.scale(image.subsurface((i*101, 0), (101, 101)), sizes[0]))
		image = pygame.image.load(imagepaths[1])
		for i in range(3):
			self.images.append(pygame.transform.scale(image.subsurface((i*68, 0), (68, 70)), sizes[1]))
		self.image = random.choice(self.images)
		self.rect = self.image.get_rect()
		self.rect.left, self.rect.bottom = position
		self.mask = pygame.mask.from_surface(self.image)
		# 定义一些必要的变量
		self.speed = -10
	'''画到屏幕上'''
	def draw(self, screen):
		screen.blit(self.image, self.rect)
	'''更新'''
	def update(self):
		self.rect = self.rect.move([self.speed, 0])
		if self.rect.right < 0:
			self.kill()

通过随机选择这两幅图中每幅图进行剪切,每幅图剪切成3块,已生成不同的仙人掌,并加入到图片队列中。
在这里插入图片描述
2、飞龙实现类:

class Ptera(pygame.sprite.Sprite):
	def __init__(self, imagepath, position, size=(46, 40), **kwargs):
		pygame.sprite.Sprite
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个小恐龙游戏Python 代码,增加了积分制和界面: ```python import tkinter as tk import random class DinosaurGame: def __init__(self, master): self.master = master self.master.title("小恐龙游戏") # 加载图片 self.dinosaur_image = tk.PhotoImage(file="dinosaur.png") self.cactus_image = tk.PhotoImage(file="cactus.png") # 设置游戏参数 self.dinosaur_x = 50 self.dinosaur_y = 200 self.cactus_x = 600 self.cactus_y = 210 self.speed = 10 self.score = 0 # 创建界面元素 self.canvas = tk.Canvas(self.master, width=800, height=400) self.canvas.pack() self.canvas.focus_set() self.canvas.bind("<space>", self.jump) self.canvas.bind("<Up>", self.jump) self.dinosaur = self.canvas.create_image(self.dinosaur_x, self.dinosaur_y, image=self.dinosaur_image) self.cactus = self.canvas.create_image(self.cactus_x, self.cactus_y, image=self.cactus_image) self.label = tk.Label(self.master, text="得分:0") self.label.pack() # 启动游戏循环 self.game_loop() def jump(self, event): self.dinosaur_y -= 50 def game_loop(self): # 移动恐龙 self.dinosaur_y += 10 self.canvas.coords(self.dinosaur, self.dinosaur_x, self.dinosaur_y) # 移动仙人掌 self.cactus_x -= self.speed self.canvas.coords(self.cactus, self.cactus_x, self.cactus_y) # 检测碰撞 if self.dinosaur_x + 50 > self.cactus_x and self.dinosaur_x < self.cactus_x + 50 and self.dinosaur_y + 50 > self.cactus_y: self.label.config(text="游戏结束,得分:" + str(self.score)) self.canvas.unbind("<space>") self.canvas.unbind("<Up>") else: # 增加得分 if self.cactus_x < 0: self.cactus_x = 600 self.score += 10 self.speed += 1 self.label.config(text="得分:" + str(self.score)) # 更新游戏界面 self.master.after(50, self.game_loop) root = tk.Tk() app = DinosaurGame(root) root.mainloop() ``` 在这个版本的游戏中,我们使用了 Tkinter 模块创建了一个简单的 GUI 界面,玩家可以通过按空格键或向上键让恐龙跃。每次过一个仙人掌玩家得 10 分,速度也会加。如果恐龙碰到了仙人掌游戏结束,输出玩家的得分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值