python贪吃蛇最简单代码,python代码贪吃蛇小游戏

这篇具有很好参考价值的文章主要介绍了python贪吃蛇最简单代码,python代码贪吃蛇小游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,小编来为大家解答以下问题,python贪吃蛇游戏代码详解外加中文,python贪吃蛇最简单代码,现在让我们一起来看看吧!

python贪吃蛇最简单代码,python代码贪吃蛇小游戏,python,pygame,开发语言,人工智能

Source code download: 本文相关源码

import pygame

import sys

import random

SCREEN_X=600

SCREEN_Y=600

class Snake(object):

def __init__(self):

self.direction=pygame.K_RIGHT

self.body = []

for i in range(5):

self.addnode()

def addnode(self):

left, top = (0, 0)

if self.body:

left, top = (self.body[0].left,self.body[0].top)

node = pygame.Rect(left,top,25,25)

if self.direction == pygame.K_RIGHT:

node.left += 25

elif self.direction == pygame.K_LEFT:

node.left -= 25

elif self.direction == pygame.K_UP:

node.top -= 25

elif self.direction == pygame.K_DOWN:

node.top += 25

self.body.insert(0,node)

def delnode(self):

self.body.pop()

def isdead(self):

if self.body[0].x not in range(SCREEN_X):

return True

if self.body[0].y not in range(SCREEN_Y):

return True

if self.body[0] in self.body[1:]:

print("in body")

return True

return False

def move(self):

self.addnode()

self.delnode()

def changeddirection(self,curkey):

LR = [pygame.K_LEFT,pygame.K_RIGHT]

UD = [pygame.K_DOWN,pygame.K_UP]

if curkey in LR+UD:

if (curkey in LR) and (self.direction in LR):

return

if (curkey in UD) and (self.direction in UD):

return

self.direction = curkey

class Food(object):

def __init__(self):

self.rect = pygame.Rect(-25, 0, 25, 25)

def remove(self):

self.rect.x = -25

def set(self):

if self.rect.x == -25:

allpos = []

for pos in range(25,SCREEN_X-25,25):

allpos.append(pos)

self.rect.left = random.choice(allpos)

self.rect.top = random.choice(allpos)

print(self.rect)

def show_text(screen,pos,text,color,font_bold = False,font_size = 60,font_italic = False):

cur_font=pygame.font.SysFont("宋体",font_size)

cur_font.set_bold(font_bold)

cur_font.set_italic(font_italic)

text_fmt = cur_font.render(text,1,color)

screen.blit(text_fmt,pos)

def main():

pygame.init()

screen_size = (SCREEN_X,SCREEN_Y)

screen = pygame.display.set_mode(screen_size)

pygame.display.set_caption("Snake")

clock=pygame.time.Clock()

scores=0

isdead=False

snake=Snake()

food=Food()

while True:

for event in pygame.event.get():

if event.type == pygame.QUIT:

sys.exit()

if event.type == pygame.KEYDOWN:

#print(event)

#pressed_keys = pygame.key.get_pressed()

#if pressed_keys.count(1)>1:

# continue

print(event.key)

snake.changeddirection(event.key)

if event.key == pygame.K_SPACE and isdead:

return main()

screen.fill((255,255,255))

if not isdead:

scores +=1

snake.move()

for rect in snake.body:

pygame.draw.rect(screen,(20,220,39),rect,0)

isdead=snake.isdead()

if isdead:

show_text(screen,(100,200),"you dead!",(227,29,18),False,100)

show_text(screen,(150,260),"press space to try again...",(0,0,22),False,30)

if food.rect == snake.body[0]:

scores +=50

food.remove()

snake.addnode()

food.set()

pygame.draw.rect(screen,(136,0,21),food.rect,0)

show_text(screen,(50,500),"Scores:"+str(scores),(223,223,223))

pygame.display.update()

clock.tick(5)

if __name__ == "__main__":

main()文章来源地址https://www.toymoban.com/news/detail-833713.html

import pygame

import sys

import random

SCREEN_X=600

SCREEN_Y=600

class Snake(object):

def __init__(self):

self.direction=pygame.K_RIGHT

self.body = []

for i in range(5):

self.addnode()

def addnode(self):

left, top = (0, 0)

if self.body:

left, top = (self.body[0].left,self.body[0].top)

node = pygame.Rect(left,top,25,25)

if self.direction == pygame.K_RIGHT:

node.left += 25

elif self.direction == pygame.K_LEFT:

node.left -= 25

elif self.direction == pygame.K_UP:

node.top -= 25

elif self.direction == pygame.K_DOWN:

node.top += 25

self.body.insert(0,node)

def delnode(self):

self.body.pop()

def isdead(self):

if self.body[0].x not in range(SCREEN_X):

return True

if self.body[0].y not in range(SCREEN_Y):

return True

if self.body[0] in self.body[1:]:

print("in body")

return True

return False

def move(self):

self.addnode()

self.delnode()

def changeddirection(self,curkey):

LR = [pygame.K_LEFT,pygame.K_RIGHT]

UD = [pygame.K_DOWN,pygame.K_UP]

if curkey in LR+UD:

if (curkey in LR) and (self.direction in LR):

return

if (curkey in UD) and (self.direction in UD):

return

self.direction = curkey

class Food(object):

def __init__(self):

self.rect = pygame.Rect(-25, 0, 25, 25)

def remove(self):

self.rect.x = -25

def set(self):

if self.rect.x == -25:

allpos = []

for pos in range(25,SCREEN_X-25,25):

allpos.append(pos)

self.rect.left = random.choice(allpos)

self.rect.top = random.choice(allpos)

print(self.rect)

def show_text(screen,pos,text,color,font_bold = False,font_size = 60,font_italic = False):

cur_font=pygame.font.SysFont("宋体",font_size)

cur_font.set_bold(font_bold)

cur_font.set_italic(font_italic)

text_fmt = cur_font.render(text,1,color)

screen.blit(text_fmt,pos)

def main():

pygame.init()

screen_size = (SCREEN_X,SCREEN_Y)

screen = pygame.display.set_mode(screen_size)

pygame.display.set_caption("Snake")

clock=pygame.time.Clock()

scores=0

isdead=False

snake=Snake()

food=Food()

while True:

for event in pygame.event.get():

if event.type == pygame.QUIT:

sys.exit()

if event.type == pygame.KEYDOWN:

#print(event)

#pressed_keys = pygame.key.get_pressed()

#if pressed_keys.count(1)>1:

# continue

print(event.key)

snake.changeddirection(event.key)

if event.key == pygame.K_SPACE and isdead:

return main()

screen.fill((255,255,255))

if not isdead:

scores +=1

snake.move()

for rect in snake.body:

pygame.draw.rect(screen,(20,220,39),rect,0)

isdead=snake.isdead()

if isdead:

show_text(screen,(100,200),"you dead!",(227,29,18),False,100)

show_text(screen,(150,260),"press space to try again...",(0,0,22),False,30)

if food.rect == snake.body[0]:

scores +=50

food.remove()

snake.addnode()

food.set()

pygame.draw.rect(screen,(136,0,21),food.rect,0)

show_text(screen,(50,500),"Scores:"+str(scores),(223,223,223))

pygame.display.update()

clock.tick(5)

if __name__ == "__main__":

main()

到了这里,关于python贪吃蛇最简单代码,python代码贪吃蛇小游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 游戏开发丨基于Pygame的AI版贪吃蛇小游戏

    本期内容 基于pygame的AI版贪吃蛇小游戏 所需环境 python pycharm或anaconda pygame 下载地址 https://download.csdn.net/download/m0_68111267/88789665 本游戏使用Pygame模块开发,不需要玩家操纵贪吃蛇,贪吃蛇会自动吃掉屏幕上随机出现的食物,每吃一个食物贪吃蛇长度增加一节。如果贪吃蛇撞到

    2024年02月20日
    浏览(67)
  • python简易贪吃蛇小游戏任务书含代码

     目  录 第一章 绪论 1.1 开发的背景 1.2 开发的目的 1.3 开发的意义 1.4 开发工具简介 第二章 需求分析 (1) 利用方向键来改变蛇的运行方向。 (2) 在随机的地方产生食物。 (3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 第三章 系统概要设计 3.1 设计目

    2024年02月16日
    浏览(37)
  • Python版基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式

    基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式 按空格进入单人模式,按‘t’进入双人模式,双人模式下玛丽1采用空格键上跳,玛丽2采用方向上键上跳。 完整代码下载地址:Python版基于pygame的玛丽快跑小游戏源代码 完整代码下载地址:Python版基于

    2024年02月11日
    浏览(63)
  • 基于Python+Pygame实现一个俄罗斯方块小游戏【完整代码】

    俄罗斯方块,一款起源于上世纪80年代的经典电子游戏,凭借简单的规则和独特的魅力,一跃成为全球家喻户晓的经典。你知道其实只需要一些基础的编程知识,就可以自己实现它吗?今天,我们将使用Python的Pygame库,一步步带你构建属于自己的俄罗斯方块小游戏! 游戏初始

    2024年02月04日
    浏览(50)
  • 基于Python pygame简易版斗兽棋小游戏源代码

    基于Python pygame简易版斗兽棋小游戏源代码 游戏规则如下: 胜利条件: 1.吃掉对方全部棋子 2.走入对方兽穴(不可进入自己洞穴) 吃法: 1.象狮虎豹狼狗猫鼠象 2.同类棋子先行者吃掉对方 3.老鼠可以进河,老鼠在河里时,岸上的动物不能捕食他,他也不能捕食岸上的动物 4.狮虎在河中没

    2023年04月09日
    浏览(120)
  • python超简单小游戏代码,python简单小游戏代码

    大家好,小编来为大家解答以下问题,python超简单小游戏代码,python简单小游戏代码,今天让我们一起来看看吧! 大家好,我是辣条。 今天给大家带来30个py小游戏,一定要收藏! 目录 有手就行 1、吃金币 2、打乒乓 3、滑雪 4、并夕夕版飞机大战 5、打地鼠 简简单单 6、小恐

    2024年03月14日
    浏览(69)
  • python简单小游戏代码10行,简单的python小游戏代码

    本篇文章给大家谈谈python简单小游戏代码200行,以及python简单小游戏代码20行,希望对各位有所帮助,不要忘了收藏本站喔。 大家好,小编来为大家解答以下问题,python编程一个最简单游戏代码,python编程游戏代码大全,今天让我们一起来看看吧! 大家好,我是辣条。 今天

    2024年01月22日
    浏览(52)
  • python简单小游戏代码100行,简单的python小游戏代码

    大家好,给大家分享一下python简单小游戏代码100行,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! Source code download: 本文相关源码 大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的

    2024年04月14日
    浏览(61)
  • python简单小游戏代码200行,python简单的小游戏代码

    大家好,小编为大家解答python简单小游戏代码200行的问题。很多人还不知道python简单的小游戏代码,现在让我们一起来看看吧! 贪吃蛇游戏是有史以来最受欢迎的街机游戏之一。在这个游戏中,玩家的主要目标是在不撞墙或不撞墙的情况下抓住最大数量的水果python基础知识点

    2024年02月02日
    浏览(64)
  • python简单小游戏代码10行,python超简单小游戏代码

    大家好,小编为大家解答python编写的入门简单小游戏代码大全的问题。很多人还不知道python编写的入门简单小游戏代码,现在让我们一起来看看吧! 玩法:上下控制起跳躲避 玩法:三个相连就能消除 玩法:童年经典,普通模式没啥意思,小时候我们都是玩加速的。 玩法:童

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包