打地鼠游戏名字——打地鼠游戏音乐叫什么名字…
前言
作者:& ampquot程序员木木& ampquot
* *文章简介* *:这篇文章主要是用Pygame写的仓鼠游戏~
* *句子来源可以免费获得。我的小可爱,句子,酱,酱,酱,酱,酱,酱,酱,酱。
共享点滴
私信小编06就可以了~
赞词、所长、评论
正文
嘻嘻!我是牧羊人同学~
玩仓鼠游戏谁都不会陌生。曾经流行过。不管是电脑上的小游戏,还是手里能拿的小游戏。
球球,不难看到玩仓鼠游戏的样子。
今天我们要利用 Pygame模块,制作一个代码仿制的《打地鼠》游戏给大家!
运行环境
本文用到的环境:Py、Pycharm社区版、Pygame游戏模块自带的就不展示啦。
pip install -i +模块名
效果展示
1)游戏界面
2)游戏界面
代码展示
1)配置文件
import os
'''屏幕大小'''
SCREENSIZE = (993, 477)
'''游戏素材路径'''
ROOTDIR = os.getcwd()
HAMMER_IMAGEPATHS = [os.(ROOTDIR, 'resources/image;), os.(ROOTDIR, 'resources/image;)]
GAME_BEGIN_IMAGEPATHS = [os.(ROOTDIR, 'resources/image;), os.(ROOTDIR, 'resources/image;)]
GAME_AGAIN_IMAGEPATHS = [os.(ROOTDIR, 'resources/image;), os.(ROOTDIR, 'resources/image;)]
GAME_BG_IMAGEPATH = os.(ROOTDIR, 'resources/image;)
GAME_END_IMAGEPATH = os.(ROOTDIR, 'resources/image;)
MOLE_IMAGEPATHS = [
os.(ROOTDIR, 'resources/image;),
os.(ROOTDIR, 'resources/image;),
os.(ROOTDIR, 'resources/image;),
os.(ROOTDIR, 'resources/image;)
]
BGM_PATH = os.(ROOTDIR, 'resources/audio;)
COUNT_DOWN_SOUND_PATH = os.(ROOTDIR, 'resources/audio;)
HAMMERING_SOUND_PATH = os.(ROOTDIR, 'resources/audio;)
FONT_PATH = os.(ROOTDIR, 'resources/fon;)
'''游戏常量参数设置'''
HOLE_POSITIONS = [(90, -20), (405, -20), (720, -20), (90, 140), (405, 140), (720, 140), (90, 290), (405, 290), (720, 290)]
BROWN = (150, 75, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
RECORD_PATH = ';
2)主程序
import cfg
import sys
import pygame
import random
from modules import *
'''游戏初始化'''
def initGame():
()
()
screen = )
('打地鼠')
return screen
'''主函数'''
def main():
# 初始化
screen = initGame()
# 加载背景音乐和其他音效
)
(-1)
audios = {
'count_down': ),
'hammering': )
}
# 加载字体
font = , 40)
# 加载背景图片
bg_img = pygame.image.load)
# 开始界面
startInterface(screen, c)
# 地鼠改变位置的计时
hole_pos = random.choice)
change_hole_event =
(change_hole_event, 800)
# 地鼠
mole = Mole, hole_pos)
# 锤子
hammer = Hammer, (500, 250))
# 时钟
clock = ()
# 分数
your_score = 0
flag = False
# 初始时间
init_time = ()
# 游戏主循环
while True:
# --游戏时间为60s
time_remain = round((61000 - (() - init_time)) / 1000.)
# --游戏时间减少, 地鼠变位置速度变快
if time_remain == 40 and not flag:
hole_pos = random.choice)
mole.reset()
mole.setPosition(hole_pos)
(change_hole_event, 650)
flag = True
elif time_remain == 20 and flag:
hole_pos = random.choice)
mole.reset()
mole.setPosition(hole_pos)
(change_hole_event, 500)
flag = False
# --倒计时音效
if time_remain == 10:
audios['count_down'].play()
# --游戏结束
if time_remain < 0: break
count_down_text = ('Time: '+str(time_remain), True, c)
# --按键检测
for event in ():
if event.type == :
()
()
elif event.type == :
())
elif event.type == :
if event.button == 1:
()
elif event.type == change_hole_event:
hole_pos = random.choice)
mole.reset()
mole.setPosition(hole_pos)
# --碰撞检测
if and not mole.is_hammer:
is_hammer = (hammer, mole)
if is_hammer:
audios['hammering'].play()
mole.setBeHammered()
your_score += 10
# --分数
your_score_text = ('Score: '+str(your_score), True, c)
# --绑定必要的游戏元素到屏幕(注意顺序)
(bg_img, (0, 0))
(count_down_text, (875, 8))
(your_score_text, (800, 430))
mole.draw(screen)
(screen)
# --更新
()
clock.tick(60)
# 读取最佳分数(try块避免第一次游戏无.rec文件)
try:
best_score = int(open).read())
except:
best_score = 0
# 若当前分数大于最佳分数则更新最佳分数
if your_score > best_score:
f = open, 'w')
f.write(str(your_score))
f.close()
# 结束界面
score_info = {'your_score': your_score, 'best_score': best_score}
is_restart = endInterface(screen, c, c, score_info, c, [c, c], c)
return is_restart
'''run'''
if __name__ == '__main__':
while True:
is_restart = main()
if not is_restart:
break
小结
安啦!文章就写到这里,你们的支持是我最大的动力,记得三连哦~
关注小编获取更多精彩内容!记得点击传送门哈
记得三连哦! 如需打包好的完整源码+素材免费分享滴!
所有文章完整的素材+源码都在
私信小编06即可免费啦~
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。