鱼C论坛

 找回密码
 立即注册
查看: 954|回复: 2

本代码中已经写有包含展示界面的代码,运行之后也没有报错提醒,但是最后结果是不....

[复制链接]
发表于 2020-6-9 20:16:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小诺爷 于 2020-6-10 18:32 编辑
  1. import pygame,sys,random #pip install pygame安装pygame模块命令
  2. from pygame.locals import *
  3. #1定义颜色变量(目标方块,贪吃蛇,背景)
  4. #根据rgb值选择颜色
  5. redcolor = pygame.Color(255,0,0)#根据rgb值选择颜色
  6. #目标方块颜色
  7. whitecolor = pygame.Color(255,255,255)#根据rgb值选择颜色
  8. #背景颜色
  9. blackcolor = pygame.Color(0,0,0)#根据rgb值选择颜色
  10. #2定义游戏结束函数
  11. def gameover():
  12.     pygame.quit()#pygame模块结束
  13.     sys.exit()
  14. #3实现工作
  15. def main():
  16.     #分一pygame初始化
  17.     pygame.init()
  18.     #分二控制速度
  19.     fpsclock = pygame.time.clock()#速度控制
  20.     #分三创建pygame的显示层
  21.     playsurface = pygame.display.set_mode((640,480))#界面大小
  22.     pygame.display.set_caption('贪食蛇')#定义游戏名字
  23.     #分四 初始化变量
  24.     snakeposition = [100,100]#贪食蛇起始位置
  25.     snakebody = [[100,100],[80,100],[60,100]]#贪食蛇初始长度
  26.     targetposition = [300,300]#方块初始位置
  27.     targetflag = 1#方块的标记,判断吃掉了方块
  28.     direction = 'right'#初始化方向为右
  29.     changeDirection = direction#方向变量,人为控制,并与键盘联系
  30.     #分五pygame中的事件要实时循环
  31.     while True:
  32.         for event in pygame.event.get():#获取所有事件可能
  33.             if event.type == QUIT:#如果事件不符合,退出
  34.                 pygame.quit()#退出pygame
  35.                 sys.exit()
  36.             elif event.type == KEYDOWN:#判断按键事件
  37.                 if event.key == K_RIGHT:#key值为右,那么目标值为右
  38.                     changeDirection ='right'
  39.                 if event.key == K_LEFT:#key值为左,那么目标值为左
  40.                     changeDirection = 'left'
  41.                 if event.key == K_UP:#key值为上,那么目标值为上
  42.                     changeDirection = 'up'
  43.                 if event.key == K_DOWN:#key值为下,那么目标值为下
  44.                     changeDirection = 'down'
  45.         #分六确定方向
  46.         if changeDirection == 'left' and not direction == 'right':#判断方向为左
  47.            direction = changeDirection#确定
  48.         if changeDirection == 'right'and not direction == 'left':#判断方向为右
  49.             direction = changeDirection#确定
  50.         if changeDirection == 'up'and not direction == 'down':#判断方向为上
  51.             direction = changeDirection#确定
  52.         if changeDirection == 'down'and not direction == 'up':#判断方向为下
  53.             direction = changeDirection#确定


  54.         #分七根据方向移动蛇头的坐标
  55.         if direction =='right':
  56.             snakeposition[0] += 20
  57.         if direction =='left':
  58.             snakeposition[0] += 20
  59.         if direction == 'up':
  60.             snakeposition[1] += 20
  61.         if direction == 'down':
  62.             snakeposition[1] += 20


  63.         #分八增加蛇的长度
  64.         snakebody.insert(0,list(snakeposition))
  65.         #如果贪食蛇和方块重合,成功,标记为0
  66.         if snakeposition[0] ==targetposition[0] and snakeposition[1] == targetposition[1]:
  67.             targetflag = 0
  68.         else:
  69.              snakebody.pop()
  70.              targetflag == 0
  71.         x = random.randrange(1,25)
  72.         y = random.randrange(1,25)
  73.         targetposition =[int(x*20),int(y*20)]


  74.         playsurface.fill(blackcolor)
  75.         for position in snakebody:
  76.              pygame.draw.rect(playsurface,redcolor,Rect(position[0],position[1],20,20))
  77.              pygame.draw.rect(playsurface,whitecolor,Rect(targetposition[0],targetposition[1],20,20))


  78.         pygame.display.flip()

  79.         if snakeposition[0] > 480 or snakeposition[0] < 0:
  80.              gameover()
  81.         elif snakeposition[1] >480 or snakeposition[1] < 0:
  82.              gameover()



  83.         fpsclock.tick(6)

  84. if __name__ == '_main_':
  85.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-6-9 20:17:08 | 显示全部楼层
代码缩进爆了,重新编辑下发吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-10 12:07:22 | 显示全部楼层
本帖最后由 小诺爷 于 2020-6-10 16:26 编辑

求大佬检查代码,为什么运行不出来界面
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-21 14:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表