python贪吃蛇双人小游戏——升级版

博主在原有的贪吃蛇基础上进行升级,新增了电脑控制的蛇,让游戏变为双人模式。通过Python的pygame库实现这一功能。
摘要由CSDN通过智能技术生成

之前我做了个贪吃蛇小游戏,这回增加了一个电脑控制的蛇

代码:

import pygame
import random
import time
import os
from pygame.locals import *
from sys import exit
grid_size=25
die1=True
die2=True
die1st=0
die2st=0
die3st=0
die3=True
bug1=0
bug2=0
def init(d):
    r1=random.randint(3,33)*grid_size
    r2=random.randint(3,23)*grid_size
    if abs(d)>=2:
        s1b=[[r1,r2],[r1+25,r2],[r1+50*(-d),r2]]
    else:
        s1b=[[r1,r2],[r1+25*(-d),r2],[r1+50,r2]]
    return s1b
pygame.init()
screen = pygame.display.set_mode((900,650))
pygame.display.set_caption("PVP")

yellow=(255,255,0)
state='START'
blue=(0,0,255)
green=(0,255,0)
cyan=(0,255,255)
red=(255,0,0)
orange=(225,175,0)
vel=0.25
white=(255,255,255)
grey=(180,180,180)
def event():
    global state,bug1,bug2
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
        if event.type==KEYDOWN and event.key==K_SPACE:
            if state=='START':
                state='RUNNING'
        if event.type==KEYDOWN and event.key==K_w:
            if snake1.direction!=2:
                snake1.direction=-2
        if event.type==KEYDOWN and event.key==K_s:
            if snake1.direction!=-2:
                snake1.direction=2
        if event.type==KEYDOWN and event.key==K_a:
            if snake1.direction!=1:
                snake1.direction=-1
        if event.type==KEYDOWN and event.key==K_d:
            if snake1.direction!=-1:
                snake1.direction=1
        if event.type==KEYDOWN and event.key==K_UP:
            if snake2.direction!=2:
                snake2.direction=-2
        if event.type==KEYDOWN and event.key==K_DOWN:
            if snake2.direction!=-2:
                snake2.direction=2
        if event.type==KEYDOWN and event.key==K_LEFT:
            if snake2.direction!=1:
                snake2.direction=-1
        if event.type==KEYDOWN and event.key==K_RIGHT:
            if snake2.direction!=-1:
                snake2.direction=1
        if event.type==KEYDOWN and event.key==K_e:
            if len(snake1.body)>1:
                snake1.acc_st=time.time()
        if event.type==KEYDOWN and event.key==K_PAGEDOWN:
            if len(snake2.body)>1:
                snake2.acc_st=time.time()
        if bug1==2 or bug1==3:
            if event.type==KEYDOWN and event.key==K_s:
                bug1+=1
        if bug1==0 or bug1==1:
            if event.type==KEYDOWN and event.key==K_w:
                bug1+=1
        if bug1==4 or bug1==5:
            if event.type==KEYDOWN and event.key==K_a:
                bug1+=1
        if bug1==6 or bug1==7:
            if event.type==KEYDOWN and event.key==K_d:
                bug1+=1
        if bug1==8:
            if event.type==KEYDOWN and event.key==K_e:
                bug1+=1
        if bug1==2 or bug1==3:
            if event.type==KEYDOWN and event.key==K_DOWN:
                bug2+=1
        if bug1==0 or bug1==1:
            if event.type==KEYDOWN and event.key==K_UP:
                bug2+=1
        if bug1==4 or bug1==5:
            if event.type==KEYDOWN and event.key==K_LEFT:
                bug2+=1
        if bug1==6 or bug1==7:
            if event.type==KEYDOWN and event.key==K_RIGHT:
                bug2+=1
        if bug1==8:
            if event.type==KEYDOWN and event.key==K_PAGEDOWN:
                bug2+=1
def showscore():
    fillText('snake1:%s'%str(snake1.score),(0,0))
    fillText('snake2:%s'%str(snake2.score),(333,0))
    fillText('snake3:%s'%str(snake3.score),(666,0))
class Bean():
    def __init__(sel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值