这是之前学校Python实训的时候写的,虽说有些瑕疵,但是比较有纪念意义。
学了又忘,忘了又学。
附上几张效果图:
游戏开始界面
颜色、文字、图形都可以自行更改:
游戏进行界面
你可以进行果实颜色、贪吃蛇颜色和速度和相关游戏设置的更改,不要太快,我也是试了之后才发现我自己这么手残… …
这里得分是吃一次果实一分,其实就是非常简单的在一个pygame创造的窗口中,对随机出现的一个二维数组进行遍历循环… …
游戏结束界面
当时中国新说唱还在热播,我看了几期直接被节目里满嘴的“bro”给洗脑了,现在想来竟然如此辣眼… …
下面贴上代码:
# -python3.7.0-
# -*- coding:utf-8 -*-
# !/usr/bin/env python
# @Time : 2019/07/04 19:14
# @Author : Chekhov
# @File : tantanshe.pyi
import random
import pygame
import sys
from pygame.locals import *
FPS = 15 # F: frame / P:per / S: second
WINDOWWIDTH = 640
WINDOWHEIGHT = 480
CELLSIZE = 20
assert WINDOWWIDTH % CELLSIZE == 0, "宽度应是栅格倍数"
assert WINDOWHEIGHT % CELLSIZE == 0, "高度应是栅格倍数"
CELLWIDTH = int(WINDOWWIDTH / CELLSIZE)
CELLHEIGHT = int(WINDOWHEIGHT / CELLSIZE)
# R G B R: red / G: green / B: blue
WHITE = (255, 255, 255)
BLACK = ( 0, 0, 0)
RED = (255, 0, 0)
GREEN = ( 0, 255, 0)
DARKGREEN = ( 0, 155, 0)
DARKGRAY = ( 40, 40, 40)
BGCOLOR = BLACK # BG: background
UP = 'up'
DOWN = 'down'
LEFT = 'left'
RIGHT = 'right'
HEAD = 0 # syntactic sugar: index of the worm's head
def main():
global FPSCLOCK, DISPLAYSURF, BASICFONT
pygame.init()
FPSCLOCK = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
BASICFONT = pygame.font.SysFont('SimHei.ttf', 18)
pygame.display.set_caption('贪贪蛇')
showStartScreen()
while True:
runGame()
showGameOverScreen()
def runGame():
# Set a random start point.
startx = random.randint(5, CELLWIDTH - 6)
starty = random.randint(5, CELLHEIGHT - 6)
wormCoords = [{
'x': startx, 'y': starty},
{
'x': startx -