范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

python小游戏据说这是一款还原度超高的小游戏,你感受下。

  前言
  哈喽,大家好呀~欢迎大家阅读小编的文章!
  又到了每日游戏更新系列,看到这么如下.gif是不是让你想起来了童年吖~
  贪吃蛇 的人气可谓是经久不衰,有过了许多不同的版本,但大体游戏规则都是控制蛇的向,
  寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度
  就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,还要注意其他的蛇!
  哪个版本的贪吃蛇是你的童年
  是这个
  嘿嘿 ~~~
  好了,放图片路
  正文:
  就是这个大工程今天带大家做一款 Python 版本的贪吃蛇 游戏!
  直接放代码import pygame as pg  from random import randint import sys from pygame.locals import *   FPS = 6  # 画面帧数,代表蛇的移动速率 window_width = 600 window_height = 500 cellsize = 20 cell_width = int(window_width / cellsize) cell_height = int(window_height / cellsize) BGcolor = (0, 0, 0) BLUE = (0, 0, 255) RED = (255, 0, 0) apple_color = (255, 0, 0) snake_color = (0, 150, 0) GREEN = (0, 255, 0) WHITE = (255, 255, 255) DARKGRAY = (40, 40, 40)   UP = "up" DOWN = "down" LEFT = "left" RIGHT = "right" HEAD = 0     def main():  # 有函数     global FPSclock, window, BASICFONT     pg.init()     FPSclock = pg.time.Clock()     window = pg.display.set_mode((window_width, window_height))     BASICFONT = pg.font.Font("freesansbold.ttf", 18)     pg.display.set_caption("贪吃蛇")     showStartScreen()     while True:         runGame()         showGameOverScreen()     def runGame():  # 运行游戏函数     startx = randint(5, cell_width - 6)     starty = randint(5, cell_height - 6)     snakeCoords = [{"x": startx, "y": starty}, {"x": startx - 1, "y": starty}, {"x": startx - 2, "y": starty}]     direction = RIGHT     apple = getRandomLocation()     while True:         for event in pg.event.get():             if event.type == QUIT:                 terminate()             elif event.type == KEYDOWN:                 if event.key == K_LEFT and direction != RIGHT:                     direction = LEFT                 elif event.key == K_RIGHT and direction != LEFT:                     direction = RIGHT                 elif event.key == K_UP and direction != DOWN:                     direction = UP                 elif event.key == K_DOWN and direction != UP:                     direction = DOWN                 elif event.key == K_ESCAPE:                     terminate()         if snakeCoords[HEAD]["x"] == -1 or snakeCoords[HEAD]["x"] == cell_width or snakeCoords[HEAD]["y"] == -1 or                  snakeCoords[HEAD]["y"] == cell_height:             return         for snakeBody in snakeCoords[1:]:             if snakeBody["x"] == snakeCoords[HEAD]["x"] and snakeBody["y"] == snakeCoords[HEAD]["y"]:                 return             if snakeCoords[HEAD]["x"] == apple["x"] and snakeCoords[HEAD]["y"] == apple["y"]:                 apple = getRandomLocation()             else:                 del snakeCoords[-1]             if direction == UP:                 newHead = {"x": snakeCoords[HEAD]["x"], "y": snakeCoords[HEAD]["y"] - 1}             elif direction == DOWN:                 newHead = {"x": snakeCoords[HEAD]["x"], "y": snakeCoords[HEAD]["y"] + 1}             elif direction == LEFT:                 newHead = {"x": snakeCoords[HEAD]["x"] - 1, "y": snakeCoords[HEAD]["y"]}             elif direction == RIGHT:                 newHead = {"x": snakeCoords[HEAD]["x"] + 1, "y": snakeCoords[HEAD]["y"]}               snakeCoords.insert(0, newHead)             window.fill(BGcolor)             drawGrid()             drawSnake(snakeCoords)             drawApple(apple)               drawScore(len(snakeCoords) - 3)               pg.display.update()             FPSclock.tick(FPS)     def drawPressKeyMsg():  # 游戏开始提示信息     pressKeySurf = BASICFONT.render("press a key to play", True, BLUE)     pressKeyRect = pressKeySurf.get_rect()     pressKeyRect.topleft = (window_width - 200, window_height - 30)     window.blit(pressKeySurf, pressKeyRect)     def checkForKeyPress():  # 检查是否触发按键     if len(pg.event.get(QUIT)) > 0:         terminate()     keyUpEvents = pg.event.get(KEYUP)     if len(keyUpEvents) == 0:         return None     if keyUpEvents[0].key == K_ESCAPE:         terminate()     return keyUpEvents[0].key     def showStartScreen():  # 开始画面     window.fill(BGcolor)     titleFont = pg.font.Font("freesansbold.ttf", 100)     titleSurf = titleFont.render("snake!", True, RED)     titleRect = titleSurf.get_rect()     titleRect.center = (window_width / 2, window_height / 2)     window.blit(titleSurf, titleRect)     drawPressKeyMsg()     pg.display.update()     while True:         if checkForKeyPress():             pg.event.get()             return     def terminate():  # 退出     pg.quit()     sys.exit()     def getRandomLocation():  # 出现位置     return {"x": randint(0, cell_width - 1), "y": randint(0, cell_height - 1)}     def showGameOverScreen():  # 游戏结束     gameOverFont = pg.font.Font("freesansbold.tff", 150)     gameSurf = gameOverFont.render("Game", True, WHITE)     overSurf = gameOverFont.render("over", True, WHITE)     gameRect = gameSurf.get_rect()     overRect = overSurf.get_rect()     gameRect.midtop = (window_width / 2, 10)     overRect.midtop = (window_width / 2, gameRect.height10 + 25)     window.blit(gameSurf, gameRect)     window.blit(overSurf, overRect)       drawPressKeyMsg()     pg.display.update()     pg.time.wait(500)     checkForKeyPress()     while True:         if checkForKeyPress():             pg.event.get()             return     def drawScore(score):  # 显示分数     scoreSurf = BASICFONT.render("Score:%s" % (score), True, WHITE)     scoreRect = scoreSurf.get_rect()     scoreRect.topleft = (window_width - 120, 10)     window.blit(scoreSurf, scoreRect)     def drawSnake(snakeCoords):  # 画蛇     for coord in snakeCoords:         x = coord["x"] * cellsize         y = coord["y"] * cellsize         snakeSegmentRect = pg.Rect(x, y, cellsize, cellsize)         pg.draw.rect(window, snake_color, snakeSegmentRect)         snakeInnerSegmentRect = pg.Rect(x + 4, y + 4, cellsize - 8, cellsize - 8)         pg.draw.rect(window, GREEN, snakeInnerSegmentRect)     def drawApple(coord):     x = coord["x"] * cellsize     y = coord["y"] * cellsize     appleRect = pg.Rect(x, y, cellsize, cellsize)     pg.draw.rect(window, apple_color, appleRect)     def drawGrid():  # 画方格     for x in range(0, window_width, cellsize):         pg.draw.line(window, DARKGRAY, (x, 0), (x, window_height))     for y in range(0, window_height, cellsize):         pg.draw.line(window, DARKGRAY, (0, y), (window_width, y))     if __name__ == "__main__":     main() 复制代码效果展示:
  结尾:
  不管玩得多么纯熟,技术多么高超,但最终都会是听到贪食蛇的一声惨叫。记住:小蛇韬光养晦,中蛇欺软怕硬,大蛇明哲保身哟~
  最后文章就写到这里结束啦~大家喜欢的记得点点赞

暴雪内忧外患哪款游戏才能改变现在的状况这段时间的暴雪丑闻频发,可以说是站在舆论的风口浪尖,不论是谁都能上来踩一脚。而暴雪内部的办公室矛盾也很严重,导致了最近几年的游戏全都延期,本来就没有游戏产出,这下好了,拖得时间更长游戏日报Uzi正式复出,加盟BLG!战舰世界官宣全球同步更新每天一篇游戏资讯汇总,为你带来最新鲜,最劲爆的游戏资讯。足不出户看尽圈内大事小事,成为游戏圈中的百事通。新的一年,所长会继续努力把优质的内容带给大家!游戏电竞Uzi宣布复出,携手刘魔兽世界怀旧服为什么有些人不停练小号?呲牙这个我就是这样的人。首先,一个角色在有很多空闲时间的情况下是会腻的,你也说了,有声望,有任务去做,我曾经在正式服的时候,把艾泽拉斯博学者声音任务都做光就,然后外域,然后诺森德捂PGL赛训杯决赛开战天霸首日末局吃鸡拿下第一经过了小组赛胜者组败者组以及复活赛的选拔,十六支队伍齐聚在PGL冬季赛训杯的舞台,经过四个比赛日二十四场的比赛来角逐最后的冠军。天霸战队在小组赛阶段直接拿到了第一名的成绩晋级胜者组开放世界如何打造新颖社交?幻塔的交友权利竟然交给了玩家其实,大多数玩家对于开放世界的印象都非常的单一,那就是在无缝大地图中自由探索,一个人冒险闯关完成任务,就连玩法上都偏向于单人玩家都游戏体验,更不要提社交性了。不过在这样的趋势下,也KPL瓜,KSG转会期大手笔,笑影何去何从?小玖成年,梓墨暴风锐挂牌!KPL目前只剩下四支队伍在争夺冠军,分别是XYG,狼队,TTG和eStar。其他队伍分别都在备战挑战者杯和2022年春季赛,这意味着新的转会期马上就要开启。许多小伙伴都很好奇和期待平民70五开一天收益很多人都说70级没什么可玩的,收益还比较低,其实我认为这个收益和投入还有搬砖时间是成正比的,有些日入几百快的大多都是工作室(十开十五开甚至更多)而且每个号的成本并不低,几乎每个活动fgo街机新五星丑阶从者提亚马特落地实装手游玩家分分钟破防fgo街机这次的更新内容,真的是让所有人都没有想到,毕竟原本街机走的主线剧情和手游有一定的区别和差距,但是怎么也没有想到,fgo街机居然实装的新从者,是手游玩家心心念念的提亚马特,12。17epic免费游戏这次咱们e宝来整活了,这次是什么游戏大连送。这次从12。17一直送到12。31,整整送15天的游戏。想要的兄弟记得领取。听说12。17送的是莎木3莎木3(Shenmue3),属于莎巅峰周报娜可露露强势崛起,苍穹已成老夫子核心装备大家好,我是大宝备。11。23正式服有7个英雄以及装备进行调整,分别是司马懿妲己典韦高渐离铠貂蝉司空震,今天我们来看一下他们高分段的数据变化。本期巅峰周报取自于11。2311。28LPL全明星传奇赛马哥打出尽力局!赛后发声自己将被迫休息近日英雄联盟2021LPL全明星盛典在海口拉开帷幕,在此次盛典当中,让玩家们和选手们一起共度了一个非常愉快的周末!见证了EDG在今年骑士归来的载誉而归,同时也见证了Solo新王诞生
安德罗妮化身下饭之王?玩女巴还恰不到烂分,1W5分就这水平?很多看过安德罗妮直播的玩家都知道,会长的直播风格是异常的搞笑,而且近期安德罗妮甚至直接拿下1万5的高分,但之后的安德罗妮自己也有点受不了了。起初安德罗妮在直播的时候说自己打算到时候俩IG看不上的AD,全都打进了四强!IG遭英文解说发文嘲讽TES和SN相遇四强,一时间苏小洛等IG管理层又进入了很多LPL玩家的视野。真有IG管理层的两代ADC现在都打进了S10世界赛四强(JKL是IG一队,huanfeng是IG二队)。英文解说吐槽LCK比赛,他们的风格真的就一成不变?近期八强赛打得火热很多解说以及LOL的专业人士都在讨论,现在LOL真的就完全两极分化一种就是各种找机会去创造优势(包括外卡赛去的乱打),另一种则就是以LCK为代表的运营。LCK的运LCK玩家魔怔了?LPL两个冠军全靠G2,没韩国人就赢不了LCK时隔两年重回S世界赛王座,这也同时宣布LCK重回第一赛区。不过SciSci酱觉得LPL输了并不可怕,可怕是从骨子里惧怕LCK的队伍,别从这场比赛输掉之后,LPL又回到三年前,LOL手游S1世界赛即将开打!国服再不上线,连S2都不能参加很多玩家估计都很难想象到LOL手游都要开启S1世界赛了吧,LOL手游就公布了一则公告,他们在筹备一场世界赛,而首届世界赛将会有八支战队参加,奖金池高达400W,不过有意思的是,很多鏖战28分钟人头三位数!李佳航皇子天秀,不愧是霸哥直接超鬼律政先锋张伟(李佳航)其实之前一直和英雄联盟有着紧密的联系,之前李佳航就接受过LPL的邀请当S7世界赛和S10世界赛的嘉宾,而且李佳航自己也一直表示,尽管自己已经有了家室和孩子,但绝地求生战队都在赔钱?每年亏几百万是常事,很多队伍没撑下去小智在直播间近期就谈论了关于绝地求生战队的消息,众所周知绝地求生当初可谓是风靡一时,很多电子竞技俱乐部都纷纷入足,按照小智直播所说,很多绝地求生战队基本上都是在赔钱赚吆喝,很多多战奥运跳水冠军何冲搞花活,跨界直播去打手游!王者真乃国民手游话说普通玩家基本上都会也业余时间去玩游戏,不过话说那些明星或者传统体育赛事的选手他们会怎么玩游戏呢?而近期跳水冠军何冲就在直播间给大家直播打王者荣耀,可能很多玩家都不相信,奥运会冠LPL赛区生来就低LCK一等?LCK输了就是放水,炫神这波属实双标LPL这几年从S8赛季和S9赛季慢慢走出了恐LCK的阴霾,两个世界赛冠军虽说最终的决赛并不是中韩大战,但不得不说我们确实也没有必要再去恐惧LCK,无论是所谓的洲际赛,MSI季中冠军昔日腿精疑似转型,电气鼠赖神梦幻联动!慢摇女王开始打游戏了?说起电气鼠估计很多男玩家就有点坐不住了,地地道道的慢摇女王,要知道很多玩家眼里公认的T0级别的腿精真的不是虚的,真的就是凭借几个简单的动作就收获了一大批粉丝,但是时间一长很多玩家都LOL手游皆为全华班,外服玩家根本无法交流!这分明就是国服近期有一则LOL手游公布的数据,数据显示整个日本总人口是1。26亿,但是根据现在LOL手游注册的情况来看,光东京注册的玩家就有2亿多。话说他们怎么凭空冒出了这么多人?其实SciSc