之前我做了个贪吃蛇小游戏,这回增加了一个电脑控制的蛇
代码:
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