贪吃蛇程序设计报告python_20192116 2019-2020-2 《Python程序设计》实验四报告

20192116 2019-2020-2 《Python程序设计》实验四报告

课程:《Python程序设计》

班级: 1921

姓名: 饶欢

学号:20192116

实验教师:王志强

实验日期:2020年6月1日

必修/选修: 公选课

1.实验内容

用python做一个贪吃蛇小游戏

2.实验设计

1.用小方块来模拟蛇的身体

2.用方块的加减来模拟蛇的运动

3用onkey来监视键盘来控制蛇的移动

4随机产生食物,当蛇的头与食物重合时食物消失,蛇的方块数增加

5设置边界,设置失败条件

3. 实验过程及结果

模拟蛇

模拟蛇的运动

控制蛇的方向

设置边界

总程序

效果

和经常玩的贪吃蛇无差别

4.实验过程中遇到的问题和解决过程

问题1:如何用键盘来控制蛇的方向?

用turtle.listen()来监听键盘用方向函数来控制方向。

问题2:如何让蛇吃到食物,食物消失,蛇边长?

引入随机数来随机生成食物from random import randrange

当食物与蛇头重合时,判定为蛇吃到了食物,蛇变长.

问题3:边界如何设置?

用turtle.setup来设置边界   定义函数当蛇头超过边界是,判定为失败。

参考资料

《python从入门到实践》

全课总结:

通过Python程序设计这门课,我了解了python的基本语法和基本功能,学会了用python来简单的编程,学习途中需要上课与课后都努力才能学好,增强了自己自主学习的能力和动手的能力。

课程内容一环套一环,从一开始的基本语法,到后来的面向对象编程,到文件的操作,到数据库,再到爬虫。python语言非常的强大,实用。在今后的学习生活中我也会继续自学python。

对于本课的建议:非常感谢王老师的辛勤教导,上课一丝不苟,答疑一针见血。建议:我认为可以多向同学们展示python的强大,以此来增强学生的热情。最后希望python程序设计这堂课越办越好!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你设计一个简单的贪吃游戏。 首先,你需要安装 Python 编程语言和 Pygame 游戏引擎。在安装完成后,你可以创建一个 Python 文件,命名为 "snake.py"。 在文件中,你需要导入 Pygame 引擎和一些常用的 Python 模块: ```python import pygame import random import time ``` 接下来,你需要定义一些常量,如游戏窗口的宽度和高度、的初始位置和大小、食物的位置和大小等等: ```python # 游戏窗口的宽度和高度 WINDOW_WIDTH = 600 WINDOW_HEIGHT = 600 # 的初始位置和大小 SNAKE_X = 250 SNAKE_Y = 250 SNAKE_SIZE = 20 # 食物的位置和大小 FOOD_SIZE = 20 ``` 然后,你需要定义一些函数来绘制游戏窗口、、食物等等: ```python # 绘制游戏窗口 def draw_window(): window.fill((255, 255, 255)) # 绘制 def draw_snake(snake_list): for snake in snake_list: pygame.draw.rect(window, (0, 255, 0), [snake[0], snake[1], SNAKE_SIZE, SNAKE_SIZE]) # 绘制食物 def draw_food(food_x, food_y): pygame.draw.rect(window, (255, 0, 0), [food_x, food_y, FOOD_SIZE, FOOD_SIZE]) ``` 接着,你需要定义一些变量,如的初始位置、的长度、的速度、食物的位置等等: ```python # 的初始位置和长度 snake_x = SNAKE_X snake_y = SNAKE_Y snake_length = 1 snake_list = [] # 的速度 snake_speed = 20 # 食物的位置 food_x = random.randint(0, WINDOW_WIDTH - FOOD_SIZE) food_y = random.randint(0, WINDOW_HEIGHT - FOOD_SIZE) ``` 然后,你需要在游戏循环中不断更新的位置、检测是否撞到墙壁或自己的身体、检测是否吃到了食物等等: ```python while True: # 绘制游戏窗口 draw_window() # 绘制食物 draw_food(food_x, food_y) # 移动 snake_x += snake_speed snake_y += snake_speed # 检测是否撞到墙壁或自己的身体 if snake_x < 0 or snake_x > WINDOW_WIDTH - SNAKE_SIZE or snake_y < 0 or snake_y > WINDOW_HEIGHT - SNAKE_SIZE: # 游戏结束 break # 检测是否吃到了食物 if snake_x == food_x and snake_y == food_y: # 增加的长度 snake_length += 1 # 随机生成新的食物位置 food_x = random.randint(0, WINDOW_WIDTH - FOOD_SIZE) food_y = random.randint(0, WINDOW_HEIGHT - FOOD_SIZE) # 更新的位置 snake_list.append([snake_x, snake_y]) if len(snake_list) > snake_length: del snake_list[0] # 绘制 draw_snake(snake_list) # 刷新游戏窗口 pygame.display.update() # 控制游戏帧率 clock.tick(10) ``` 最后,你需要启动 Pygame 引擎、创建游戏窗口并进入游戏循环: ```python # 启动 Pygame 引擎 pygame.init() # 创建游戏窗口 window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) # 设置游戏标题 pygame.display.set_caption("贪吃") # 创建游戏时钟 clock = pygame.time.Clock() # 进入游戏循环 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: # 退出游戏 pygame.quit() quit() # 开始游戏 play_game() # 控制游戏帧率 clock.tick(10) ``` 这就是一个简单的贪吃游戏的基本代码。你可以根据自己的需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值