当前位置: 首页 > article >正文

vue.js 课程自己编写小游戏

一、太空大战template div classgame keydownonKey tabindex0 div classscore分数{{ score }}/div !-- 子弹 -- div classbullet v-for(b, i) in bullets :keyi :style{ left: b.x px, top: b.y px } /div !-- 怪物 -- div classenemy v-for(e, i) in enemys :keyi :style{ left: e.x px, top: e.y px } /div !-- 飞机 -- div classplane :style{ left: planeX px }✈️/div !-- 游戏结束 -- div classgame-over v-ifgameOver h2游戏结束/h2 p最终得分{{ score }}/p /div /div /template script setup import { ref } from vue const planeX ref(200) const bullets ref([]) const enemys ref([]) const score ref(0) const gameOver ref(false) // 左右移动 空格发射 const onKey (e) { if (gameOver.value) return if (e.key ArrowLeft) planeX.value - 15 if (e.key ArrowRight) planeX.value 15 if (e.key ) { bullets.value.push({ x: planeX.value 10, y: 550 }) } } // 子弹飞行 setInterval(() { if (gameOver.value) return bullets.value.forEach(b b.y - 8) bullets.value bullets.value.filter(b b.y 0) }, 30) // 自动生成怪物 setInterval(() { if (gameOver.value) return enemys.value.push({ x: Math.random() * 350, y: 0 }) }, 1000) // 怪物下落 setInterval(() { if (gameOver.value) return enemys.value.forEach(e e.y 3) // 怪物到底部 游戏结束 enemys.value.forEach(e { if (e.y 570) gameOver.value true }) }, 40) // 碰撞检测 计分 setInterval(() { if (gameOver.value) return bullets.value.forEach((b, bi) { enemys.value.forEach((e, ei) { if (Math.abs(b.x - e.x) 20 Math.abs(b.y - e.y) 20) { bullets.value.splice(bi, 1) enemys.value.splice(ei, 1) score.value 10 } }) }) }, 50) /script style .game { width: 400px; height: 600px; background: #111; margin: 20px auto; position: relative; outline: none; color: white; overflow: hidden; } .score { position: absolute; top: 10px; left: 10px; font-size: 18px; z-index: 10; } .plane { font-size: 30px; position: absolute; bottom: 20px; } .bullet { width: 4px; height: 12px; background: yellow; position: absolute; } .enemy { font-size: 24px; position: absolute; } .game-over { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: red; font-size: 20px; background: #000; padding: 20px 40px; border: 2px solid red; } /style

相关文章:

vue.js 课程自己编写小游戏

一、太空大战<template><div class"game" keydown"onKey" tabindex"0"><div class"score">分数&#xff1a;{{ score }}</div><!-- 子弹 --><divclass"bullet"v-for"(b, i) in bulle…...

聚焦:Perfect Corp. 利用 NVIDIA TensorRT 和 NVENC 实现个性化的数字化美妆体验

增强现实 (AR) 和 AI 通过提供从虚拟试用到 AI 驱动的造型推荐等超个性化体验&#xff0c;正在彻底改变美妆和时尚行业。这些创新解决了一个长期难题&#xff1a;弥合数字购物与店内体验之间的差距。它们可以帮助消费者做出自信的购买决策&#xff0c;而无需亲自尝试产品。 实…...

AI大模型赋能财务小白:提升效率与风险防控收藏指南

本文探讨了如何利用GPT、Kimi、DEEPSEEK等免费AI通用大模型工具提升财务工作效率&#xff0c;涵盖财务报表编制、税务申报、数据分析、风险预警等实操应用。同时&#xff0c;详细阐述了数据脱敏、网络环境安全、权限管理等风险防控措施&#xff0c;帮助财务人员安全高效地运用A…...

2026年论文格式全攻略!GB/T 7713.1新国标解读+排版实战指南

2026年论文格式全攻略&#xff01;GB/T 7713.1新国标解读排版实战指南 论文格式到底是很多毕业生在提交论文前的"最后一关"&#xff0c;也是最容易被忽视的扣分项。我们对GB/T 7713.1-2025新国标及各高校最新格式要求进行了系统梳理&#xff0c;同时实测了知学术自动…...

DFT计算如何分析电子转移?

在DFT计算中&#xff0c;电子转移不是简单的电子从A跑到B&#xff0c;而是涉及电荷重新分布、成键极化、轨道相互作用、局域化特征等多层次的现象。单纯看总能量或几何结构&#xff0c;很难抓住本质。只有通过多维度波函数和电子密度分析&#xff0c;才能真正看清电子是怎么流动…...

Figma中文界面插件:让全球顶尖设计工具真正为你所用

Figma中文界面插件&#xff1a;让全球顶尖设计工具真正为你所用 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾经面对Figma的英文界面感到束手无策&#xff1f;那些复杂的专业…...

MacBook Touch Bar Windows驱动完全指南:解锁跨系统触控交互的终极方案

MacBook Touch Bar Windows驱动完全指南&#xff1a;解锁跨系统触控交互的终极方案 【免费下载链接】DFRDisplayKm Windows infrastructure support for Apple DFR (Touch Bar) 项目地址: https://gitcode.com/gh_mirrors/df/DFRDisplayKm 你是否在MacBook Pro上运行Win…...

第7章:流量获取与粉丝冷启动 /《程序员AI时代实现 直播知识付费实现月入100万的落地详细实战方案》

第7章:流量获取与粉丝冷启动 "我技术很好,但是根本没有人来看我直播怎么办?"这是在我微信私信和各个技术社群里被问得最多的一个问题。每次看到这个问题,我都能切身感受到那种无力感——自己明明在专业上花了这么多年时间,肚子里有东西,但就因为没人知道你的存…...

如何在Windows上快速安装和使用Poppler PDF处理工具

如何在Windows上快速安装和使用Poppler PDF处理工具 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 还在为Windows系统上处理PDF文件而烦恼吗&…...

DM644x嵌入式Linux系统构建与优化实战

1. DM644x嵌入式Linux系统构建概述DM644x系列处理器是德州仪器(TI)推出的多媒体处理芯片&#xff0c;采用ARMDSP双核架构&#xff0c;广泛应用于视频监控、工业控制等领域。构建嵌入式Linux系统需要三个核心组件&#xff1a;引导程序(u-boot)、定制化Linux内核和根文件系统。与…...

基于OpenTelemetry与Prometheus构建Claude Code可观测性监控体系

1. 项目概述&#xff1a;为Claude Code构建可观测性监控体系如果你正在使用Claude Code进行AI辅助编程&#xff0c;并且对它的使用成本、效率以及内部运行状态感到好奇&#xff0c;那么今天分享的这个项目正是为你准备的。我最近花了不少时间&#xff0c;基于OpenTelemetry、Pr…...

AISMM模型首次公开拆解:4大维度、12项指标、1张决策图谱,专治“讲不清价值”顽疾

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AISMM模型与投资人沟通 核心价值对齐机制 AISMM&#xff08;AI-Driven Strategic Market Mapping&#xff09;模型通过结构化数据层、语义意图解析器和动态反馈环&#xff0c;将技术团队的工程语言实…...

AI Team OS:从被动助手到自主协作的AI团队操作系统深度解析

1. 项目概述&#xff1a;从“你问我答”到“自主运转”的AI团队操作系统如果你用过Claude Code、Cursor或者GitHub Copilot&#xff0c;那你一定熟悉这个场景&#xff1a;你输入一个指令&#xff0c;AI助手生成一段代码或一个建议&#xff0c;然后它就停在那里&#xff0c;等待…...

OpenClawUI:开源大模型现代化Web界面部署与实战指南

1. 项目概述&#xff1a;一个为开源AI模型打造的现代化Web界面最近在折腾本地部署大语言模型的朋友&#xff0c;估计都绕不开一个痛点&#xff1a;那些功能强大的开源模型&#xff0c;比如Llama、Qwen、Mistral&#xff0c;它们自带的交互方式要么是冷冰冰的命令行&#xff0c;…...

使用 Ollama 本地部署 Qwen3.5-4B 多模态模型

使用 Ollama 本地部署 Qwen3.5-4B 多模态模型 背景 对于大模型初学者来说&#xff0c;本地部署的第一步不一定是直接追求最大、最强的模型&#xff0c;而是先把完整流程跑通。一个比较完整的入门流程通常包括&#xff1a; 下载模型本地运行模型命令行对话API 调用图片输入测试查…...

嵌入式系统中ASN.1数据处理的优化策略与实践

1. ASN.1在嵌入式系统中的核心挑战在嵌入式系统开发中处理ASN.1数据面临着独特的挑战。与通用计算环境不同&#xff0c;嵌入式设备通常具有严格的内存限制、有限的处理能力和苛刻的实时性要求。让我们先看一个典型的场景&#xff1a;当设备需要处理X.509证书时&#xff0c;传统…...

声明式3D开发:基于React与Three.js构建Web三维场景

1. 项目概述&#xff1a;三维世界构建的新范式 最近在探索3D内容创作和Web交互领域时&#xff0c;一个名为 pmndrs/triplex 的项目引起了我的浓厚兴趣。这并非一个传统的3D建模软件或游戏引擎&#xff0c;而是一个基于现代Web技术栈&#xff08;特别是React和Three.js&#x…...

汽车OTA升级技术深度解析:从安全架构到工程实践

1. 汽车OTA升级&#xff1a;从概念到落地的深度拆解作为一名在汽车电子和嵌入式系统领域摸爬滚打了十几年的工程师&#xff0c;我亲眼见证了汽车从一个纯粹的机械产品&#xff0c;演变成一个高度复杂的、由软件定义的“轮上计算机”。在这个过程中&#xff0c;空中下载技术&…...

一码溯源坚守本心 京尚重构智慧厨房品质新生态

在消费升级与健康理念普及的当下&#xff0c;食品接触器具的品质与安全备受关注。京尚智慧厨房正式推出“一锅一码一匠心”全链条溯源体系&#xff0c;以数字化技术实现从泥到火的生产全程可追溯&#xff0c;用透明化管理彰显品牌责任与硬核实力&#xff0c;为行业树立品质新标…...

fast-mcp:基于MCP协议的高性能AI工具调用服务器实现

1. 项目概述&#xff1a;一个为AI应用提速的“高速公路”接口 最近在折腾AI应用开发的朋友&#xff0c;估计没少为“上下文管理”和“工具调用”这两件事头疼。你辛辛苦苦写了个Agent&#xff0c;让它去调用一个外部API获取数据&#xff0c;结果发现光是来回传递消息、解析指令…...

Taotoken用量看板与成本管理在团队API开支控制中的实际效果

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken用量看板与成本管理在团队API开支控制中的实际效果 对于小型技术团队而言&#xff0c;大模型API的调用成本是项目预算中一…...

构建青少年网络安全防护体系:从技术配置到风险认知培养

1. 项目概述&#xff1a;当网络安全教育遇上青少年社交网络使用最近在整理一些旧资料时&#xff0c;翻到一篇2012年关于儿童网络安全的行业评论&#xff0c;核心观点是&#xff1a;一项调查显示&#xff0c;高达88%的消费者希望向使用社交网络的儿童提供更多的安全建议。但文章…...

自然语言驱动自动化:nopua项目如何用LLM与Python解放重复劳动

1. 项目概述&#xff1a;一个为“懒人”设计的自动化工具最近在GitHub上闲逛&#xff0c;发现一个挺有意思的项目&#xff0c;叫nopua&#xff0c;来自wuji-labs。光看这个名字&#xff0c;就透着一股子“无为而治”的哲学味儿。点进去一看&#xff0c;果然&#xff0c;它的定位…...

基于NeoGPT构建本地知识库:RAG技术实战与调优指南

1. 项目概述&#xff1a;当本地大模型遇上你的个人知识库最近在折腾本地大模型的朋友&#xff0c;可能都遇到过类似的困境&#xff1a;模型本身能力不差&#xff0c;但一聊到公司内部文档、个人笔记或者某个特定领域的专业资料&#xff0c;它就立刻“露怯”&#xff0c;要么胡说…...

韩国AI应用付费爆发:开发者如何抢占AI出海高价值订阅增长窗口?

数字分析机构Sensor Tower披露的数据显示&#xff0c;截至2026年1月&#xff0c;韩国已跃升为谷歌生成式AI服务Gemini的全球第二大付费订阅市场&#xff0c;创收能力仅次于美国。 而Gemini的成功并非个例&#xff1a;许多AI应用开发者表示&#xff0c;尽管产品在韩国的下载量不…...

模拟信号隔离技术:工业自动化中的地环路干扰解决方案

1. 模拟信号隔离的工业需求与技术痛点在工业自动化现场&#xff0c;我们经常遇到这样的场景&#xff1a;一台PLC需要采集分布在车间不同位置的传感器信号&#xff0c;这些传感器可能分别接在不同配电柜的电源上。当把这些信号直接接入采集系统时&#xff0c;显示器上会出现莫名…...

NeoGPT实战:基于RAG构建本地私有知识库问答系统

1. 项目概述&#xff1a;当本地大模型遇上你的个人知识库最近在折腾本地大模型应用的朋友&#xff0c;估计都绕不开一个核心痛点&#xff1a;如何让这些动辄几十亿参数的“大聪明”真正理解并回答你私有的、特定领域的问题&#xff1f;比如&#xff0c;你想让它帮你分析公司内部…...

从2D到3D NAND:存储技术演进、控制器挑战与未来展望

1. 从平面到立体&#xff1a;一场关于存储密度的极限博弈 十多年前&#xff0c;当道格黄&#xff08;Doug Wong&#xff09;在EE Times的访谈中谈及存储行业的未来时&#xff0c;他描绘的图景在今天看来&#xff0c;许多已成为现实&#xff0c;而另一些则仍在深刻的演进之中。那…...

头歌MySQL-基于电影、演员及票房应用的数据查询(Select)

第1关&#xff1a;应用背景介绍与电影信息查询任务描述&#xff1a;熟悉本实训数据库的内容&#xff1b; 查询电影的主要信息。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;SELECT单表简单条件查询。背景 本实训采用的是电影网站的一个裁剪版的数据库&#x…...

Product Hunt 每日热榜 | 2026-05-08

1. FlowMarket 标语&#xff1a;一个由人工智能代理构成的社交网络&#xff0c;用于创造企业间的交易。 介绍&#xff1a;FlowMarket 是一个由人工智能代理组成的网络&#xff0c;能够自动发现、匹配和生成B2B交易。你只需几分钟就能创建自己的代理&#xff0c;并让它全天候运…...