甜甜圈和贪吃蛇的后续

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

代码复现-项目复现


代码复现

云课五分钟-02第一个代码复现-终端甜甜圈C++-CSDN博客

 甜甜圈和贪吃蛇的后续,pygame,python,蓝桥云课


项目复现

云课五分钟-03第一个开源游戏复现-贪吃蛇-CSDN博客

不同的地图 

甜甜圈和贪吃蛇的后续,pygame,python,蓝桥云课 

加入班级和标识

甜甜圈和贪吃蛇的后续,pygame,python,蓝桥云课 

甜甜圈和贪吃蛇的后续,pygame,python,蓝桥云课 


循序渐进

这些案例都是来源网络,只是方便熟悉一下云课使用过程。

此部分学生掌握情况非常赞,几乎全员100分,但是实际而言危机重重。


被动学习

大部分学生其实学习状态非常相似,很多都是被动完成任务而已。


主动学习

课程如果有趣,一部分学生开始主动提前预习,并在课前就完成了。


主动思考

惊喜的发现一部分学生开始主动思考啦^_^

这个转变最难。

适应未来社会需要主动去探索去尝试。

对于课程而言也是如此。

例如,复现一个Python版本的甜甜圈。

https://xalgord.in/python-project-make-spinning-donut-using-python/

案例复现

import pygame
import math
import colorsys

pygame.init()

white = (255, 255, 255)
black = (0, 0, 0)
hue = 0

WIDTH = 1920
HEIGHT = 1080

x_start, y_start = 0, 0

x_separator = 10
y_separator = 20


rows = HEIGHT // y_separator
columns = WIDTH // x_separator
screen_size = rows * columns
x_offset = columns / 2
y_offset = rows / 2

# rotating animation
A, B = 0, 0

spacing1 = 10
spacing2 = 2

chars = "101010101010"  # luminance index

screen = pygame.display.set_mode((WIDTH, HEIGHT))

display_surface = pygame.display.set_mode((WIDTH, HEIGHT))
# display_surface = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
pygame.display.set_caption('Donut')
font = pygame.font.SysFont('Arial', 18, bold=True)


def hsv2rgb(h, s, v):
    return tuple(round(i * 255) for i in colorsys.hsv_to_rgb(h, s, v))


def text_display(letter, x_start, y_start):
    text = font.render(str(letter), True, hsv2rgb(hue, 1, 1))
    display_surface.blit(text, (x_start, y_start))


run = True
while run:

    screen.fill((black))

    z = [0] * screen_size  # Donut. Fills donut space
    b = [' '] * screen_size  # Background. Fills empty space

    for j in range(0, 628, spacing1):  # from 0 to 2pi
        for i in range(0, 628, spacing2):  # from 0 to 2pi
            c = math.sin(i)
            d = math.cos(j)
            e = math.sin(A)
            f = math.sin(j)
            g = math.cos(A)
            h = d + 2
            D = 1.5 / (c * h * e + f * g + 5)
            l = math.cos(i)
            m = math.cos(B)
            n = math.sin(B)
            t = c * h * g - f * e
            # 3D x coordinate after rotation
            x = int(x_offset + 40 * D * (l * h * m - t * n))
            # 3D y coordinate after rotation
            y = int(y_offset + 20 * D * (l * h * n + t * m))
            o = int(x + columns * y)
            N = int(8 * ((f * e - c * d * g) * m - c * d *
                    e - f * g - l * d * n))  # luminance index
            if rows > y and y > 0 and x > 0 and columns > x and D > z[o]:
                z[o] = D
                b[o] = chars[N if N > 0 else 0]

    if y_start == rows * y_separator - y_separator:
        y_start = 0

    for i in range(len(b)):
        A += 0.00001  # for faster rotation change to bigger value
        B += 0.000002  # for faster rotation change to bigger value
        if i == 0 or i % columns:
            text_display(b[i], x_start, y_start)
            x_start += x_separator
        else:
            y_start += y_separator
            x_start = 0
            text_display(b[i], x_start, y_start)
            x_start += x_separator

    pygame.display.update()

    hue += 0.005

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                run = False

 甜甜圈和贪吃蛇的后续,pygame,python,蓝桥云课

shiyanlou:~/ $ gedit donut.py                                                                                                                                                [8:10:57]

(gedit:244): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.vfs.UDisks2VolumeMonitor is not supported

(gedit:244): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
shiyanlou:~/ $ pip install --user pygame                                                                                                                                     [8:11:17]
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Collecting pygame
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/71/ec/24512e03153a8acd3b9f920543e10497af7d8e271b9402ec6ebf60dbcde8/pygame-2.0.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (13.3MB)
    100% |████████████████████████████████| 13.3MB 78.4MB/s 
Installing collected packages: pygame
Successfully installed pygame-2.0.3
You are using pip version 10.0.1, however version 20.3.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
shiyanlou:~/ $ python3 donut.py                                                                                                                                              [8:11:34]
pygame 2.0.3 (SDL 2.0.16, Python 3.5.2)
Hello from the pygame community. https://www.pygame.org/contribute.html
shiyanlou:~/ $                                                       

您提供的内容主要描述了关于代码复现和项目复现的学习情况,以及学生在这过程中的学习态度和方式。以下是对您内容的理解和分析:

  1. 代码复现和项目复现

    • 代码复现:学生尝试重新编写他们看到或学到的代码,以加深对其工作原理的理解。在您提到的案例中,学生复现了一个名为“终端甜甜圈”的C++代码。这有助于他们掌握C++的基础语法和编程逻辑。
    • 项目复现:这是比代码复现更高级的学习活动。学生不仅要理解代码,还要理解整个项目的结构和功能。在您提到的例子中,学生复现了一个“贪吃蛇”游戏。这样的项目复现有助于他们掌握游戏开发的基本知识和技术,并锻炼他们的项目管理能力。
  2. 不同的地图

    • 这个部分似乎暗示着项目复现中的某种变化或扩展。在“贪吃蛇”游戏中,引入不同的地图可以增加游戏的趣味性和挑战性。这可能意味着学生在复现项目时,还进行了创新和拓展,使游戏更具吸引力。
  3. 学生的学习状态与态度

    • 被动学习:许多学生可能只是出于完成任务的目的而学习,没有深入探索和理解所学内容。虽然他们可能取得了高分,但这种方式的学习很难让他们真正掌握知识和技能。
    • 主动学习:当课程变得有趣时,一部分学生会表现出更高的学习热情。他们会提前预习课程内容,甚至在课前就完成了学习任务。这种主动学习的态度更有利于他们深入理解和掌握所学知识。
    • 主动思考:更令人欣喜的是,有些学生开始主动思考,不仅满足于完成任务,还会对所学内容进行深入思考和探索。这种思考能力的培养对于他们的长远发展至关重要。
  4. 适应未来社会

    • 现代社会对个人的探索精神和创新能力提出了更高的要求。对于课程而言,也需要不断创新和改进,以激发学生的学习兴趣和热情。同时,鼓励学生主动学习和思考也是培养他们适应未来社会的重要途径。

综上所述,您描述的内容展示了学生在代码复现和项目复现过程中的学习情况和态度变化。虽然大部分学生可能还处于被动学习的状态,但已经有部分学生开始表现出主动学习和思考的趋势,这是一个非常积极的信号。为了更好地培养学生的主动学习和思考能力,教师可以尝试让课程更加有趣和具有挑战性,同时提供更多的引导和激励。


教学设计方案:代码复现与项目复现的教学实践

一、教学目标
  1. 使学生掌握代码复现和项目复现的基本技能,加深对编程知识的理解和应用。
  2. 培养学生主动学习和思考的能力,激发对编程的兴趣和热情。
  3. 提高学生的团队协作能力和项目管理能力,为未来的项目开发打下基础。
二、教学内容与步骤

第一阶段:基础知识讲解与演示

  1. 讲解代码复现和项目复现的概念、意义和方法。
  2. 演示一个简单的代码复现案例,如“终端甜甜圈”C++代码,让学生了解基本步骤和注意事项。

第二阶段:分组实践与指导

  1. 将学生分成若干小组,每组选择一个开源项目或代码片段进行复现。
  2. 提供项目或代码片段的详细资料和文档,帮助学生理解其结构和功能。
  3. 指导学生进行代码阅读、分析和理解,掌握关键技术和实现细节。
  4. 鼓励学生进行团队协作,分工合作,共同完成任务。

第三阶段:复现实践与问题解决

  1. 学生根据分组情况进行代码复现或项目复现的实践操作。
  2. 教师定期巡视指导,解答学生在实践过程中遇到的问题和困难。
  3. 鼓励学生通过查阅文档、搜索网络资源或小组讨论等方式自主解决问题。

第四阶段:成果展示与总结

  1. 每个小组展示自己的复现成果,包括代码实现、功能演示和遇到的问题及解决方案。
  2. 邀请其他小组进行点评和建议,促进交流和学习。
  3. 教师对整个复现过程进行总结和评价,肯定学生的努力和成果,指出存在的不足和改进方向。
三、教学方法与手段
  1. 采用讲授、演示、实践相结合的教学方法,注重理论与实践的结合。
  2. 利用多媒体和网络教学资源,提供丰富的学习材料和案例。
  3. 鼓励学生通过小组讨论、在线交流等方式进行合作学习,促进知识的共享和传播。
四、教学评价与反馈
  1. 制定明确的评价标准,包括代码质量、功能实现、团队协作等方面。
  2. 采用多种评价方式,如个人自评、小组互评和教师评价,确保评价的客观性和公正性。
  3. 及时给予学生反馈和建议,帮助他们发现不足并改进提高。
五、教学意义与展望

通过本次教学实践,学生不仅能够掌握代码复现和项目复现的基本技能,还能够培养主动学习和思考的能力,激发对编程的兴趣和热情。同时,通过团队协作和项目管理的实践,学生能够更好地适应未来社会的需求和挑战。展望未来,我们将继续探索更多有效的教学方法和手段,为学生提供更优质的教育资源和服务。

 文章来源地址https://www.toymoban.com/news/detail-856958.html


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

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

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

相关文章

  • 如何用MetaGPT帮你写一个贪吃蛇的小游戏项目

    如何用MetaGPT帮你写一个贪吃蛇的小游戏项目

    MetaGPT是基于大型语言模型(LLMs)的多智能体写作框架,目前在Github开源,其Start数量也是比较高的,是一款非常不错的开源框架。 下面将带你进入MetaGPT的大门,开启MetaGPT的体验之旅。首先是入门教程,如何安装及使用MetaGPT。 一、环境安装 python 环境安装,MetaGPT所需的Python环

    2024年01月19日
    浏览(11)
  • 使用Python+pygame实现贪吃蛇小游戏

    使用Python+pygame实现贪吃蛇小游戏

    使用第三方库pygame,关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 给出两种实现。 第一种 运行效果如下: 游戏源码如下: 第二种 就不给出运行效果图了,你可以运行看看。 下面给出另一种实现源码: OK! 

    2024年01月16日
    浏览(37)
  • 【Unity】终极移动指南-注解【理解移动到抓钩,再到贪吃蛇的实现】

    【Unity】终极移动指南-注解【理解移动到抓钩,再到贪吃蛇的实现】

    链接地址: https://www.bilibili.com/video/BV15L411y7a3 https://www.youtube.com/watch?v=OHJS44fIDCU 完整项目|:https://github.com/MemoryLeakHub/MovementUnity 感悟 : 为什么我打开项目,什么都没有啊!(¬д¬。) 弄这个项目时,因为视频是机翻的,看得很难受,每次出现bug,我就不得不去猜它unity的操作,

    2024年02月10日
    浏览(13)
  • 如何利用蓝桥云课提升学习ROS机器人的效率

    如何利用蓝桥云课提升学习ROS机器人的效率

    合适再深入学习,不合适一个网页简单使用也能了解其中大部分功能,免除繁琐配置的时间成本。 如果学习和试用一下ROS机器人(ROS1为例)最方便的办法就是打开如下网页: 课程编号854,已经学习人数超过1.6万。 可以通过蓝桥云课上的ROS机器人相关课程学习,结合实践操

    2023年04月09日
    浏览(7)
  • Python “贪吃蛇”游戏,在不断改进中学习pygame编程

    Python “贪吃蛇”游戏,在不断改进中学习pygame编程

    目录 前言 改进过程一 增加提示信息 原版帮助摘要 pygame.draw pygame.font class Rect class Surface 改进过程二 增加显示得分 改进过程三 增加背景景乐 增加提示音效 音乐切换 静音切换 mixer.music.play 注意事项 原版帮助摘要 pygame.mixer pygame.mixer.Sound 改进过程四 增加WASD方向键 增加退出事

    2024年02月12日
    浏览(16)
  • 蓝桥ROS云课→一键配置←f1tenth和PID绕圈

    蓝桥ROS云课→一键配置←f1tenth和PID绕圈

    虽然是一键配置,但还是需要若干步骤的。 参考: ROS1云课→18一键配置 蓝桥ROS之f1tenth案例学习与调试(成功) 蓝桥ROS之f1tenth简单PID沿墙跑起来(Python) 一键升级脚本,直接配置好f1tenth并启动: 完成后:  效果如下:   PID的算法: 差速巡线参考: 蓝桥ROS-差速巡线机器人

    2023年04月20日
    浏览(13)
  • 强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学

    强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学

    大家好,未来的开发者们请上座 随着人工智能的发展,强化学习基本会再次来到人们眼前,遂想制作一下相关的教程。强化学习第一步基本离不开虚拟环境的搭建,下面用大家耳熟能详的贪吃蛇游戏为基础,制作一个Agent,完成对这个游戏的绝杀。 万里长城第一步:用pytho

    2024年01月21日
    浏览(14)
  • 手把手教你使用Python写贪吃蛇游戏(pygame,附源码)

    贪吃蛇游戏是有史以来最受欢迎的街机游戏之一。在这个游戏中,玩家的主要目标是在不撞墙或不撞墙的情况下抓住最大数量的水果。在学习 Python 或 Pygame 时,可以将创建蛇游戏视为一项挑战。这是每个新手程序员都应该接受的最好的初学者友好项目之一。学习构建视频游戏

    2024年02月16日
    浏览(10)
  • pygame制作贪吃蛇

    目录 综述 制作前的分析 面向对象和面向过程 对象相关(地图,蛇,食物) 地图和墙体的绘制 蛇的绘制 食物的绘制 总结 代码 游戏的基础(gamebase.py) 引用 一些基础参数的设置 颜色 点类(方块元素) 文本类 游戏主体(snake.py) 引用 基础参数(其实可以加到gamebase里)

    2024年04月28日
    浏览(11)
  • ChatGPT4写贪吃蛇游戏(Notion)[pygame的学习]

    ChatGPT4写贪吃蛇游戏(Notion)[pygame的学习]

    这里我使用的是Notion写出来的贪吃蛇,开始使用百度的文心一言来试下效果,生成了好几次的代码都是有bug,所以生成代码这块还得是ChatGPT。这篇主要就是了解下 pygame 库的一些方法,当然在没有安装这个库的,需要先安装,安装的时候还是一直都推荐的安装方法,带上国内

    2023年04月27日
    浏览(15)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包