【Python游戏】贪吃蛇升级版——双人贪吃蛇小游戏 | 附带源码

前言

之前做过一个单人版的贪吃蛇,所以常常就是我只能看着别人玩,或者别人看着我玩,却没法两个人一起愉快地玩耍。 由此产生了做一个可以双人玩的贪吃蛇想法,并且从小时候一直到现在,之前python还没有那么火的时候,就在网上看过一些用python写游戏的教程。后来系统地学了一下python,就打算将双人贪吃蛇安排上了。

相关文件

想学Python的小伙伴可以关注小编的公众号【Python日志】
有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!!
需要源码的小伙伴可以在公众号回复双人贪吃蛇游戏
Python源码、问题解答学习交流群:773162165

开发环境

Python版本:3.6.7
相关模块:
pygame
random
sys
settings
score_board
functions
以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

游戏玩法

在游戏中,蓝色的玩家也就是1P通过WASD控制方向,红色的玩家也就是2P通过上下左右控制方向。 初始的时候,两个玩家分别在屏幕的中上方和中下方出现,如果撞墙或者相撞都会归为初始状态,计分板清零。 单人贪吃蛇通常是一个玩家,每次产生1个食物,我在这个基础上改进了一下,每次产生了10个食物,可以两个玩家一起竞争玩耍。当然,也可以通过修改设置只产生1个食物。 其实多食物的情况有点类似于球球了,但是这样增加了更多的可玩性,我还使用了一个计分板,显示的是两个玩家的得分,吃1个得分加1分。

代码和说明

  1. snake_main.py 这是游戏的主程序,用来初始化屏幕、按键控制移动、碰撞的判定以及绘制游戏中的各种模块等
  2. setting.py该文件里面游戏里面的一些设置,如各种模块的初始化值、模块颜色和移动速度
  3. function.py该文件里面主要是游戏的一些函数,如生成食物的函数、绘图函数和按键响应函数
  4. score_board.py该文件是用来绘制两个玩家的得分计数板

效果展示

【Python游戏】贪吃蛇升级版——双人贪吃蛇小游戏 | 附带源码_第1张图片

代码实现

主函数

"""
双人贪吃蛇游戏
公众号:Python日志
Python编程小知识教学,入门到精通视频+源码+课件+学习解答加群:773162165
"""
import pygame
import random
from sys import exit
from settings import Settings, Point
from score_board import Scoreboard
from functions import *

sets = Settings()

# 初始化,屏幕宽度和高度
pygame.init()
window = pygame.display.set_mode((sets.width, sets.hight))
pygame.display.set_caption('双人贪吃蛇  公众号:Python日志  交流群:773162165')


score = Scoreboard(sets,window)

sfoods = []
for i in range(10): # 食物的数量
    sfoods.append(gen_food(sets))


# 设置帧频率
clock = pygame.time.Clock()
while sets.quit:
    # 处理帧频 锁帧
    clock.tick(10) # 设置该项可以改变游戏速度,值越大速度越快
    
    check_events(sets)
                    
    # 吃东西,当头目前的位置和食物的坐标相同时
    snake1_eat = False
    snake2_eat = False
    for index, food in enumerate(sfoods):
        if (sets.head1.row == food.row and sets.head1.col == food.col):
            snake1_eat = True
            sfoods[index] = Point(row=random

你可能感兴趣的:(Python游戏,python,游戏,pygame)