【豆包MarsCode 蛇年编程大作战】蛇形烟花

项目体验地址:项目体验地址

官方活动地址:活动地址


目录

【豆包MarsCode 蛇年编程大作战】蛇形烟花演示

引言

豆包 MarsCode介绍

项目准备

第一步:安装插件

第二步:点击豆包图标来进行使用豆包

使用豆包 MarsCodeAI助手实现蛇形烟花

没有优化提示词之前

优化提示词后

豆包MarsCode的优势

整体代码


 

【豆包MarsCode 蛇年编程大作战】蛇形烟花演示

引言

作为豆包官方蛇年创意项目的参与者,我选择运用豆包 MarsCode 来打造别具一格的蛇形烟花特效。在项目推进过程中,我深刻体会到精准提示词的关键作用。起初,由于提示词不够精准,豆包生成的代码与我心中的预期效果存在偏差。但经过反复摸索与深入研究,我逐渐掌握了其中的门道:得先向豆包清晰阐明项目的整体目标,再围绕细节层层追问。

就拿这次的蛇形烟花来说,我详细描述道:烟花在升空之际,灵动地左右摇曳,勾勒出蜿蜒的蛇形轨迹;抵达预定高度后,瞬间炸裂成无数绚丽粒子,绽放夜空。在视觉呈现上,借助半透明背景精心营造出梦幻的拖尾效果,同时强化轨迹线条渲染,让烟花的每一次绽放都极具视觉冲击力。交互设计方面也独具匠心,设置便捷按钮用以手动触发烟花发射,每 2 秒便有新的烟花冲向苍穹,多枚烟花还可同时闪耀天际,互不干扰。

经我这般细致入微的设定,豆包迅速领会意图,轻松将我脑海中的梦幻场景完美复刻,高效呈现出令人惊叹的蛇形烟花特效。

豆包 MarsCode介绍

  1. 智能代码补全
    MarsCode 搭载了先进的人工智能算法,能够深度理解代码上下文,在您输入代码的瞬间,精准预测后续的代码片段。无论是常见的函数调用、变量命名,还是复杂的类结构初始化,它都能给出符合编程规范与逻辑的补全建议,大大节省敲击键盘的时间,让编程流程如丝般顺滑。
  2. 代码错误检测与修复
    编写代码过程中,语法错误与逻辑漏洞常常令人头疼。MarsCode 具备敏锐的 “洞察力”,它会实时扫描您的代码,一旦发现错误,不仅能精准定位问题所在,还会提供详细的修复方案。无论是简单的拼写错误、括号不匹配,还是深层次的算法逻辑偏差,都逃不过它的 “法眼”,帮助您快速排除故障,确保代码质量。
  3. 多语言支持
    深知开发者们在不同项目中会涉猎多种编程语言,MarsCode 打破了语言壁垒,全面兼容 Python、Java、C++、JavaScript 等主流编程语言,以及新兴的如 Rust、Go 等语言。无论您是专注于后端开发、前端交互、移动端应用,还是深入数据科学、人工智能领域,MarsCode 都能成为您得心应手的编码伴侣。
  4. 项目代码导航与理解
    面对大型复杂项目,海量的代码文件和错综复杂的模块关系极易让人迷失方向。MarsCode 为您点亮前行的路,通过可视化的代码导航功能,清晰呈现项目的架构层次,让您能够快速在不同文件、函数间跳转,轻松理解代码流程,无论是接手新项目还是回溯旧代码,都能胸有成竹。

 

项目准备

首先我们需要在IDEA或者VSCode中安装豆包MarsCode插件,这里我使用VSCode来进行举例:

第一步:安装插件

直接搜索MarsCode后点击Install进行安装,安装完成后先登录账号,随后切记要进行重启要不然插件不会生效。

第二步:点击豆包图标来进行使用豆包

使用豆包 MarsCodeAI助手实现蛇形烟花

当我详细的对豆包表达我的需求之后,豆包给了我想要的效果,但是在之前由于我的表达不明确导致实现的效果并不好!

没有优化提示词之前

这个时候跟我想要的区别巨大

优化提示词后

随后我开始优化提示词:

我想开发一个蛇形烟花秀的HTML、JS、CSS作品,效果是烟花像蛇一样蜿蜒移动,然后爆炸成粒子效果。首先需要一个画布元素(canvas)来绘制动画。然后,用JavaScript来控制烟花的运动和绘制。CSS用于美化页面背景和按钮样式。接下来,蛇形移动的实现。蛇形通常是指有多个节点组成的身体,每个节点跟随前一个节点的路径。可以用一个数组来保存每个节点的位置,然后每帧更新节点的位置,让后面的节点跟随前面的。比如,头部按一定方向移动,身体节点逐步跟随。然后,烟花爆炸的效果。当蛇到达某个点或者用户点击时,烟花爆炸成多个粒子。粒子需要有散开的效果,用随机角度和速度,同时考虑重力下落。颜色方面,可以让蛇和烟花有不同的颜色,增加视觉效果。用HSL颜色模式,根据角度变化颜色,或者随机选择颜色。用户交互部分,需要一个按钮来触发烟花秀。事件监听器来处理点击事件,然后生成蛇形烟花。

我优化提示词思路逻辑表达清晰后,这次效果真的比我想象中的还好!!!

 

豆包MarsCode的优势

  • 智能代码生成:通过自然语言描述需求,AI自动生成代码片段或函数逻辑。

  • 实时纠错与优化:智能检测代码错误、性能瓶颈,并提供修复建议,降低调试成本。

  • 文档自动生成:根据代码结构自动生成API文档,减少手动维护成本。

整体代码

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>蛇形烟花雨</title><style>body {margin: 0;overflow: hidden;background-color: #000;}canvas {display: block;}#controls {position: fixed;top: 20px;left: 20px;}button {padding: 10px 20px;background-color: #2196F3;border: none;color: white;border-radius: 5px;cursor: pointer;}</style>
</head>
<body><div id="controls"><button onclick="launch()">发射烟花蛇 🎆</button></div><canvas id="canvas"></canvas><script>const canvas = document.getElementById('canvas');const ctx = canvas.getContext('2d');// 正确设置画布尺寸function resizeCanvas() {canvas.width = window.innerWidth;canvas.height = window.innerHeight;}resizeCanvas();window.addEventListener('resize', resizeCanvas);class Particle {constructor(x, y, color) {this.x = x;this.y = y;this.color = color;this.radius = Math.random() * 2 + 1;this.velocity = {x: (Math.random() - 0.5) * 5,y: (Math.random() - 0.5) * 5};this.alpha = 1;}draw() {ctx.globalAlpha = this.alpha;ctx.beginPath();ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2);ctx.fillStyle = this.color;ctx.fill();}update() {this.draw();this.x += this.velocity.x;this.y += this.velocity.y;this.alpha -= 0.005;}}class Firework {constructor(x, y, targetY, color) {this.x = x;this.y = y;this.targetY = targetY;this.color = color;this.velocity = { x: 0, y: 5 };this.angle = 0;this.trail = [];this.exploded = false;}draw() {// 绘制轨迹ctx.strokeStyle = this.color;ctx.lineWidth = 2;ctx.beginPath();ctx.moveTo(this.trail[0].x, this.trail[0].y);this.trail.forEach(pos => ctx.lineTo(pos.x, pos.y));ctx.stroke();// 绘制头部ctx.fillStyle = this.color;ctx.beginPath();ctx.arc(this.x, this.y, 3, 0, Math.PI * 2);ctx.fill();}update() {if (this.exploded) return;// 蛇形运动this.angle += 0.15;this.x += Math.sin(this.angle) * 3;this.y -= this.velocity.y;// 记录轨迹this.trail.push({ x: this.x, y: this.y });if (this.trail.length > 25) this.trail.shift();// 到达目标高度时爆炸if (this.y <= this.targetY) {this.explode();this.exploded = true;}this.draw();}explode() {for (let i = 0; i < 80; i++) {particles.push(new Particle(this.x, this.y, this.color));}}}let fireworks = [];let particles = [];function animate() {ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';ctx.fillRect(0, 0, canvas.width, canvas.height);// 更新烟花fireworks = fireworks.filter(firework => {firework.update();return !firework.exploded;});// 更新粒子particles = particles.filter(particle => {particle.update();return particle.alpha > 0;});requestAnimationFrame(animate);}function launch() {const colors = ['#FF0000', '#00FF00', '#FFFF00', '#00FFFF', '#FF00FF'];const color = colors[Math.floor(Math.random() * colors.length)];fireworks.push(new Firework(Math.random() * canvas.width,  // 随机起始位置canvas.height,Math.random() * canvas.height/2,color));}// 添加自动发射和点击发射animate();setInterval(launch, 2000);// 添加点击事件监听canvas.addEventListener('click', launch);</script>
</body>
</html>

@豆包MarsCode

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode151-反转字符串中的单词

leetcode 151 思路 时间复杂度&#xff1a;O(n) 空间复杂度&#xff1a;O(n) 首先将字符串转为数组&#xff0c;这样可以方便进行操作&#xff0c;然后定义一个新的数组来存放从后到前的单词&#xff0c;由于arr中转换以后可能会出现有些项是空格的情况&#xff0c;所以需要判…

Precharge和Self-refresh的区别

一、区别说明 操作目标&#xff1a; Precharge&#xff08;预充电&#xff09;&#xff1a;此操作的主要目标是关闭存储器中某个或所有Bank中现有的工作行&#xff08;active row&#xff09;&#xff0c;并准备打开新的工作行。这是为了确保存储器的连续访问能够高效、可靠地进…

基于本地事务表+MQ实现分布式事务

基于本地事务表MQ实现分布式事务 引言1、原理2、本地消息表优缺点3、代码实现3.1、代码执行流程3.2、项目结构3.3、项目源码 引言 本地消息表的方案最初由ebay的工程师提出&#xff0c;核心思想是将分布式事务拆分成本地事务进行处理。本地消息表实现最终一致性。本文主要学习…

HTML<label>标签

例子 三个带标签的单选按钮&#xff1a; <form action"/action_page.php"> <input type"radio" id"html" name"fav_language" value"HTML"> <label for"html">HTML</label><br&…

2025,“鱿鱼游戏”闯入AI赛道

文 | 智能相对论 作者 | 叶远风 “鱿鱼游戏”一词随着同名剧集的火爆而持续走红&#xff0c;在全球范围掀起了广泛热议。而这种无限生存流的游戏模式&#xff0c;既残酷又现实&#xff0c;像极了商业市场的搏杀与淘汰。 1月20日&#xff0c;DeepSeek发布了全新的开源推理大模…

Prometheus+grafana实践:Doris数据库的监控

文章来源&#xff1a;乐维社区 Doris数据库背景 Doris&#xff08;Apache Doris&#xff09;是一个现代化的MPP&#xff08;Massive Parallel Processing&#xff0c;大规模并行处理&#xff09;数据库&#xff0c;主要用于在线分析处理&#xff08;OLAP&#xff09;场景。 D…

【unity游戏开发之InputSystem——02】InputAction的使用介绍(基于unity6开发介绍)

文章目录 前言一、InputAction简介1、InputAction是什么&#xff1f;2、示例 二、监听事件started 、performed 、canceled1、启用输入检测2、操作监听相关3、关键参数 CallbackContext4、结果 三、InputAction参数相关1、点击齿轮1.1 Actions 动作&#xff08;1&#xff09;动…

从Spring请求处理到分层架构与IOC:注解详解与演进实战

引言 在Spring开发中&#xff0c;请求参数处理、统一响应格式、分层架构设计以及依赖管理是构建可维护应用的核心要素。然而&#xff0c;许多开发者在实践中常面临以下问题&#xff1a; 如何规范接收不同格式的请求参数&#xff1f; 为何要引入分层架构&#xff1f; 什么是控…

详解Redis的Zset类型及相关命令

目录 Zset简介 ZADD ZCARD ZCOUNT ZRANGE ZREVRANGE ZRANGEBYSCORE ZPOPMAX BZPOPMAX ZPOPMIN BZPOPMIN ZRANK ZREVRANK ZSCORE ZREM ZREMRANGEBYRANK ZREMRANGEBYSCORE ZINCRBY ZINTERSTORE 内部编码 应用场景 Zset简介 有序集合相对于字符串、列表、哈希…

Node.js下载安装及环境配置教程 (详细版)

Node.js&#xff1a;是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;用于构建可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型&#xff0c;使其非常适合构建实时应用程序。 Node.js 提供了一种轻量、高效、可扩展的方式来构建网络应用程序&#xff0…

日志收集Day005

1.filebeat的input类型之filestream实战案例: 在7.16版本中已经弃用log类型,之后需要使用filebeat,与log不同&#xff0c;filebeat的message无需设置就是顶级字段 1.1简单使用&#xff1a; filebeat.inputs: - type: filestreamenabled: truepaths:- /tmp/myfilestream01.lo…

Vue中设置报错页面和“Uncaught runtime errors”弹窗关闭

文章目录 前言操作步骤大纲1.使用Vue自带的报错捕获机制添加报错信息2.在接口报错部分添加相同机制3.把报错信息添加到Vuex中方便全局使用4.添加报错页面备用5.app页面添加if判断替换报错界面 效果备注&#xff1a;vue项目中Uncaught runtime errors:怎样关闭 前言 在开发Vue项…

01、硬件设计常用经典电路

前言 一直想入职嵌入式软件&#xff0c;但是25年作为学历一般的应届生真是太难了&#xff0c;于是今年实习就不想跑太远了&#xff0c;就在老家5线小城市进入了一家小企业&#xff0c;当电子工程师实习&#xff08;学徒&#xff09;。 抱着入职什么&#xff0c;就学习什么的态…

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具&#xff0c;类似于AIVsCode的结合体&#xff0c;只要绑定chatgpt、claude等大模型API&#xff0c;就可以实现对话式自助编程&#xff0c;简单闲聊几句便可开发一个软件应用。 但cursor受限于外网&#xff0c;国内用户玩不了&#xff0c;…

微信小程序中常见的 跳转方式 及其特点的表格总结(wx.navigateTo 适合需要返回上一页的场景)

文章目录 详细说明总结wx.navigateTo 的特点为什么 wx.navigateTo 最常用&#xff1f;其他跳转方式的使用频率总结 以下是微信小程序中常见的跳转方式及其特点的表格总结&#xff1a; 跳转方式API 方法特点适用场景wx.navigateTowx.navigateTo({ url: 路径 })保留当前页面&…

[Unity 热更方案] 使用Addressable进行打包管理, 使用AssetBundle进行包的加载管理.70%跟练

在正常的开发过程中我们经常遇到一些关于热更的方案,有一些已有的方案供我们选择,但是实机情况往往不尽如人意,各有优缺点. 现在我们同样有一个热更的需求,但是要求打包简单,加载过程可查,防止出现一些资源和流程的问题. 下面介绍我在项目中使用的方案. 打包方面使用Addressabl…

寒假1.23

题解 web&#xff1a;[极客大挑战 2019]Secret File&#xff08;文件包含漏洞&#xff09; 打开链接是一个普通的文字界面 查看一下源代码 发现一个链接&#xff0c;点进去看看 再点一次看看&#xff0c;没什么用 仔细看&#xff0c;有一个问题&#xff0c;当点击./action.ph…

Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)

在本系列的上篇中&#xff0c;小李哥为大家介绍了如何在亚马逊云科技上给社交数字营销场景创建AI代理的方案&#xff0c;用于社交动态的生成和对文章进行推广曝光。在本篇中小李哥将继续本系列的介绍&#xff0c;为大家介绍如何创建主代理&#xff0c;将多个子代理挂载到主代理…

【游戏设计原理】81 - 功能可见性暗示

一、什么是功能可见性&#xff1f; 功能可见性&#xff08;Affordance&#xff09;是一个设计心理学的概念&#xff0c;指的是物体或界面元素通过其外观或形态向用户传递的功能暗示。换句话说&#xff0c;功能可见性是指一个物体本身所具备的特性&#xff0c;使人能直接感知到…

Latex常用语法介绍

LaTeX 是一种基于 TeX 的排版系统&#xff0c;专注于高质量文档的排版&#xff0c;尤其适合学术论文、技术报告、书籍等复杂格式的文档。以下是 LaTeX 的核心语法和功能的详细介绍&#xff1a; 一、LaTeX 文档结构 1. 基本框架 每个 LaTeX 文档由 导言区 和 正文区 组成&…