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

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

原神2。3版本岩队回归,荒泷一斗和五郎登场,带你分析一波原神2。3版本第二个限定卡池将会推出全新五星岩系角色荒泷一斗和五郎,不知道大家有没有被一斗那魔性的笑声吓到又或是圈粉的?一斗身为荒泷派首领的一斗为五星岩元素大剑角色,等级突破后增加英雄无敌3娜迦女王和亡灵骑士,谁才是6级兵里的最强T0?在英雄无敌3这款游戏里,除了强大的七级兵以外,六级部队的强弱也是大家经常争论的话题。与7级兵相比,6级兵的整体属性要削弱很多。但是实用性却反而高了不少。原因也很简单,那就是6级兵作PSN港服黑五大促大表哥24折死亡循环5折PSN港服黑五折扣已于今日开启,部分折扣如下商城地址FIFA22PS5版立省30特惠价384。30港币喋血复仇立省30特惠价327。60港币NBA2K22PS5版立省50特惠274王者荣耀KPL狼队最强?直接零封TTG,XYG被击败后大仙也夸狼队太强相信小伙伴们都知道王者荣耀KPL比赛正在进行,最近最为亮眼的队伍一定有狼队,赶紧来看看吧!狼队的实力自然不用多说。第一周和TTG的比赛大家都十分期待,认为会有一场精彩的对决,但最后打王者时随机匹配队友,女生多赢的几率大,还是男生多赢的几率大冬日生活打卡季针对于这个问题。我觉得匹配到男生赢的几率会大。女生她喜欢玩妲己,安琪拉小乔。针对于这三种英雄对面选个上官婉儿,干将莫耶此类貂蝉。基本上都是无敌化解,而他们不知道,他们DNF阿拉德跟谁姓?阿修罗技能重做初版分析本文由Sky灬素颜游戏视频原创,请勿抄袭或转载,谢谢。韩服体验服已经更新了阿修罗重做的初版,数据上其实没太多说的,绝大多数技能提升幅度都是10,二觉提升有15。CP无双波和CP雷云上古6是独占,真女神转生5不是独占,近期游戏大作爆料一览今天,博士在玩家社群中逛了一下,就看到了不少新游戏的相关资讯和爆料,觉得挺有价值的。不过,每款游戏的信息都不多,不太好单独拿出来说。我特意汇总整理了一下,整合成一篇文章分享给大家。KB电竞英雄联盟手游复盘DKG顽强击败RYKB电竞这个决胜局可以说MTG战队展示出了自己作为从S组战队下来的强队意识了,明显的可以看到选手们都有点精疲力尽了,但是此时就是拼的大家的意识,最后也是MTG战队更胜一筹的把比赛的不修改游戏规则,中国人何时能在篮球场上打破黑人生理特长的高度垄断?世界上很多体育项目都是对黄种人不利的,特别是那些高体能高对抗耐体能的比赛项目更是如此,比如足球篮球田径运动等等。固然,在运动能力方面,黑人就是特别有天赋,他们更有耐力跑得快跳得高爆QUQU战神附体极限1打4,行如流水操作,粉丝要重回职业选手吗?随着网络时代发展越来越好,游戏厂商都在疯狂上线新的游戏,让很多玩家以为,一些很多年前的游戏早就冷了,比如说梦幻西游,CF,DNF这些老游戏,这些玩家的想法就错了,为什么这么说呢?别刺激战场中,有哪些武器装错了配件等同于削弱了其自身的属性?198k的子弹袋游戏中托腮板很多,子弹袋很少。98k的最佳配件就是子弹袋无疑了,因为它降低50的基础散射度,也就是说它可以改变98k的射击精度。而托腮板是降低后坐力,只适合连狙。不
RW侠一队被GK二队零封,网友评论质疑假赛,RW侠在下一盘大棋2021年KPL秋季赛结束之后,因为距离挑战者杯赛事还有一段时间,所以各大平台赛事接踵而来。其实狼队eStarProRW侠等KPL队伍,可以说是这段时间的劳模,一口气参加了斗鱼荣耀剑侠世界3试玩全网好评的经典续作?在哪恰的饭带我一下在如今这个国产武侠题材游戏没落的时代,曾经我们也是有着自己的高光时刻的。它们就是被老玩家称为国产三剑的三个系列,仙剑奇侠传轩辕剑剑侠情缘,如今三件一蹶不振,但唯有剑侠情缘想往手游发解谜探索游戏超级领地六英寸之下发售日公布解谜探索游戏超级领地六英寸之下(SupralandSixInchesUnder)将于2022年1月14日登陆Steam发售,支持简体中文。这是一款混合了传送门萨尔达以及密特罗德的游2021年PSPlus会免送出的游戏价值1424。6美元平均每款35。62美元索尼PlayStationPlus每月会免都会送出几款游戏,据外媒Polygon报道,2021年PlayStationPlus会免全年送出的游戏价值1424。6美元(约合人民币90复古视觉小说游戏Mothmen1966明年登陆Switch发行商ChorusWorldwide和游戏开发商LCBGameStudio宣布,旗下游戏Mothmen1966将于2022年登陆Switch平台,官方公布了一段预告片,一起来看看吧英魂之刃口袋版五周年庆典开启限时福利嗨不停与5共绘,国风新象!英魂之刃口袋版五周年庆典开启!多重福利限时降临,积分英雄稀有皮肤传送特效等海量奖励等你来领!除此之外,还有丹青不渝套系最后一款新皮肤玄穹天帝神宵重磅登场!还等什剑与远征逐火宝箱2选1,占星接连翻车,两周年兑换码有反转剑与远征作为一款以独特挂机机制出名的放置类手游,虽然上线的时间不算很长,但是用户量还是很不错的。距离剑与远征两周年庆是非常快了,玩家对于两周年还是很期待的,虽然目前知道的消息还是很一款卡车模拟驾驶游戏HELLO大家好,这里是小白的每日一游推荐时间。世上的游戏千千万,有许多好玩的游戏由于缺乏宣传,所以不被广大玩家所熟知。在这里小白每天会为大家推荐一款评价很高但是不太出名的游戏美国DNF全职业神话第42期助手前10冰结师神话搭配,110版本前适用文章版全职业神话第42期助手前10冰结师神话搭配冰结师职业简述武器推荐魔杖防具精通皮甲角色定位魔法百分比职业技能特点自带冰属性攻击,将冰系魔法研究到极致,攻击范围大操作手法好,对新战争与文明小米版战争与文明小米版是一款融合文明国家的崛起和帝国时代系列玩法的策略手游,此版本是专为小米玩家打造的,支持小米用户用自己的小米账号一键登入游戏,登入即可领取大量的福利礼包。这款游戏为玩武侠游戏玩什么?这几款绝对是最佳代表武侠,可以说是中国最具特色的一种文化形式之一。由于受众广泛,这一题材也颇受国内游戏厂商的宠爱,一时间由武侠题材改编的游戏层出不穷。而在众多的武侠游戏中,以下这几款可以说是最巅峰的武