Python小游戏(贪吃蛇)
【摘要】
玩法:童年经典,普通魔术也没啥意思,小时候玩的也是加速的。
源码分享:
import cfgimport sysimport pygamefrom modules import * '''主函数'''def main(cfg): # 游戏初始化 pygame.init() screen = pygame.di...
玩法:童年经典,普通魔术也没啥意思,小时候玩的也是加速的。
源码分享:
-
import cfg
-
import sys
-
import pygame
-
from modules import *
-
-
-
'''主函数'''
-
def main(cfg):
-
# 游戏初始化
-
pygame.init()
-
screen = pygame.display.set_mode(cfg.SCREENSIZE)
-
pygame.display.set_caption('Greedy Snake —— 九歌')
-
clock = pygame.time.Clock()
-
# 播放背景音乐
-
pygame.mixer.music.load(cfg.BGMPATH)
-
pygame.mixer.music.play(-1)
-
# 游戏主循环
-
snake = Snake(cfg)
-
apple = Apple(cfg, snake.coords)
-
score = 0
-
while True:
-
screen.fill(cfg.BLACK)
-
# --按键检测
-
for event in pygame.event.get():
-
if event.type == pygame.QUIT:
-
pygame.quit()
-
sys.exit()
-
elif event.type == pygame.KEYDOWN:
-
if event.key in [pygame.K_UP, pygame.K_DOWN, pygame.K_LEFT, pygame.K_RIGHT]:
-
snake.setDirection({pygame.K_UP: 'up', pygame.K_DOWN: 'down', pygame.K_LEFT: 'left', pygame.K_RIGHT: 'right'}[event.key])
-
# --更新贪吃蛇和食物
-
if snake.update(apple):
-
apple = Apple(cfg, snake.coords)
-
score += 1
-
# --判断游戏是否结束
-
if snake.isgameover: break
-
# --显示游戏里必要的元素
-
drawGameGrid(cfg, screen)
-
snake.draw(screen)
-
apple.draw(screen)
-
showScore(cfg, score, screen)
-
# --屏幕更新
-
pygame.display.update()
-
clock.tick(cfg.FPS)
-
return endInterface(screen, cfg)
-
-
-
'''run'''
-
if __name__ == '__main__':
-
while True:
-
if not main(cfg):
-
break
祝大家玩得开心,欢迎点赞、关注、评论,欢迎一健三联。
文章来源: laoshifu.blog.csdn.net,作者:红目香薰,版权归原作者所有,如需转载,请联系作者。
原文链接:laoshifu.blog.csdn.net/article/details/120425300
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)