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

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() 复制代码效果展示:
  结尾:
  不管玩得多么纯熟,技术多么高超,但最终都会是听到贪食蛇的一声惨叫。记住:小蛇韬光养晦,中蛇欺软怕硬,大蛇明哲保身哟~
  最后文章就写到这里结束啦~大家喜欢的记得点点赞

狐妖小红娘傲来国三少爷为何单恋涂山雅雅,王老爷一言点出相信很多朋友们都知道狐妖小红娘是近几年来非常受欢迎的国产动漫之一,因此其中很多的角色都受到了观众们的喜爱,而在其中的众多角色当中,傲来国三少应该算是整部动漫中最神秘的一个角色了,尽斗罗大陆老杰克不愧是大陆第一狠人,仅他敢指着唐昊鼻子骂相信很多小伙伴都知道,斗罗大陆是一个以实力为尊的世界,所以存在着很多强者,但是除了那些非常出名的魂师之前,其实还有很多深藏不露的魂师,不知道大家对圣魂村村长还有印象吗?下面就带大家斗罗大陆唐三成神后,为何没带他们进入神界?他并非不愿意相信了解斗罗大陆原著的小伙伴都知道,到了后期,魂师实力提升到最终阶段之后,就有机会可以飞往神界,这也是所有魂师的梦想,但实际上除了第一代史莱克七怪全员飞升之外,后面也没有什么人可以斗罗大陆鬼斗罗被击杀后,得知极品魂骨归属,比比东可恶魂师都在不断的努力提升自己的实力,因为只有这样才能让自己变成强者,而魂师修炼除了可以获得魂环之外,还可以通过魂骨获得,这样才能保证自己拥有强悍的战斗力,下面就带大家去了解一下吧!众斗罗大陆唐三为何先修炼废武魂蓝银草?有3点,大师都震惊了相信很多熟悉斗罗大陆的小伙伴都知道,作为主角的唐三,拥有非常多的金手指,不管是两世记忆或是双生武魂以及先天满魂力,都是他异于常人的天赋,因此他的修炼道路才能比别人更快更好。不过大家斗罗大陆最恐怖的暗器,破坏力堪称变态,封号斗罗都得怕相信很多熟悉斗罗大陆的小伙伴都知道,暗器是前世唐门的特色,也是主角唐三来到这片大陆最强悍的底牌,而暗器的威力是非常强悍的,在不同的强者面前,拥有不同的威力,下面就大家去了解一下哪些斗罗大陆最罕见的魂环,世间独一无二,每一个都是珍宝相信大家说起目前国内非常优秀的动漫作品,一定有很多人会想到斗罗大陆,虽然上映时间不长,但人气已经超越了很多的老牌动漫,而且制作也是非常出色,就算被称为国漫巅峰都不为过。而在这个以实斗罗大陆老杰克到底有多强?得知实力,唐昊反正我是不敢惹的相信很多熟悉斗罗大陆的小伙伴都知道,在这个以实力为尊的世界上,有很多深藏不露的存在,例如圣魂村的老杰克爷爷,虽然他看似不起眼,但实际上应该是一个非常强悍的角色,毕竟在他面前,就算是斗罗大陆小舞母亲不该被猎杀,若它们在场,逃跑的应该是比比东相信很多熟悉斗罗大陆的小伙伴,在看过小舞母亲的样子后都是非常惊艳的,因此对于她被比比东猎杀也是觉得很不一样,但假设时间可以倒流的话,这两大封号斗罗出场,或许逃跑的就会是比比东了,为斗罗大陆十万年魂兽很强?有2只主动献祭,成为唐三的魂环相信很多熟悉斗罗大陆的小伙伴都知道,这是一个以实力为尊的世界,魂师和魂兽的实力都是非常强悍的,魂师通过觉醒武魂进行修炼,最顶级就是封号斗罗级别,而魂兽通过生存年限判断修为,达到十万斗罗大陆宁荣荣得到第8魂技,威力堪称变态,剑斗罗看懵了相信很多熟悉斗罗大陆的小伙伴都知道,在这个以实力为尊的世界上,七宝琉璃塔有天下第一辅助武魂之称,而它的辅助能力确实也是非常强悍的,增益效果非常强大,所以才能超越其他的辅助系武魂,但
八荒寻仙录等级冲榜技巧之技巧篇按照物品篇内容准备好物品后,按照主线去做任务,也不要多打副本次数,再达到102级经验方舟开启时绝对不会卡住!主线任务第一天的赏金任务,诛魔塔都是给的固定经验,在这些全做完的情况下再小鲁班速度爆增,妥妥地饱餐一顿大螃蟹今天好呀!今天好呀!我是小卤蛋,起床干饭,凯爹今天我要吃河蟹,红buff,蓝buff,再加3波兵线。小卤蛋,凯爹我今天要去干远古龙爸爸,今天早餐自己去吃,凯爹我就不伺候你了!好的,英雄联盟双城之战出现的英雄英雄联盟双城之战是英雄联盟官方动画剧集,讲述的是在充满蒸汽朋克气息的乌托邦皮尔特沃夫和由化学品驱动的地下城祖安中,蔚和金克丝两姐妹,她们在一场激烈的冲突后发现两个人站在了彼此的对立新秦时明月天明老妈美艳动人,月儿温柔可爱,赤练改动最大今天突然瞅见了新秦时明月更新的消息,一刹间觉得有人之年活久见了。作为玄机以前的亲生儿子,如今秦时明月早已经爹不疼,妈不爱。怀揣着激动的内心,压抑不住的兴奋。没点之前笔者内心是相当的立场杯首日看点十足!4AM总排名第四,IFTY展现强大ROLL实力众所周知现如今电子竞技行业可谓是充满了话题度,期间诸多专业赛事的成功举办也令所有网友大饱眼福。随着近日新一年的开启绝地求生大逃杀也随即迎来全新征程,万众瞩目的立场杯赛事正是拉开序幕全员射击这沙雕角色是射击游戏?竟然是益智游戏原标题FTY沙雕益智手游shootemall让子弹再多飞一会这是一款让子弹飞向所有敌人的游戏,沙雕的造型,益智的玩法,超级简单的内容令人爱不释手,无法自拔。它就是由FTY推出的以沙原神调整后的4位女角色预览,琴包得严严实实,莫娜已丑出天际2。4版本更新了,但现在大家讨论得最多的不是新的游戏内容,而是官方在不久前放的一封临时公告,也就是关于部分角色的外观调整公告。这份公告表示,游戏中的琴莫娜安柏罗莎莉亚等几名角色将在原神罗莎莉亚角色分析罗莎莉亚的机制是几乎没有缺点的冰系E瞬发Q脱手固有天赋给全队加暴击率大招60能量E技能CD短产球多基础攻击力四星前列突破还是攻击力加成。官方给罗莎莉亚的定位是多功能输出角色,事实上原神2。4角色外观调整和谐莫娜琴罗莎莉亚安柏新老皮肤全对比原神2。4版本上线之际,官方今日早间忽然发布了部分角色外观表现调整说明的消息,莫娜琴安柏和罗莎莉亚这四位蒙德的老朋友,将在2。4和2。5版本中先后迎来从立绘到过场动画的全方位调整和原神部分女角色外观调整,第一次感觉补偿1200原石不香了我已经有过一次旅行。所以,你也要像我一样抵达终点,才能在自己的眼中,留下这个世界的沉淀。大家好,我是boyue,感谢打开这篇原神游戏文。boyue会经常分享一些原神资讯与攻略给大家原神攻略申鹤天赋命之座武器圣遗物阵容等详细讲解我是尤雪落儿,今天给大家带了申鹤的全方位讲解!文章很长,重点是天赋解析,如有错误,欢迎指正。接下来,进入正题旅行者们好呀,今天为大家介绍的是师从留云借风真君的仙家弟子一申鹤。申鹤长