当前位置:首页 > 每日看点 > 正文内容

怎么用deepseek生成一个H5游戏?

卡卷网1年前 (2025-02-22)每日看点207

这事其实很简单,就算利用deepseek的chat端环境就能全部完成。

不就HTML5么,就一句话的问题。

首先来句提示词:

利用html,SVG写一个乒乓游戏

然后就出现了下面画面:

怎么用deepseek生成一个H5游戏?  第1张

下面重点来了,为什么说deepseek的chat端(网页端)就能完成:

猛击代码段下方的:运行HTML

怎么用deepseek生成一个H5游戏?  第2张

然后出现画面:

怎么用deepseek生成一个H5游戏?  第3张

是不是一个乒乓游戏?不过这玩意不能算严格意义上电子化乒乓游戏(倒是很像真实生活中乒乓游戏,还双打的。。。)。那就改改提示词,试试能不能做那种消方块的乒乓游戏。

索性就写稍微具体一点,提示词如下:

利用html,SVG写一个上面是需要消除方块,下面是球拍,带计分功能的乒乓游戏

效果就输出如下了:

怎么用deepseek生成一个H5游戏?  第4张

耶!这玩意还是鼠标控制的!一句提示词,一个简单完整的HTML5游戏就完成了么。一点外部工具都不用(连什么深度推理,网络搜索功能都没用)。

来来再玩一个,让它写一个俄罗斯方块游戏,提示词如下:

利用html,SVG写一个俄罗斯方块游戏

咦!这儿出问题!

怎么用deepseek生成一个H5游戏?  第5张

它把HTML代码与javaScript代码分开写的,这样就不直接在运行HTML环境直接运行了(其实自己子啊本地跑没什么问题)。解决!也简单让它把两个代码合并成一个代码就行。

看!游戏效果就出来了:

怎么用deepseek生成一个H5游戏?  第6张

至于游戏如何到本地呢,更简单了。

猛击代码段:复制

怎么用deepseek生成一个H5游戏?  第7张

本地随便找一个地方,新建txt(新建文本文档),然后把代码粘贴进行去。

怎么用deepseek生成一个H5游戏?  第8张

保存,然后把文件名后缀改成html就行。

怎么用deepseek生成一个H5游戏?  第9张

点击打开,游戏效果就出来了

怎么用deepseek生成一个H5游戏?  第10张

学废了么?

彩蛋!

谁说文本大模型(LLM)不能画图的,给你们画一个看看!

怎么用deepseek生成一个H5游戏?  第11张

附录:deepseek写的俄罗斯方块游戏代码(忘记加计分功能了)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>俄罗斯方块</title> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #333; } #game { background-color: #000; } </style> </head> <body> <svg id="game" width="300" height="600"></svg> <script> const svgNS = "http://www.w3.org/2000/svg"; const game = document.getElementById("game"); const width = 10; const height = 20; const blockSize = 30; const board = Array.from({ length: height }, () => Array(width).fill(0)); let currentPiece; let currentX, currentY; const pieces = [ [[1, 1, 1, 1]], // I [[1, 1], [1, 1]], // O [[0, 1, 0], [1, 1, 1]], // T [[1, 0, 0], [1, 1, 1]], // L [[0, 0, 1], [1, 1, 1]], // J [[0, 1, 1], [1, 1, 0]], // S [[1, 1, 0], [0, 1, 1]] // Z ]; function createPiece() { const piece = pieces[Math.floor(Math.random() * pieces.length)]; currentPiece = piece; currentX = Math.floor((width - piece[0].length) / 2); currentY = 0; if (collision()) { alert("Game Over!"); resetBoard(); } } function collision() { for (let y = 0; y < currentPiece.length; y++) { for (let x = 0; x < currentPiece[y].length; x++) { if (currentPiece[y][x] && (board[currentY + y] && board[currentY + y][currentX + x]) !== 0) { return true; } } } return false; } function placePiece() { for (let y = 0; y < currentPiece.length; y++) { for (let x = 0; x < currentPiece[y].length; x++) { if (currentPiece[y][x]) { board[currentY + y][currentX + x] = 1; } } } clearLines(); createPiece(); } function clearLines() { for (let y = height - 1; y >= 0; y--) { if (board[y].every(cell => cell === 1)) { board.splice(y, 1); board.unshift(Array(width).fill(0)); } } } function draw() { game.innerHTML = ''; for (let y = 0; y < height; y++) { for (let x = 0; x < width; x++) { if (board[y][x]) { const rect = document.createElementNS(svgNS, "rect"); rect.setAttribute("x", x * blockSize); rect.setAttribute("y", y * blockSize); rect.setAttribute("width", blockSize); rect.setAttribute("height", blockSize); rect.setAttribute("fill", "cyan"); game.appendChild(rect); } } } if (currentPiece) { for (let y = 0; y < currentPiece.length; y++) { for (let x = 0; x < currentPiece[y].length; x++) { if (currentPiece[y][x]) { const rect = document.createElementNS(svgNS, "rect"); rect.setAttribute("x", (currentX + x) * blockSize); rect.setAttribute("y", (currentY + y) * blockSize); rect.setAttribute("width", blockSize); rect.setAttribute("height", blockSize); rect.setAttribute("fill", "orange"); game.appendChild(rect); } } } } } function resetBoard() { for (let y = 0; y < height; y++) { for (let x = 0; x < width; x++) { board[y][x] = 0; } } createPiece(); } function movePiece(dx, dy) { currentX += dx; currentY += dy; if (collision()) { currentX -= dx; currentY -= dy; if (dy === 1) { placePiece(); } } } function rotatePiece() { const oldPiece = currentPiece; currentPiece = currentPiece[0].map((_, i) => currentPiece.map(row => row[i])).reverse(); if (collision()) { currentPiece = oldPiece; } } document.addEventListener("keydown", (e) => { switch (e.key) { case "ArrowLeft": movePiece(-1, 0); break; case "ArrowRight": movePiece(1, 0); break; case "ArrowDown": movePiece(0, 1); break; case "ArrowUp": rotatePiece(); break; } draw(); }); createPiece(); draw(); setInterval(() => { movePiece(0, 1); draw(); }, 1000); </script> </body> </html>

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/02/11097.html

分享给朋友:

相关文章

短剧推广怎么做,24年还能赚钱吗?

短剧推广怎么做,24年还能赚钱吗?

首先声明:短剧授权是免费的!短剧授权是免费的!短剧授权是免费的!其次我们再聊聊,短剧推广到底赚不赚钱?多的就不说了,随便上个图片,给大家过过瘾!然后,我们进入主题:0粉丝账号,新手,应该如何申请短剧推广!一、短剧推广变现方式首先,我们先要分...

你为什么讨厌抖音?

我就被抖音毁了。现在被我媳妇从抖音里拯救出来了。我为什么会这样说?我媳妇硕士在读,我文化程度相对就比较低了。大多数人看抖音其实就是为了一图一乐呵刚开始我也是这样的,我是2017年在朋友的推荐下注册了抖音,刚开始那时候对抖音不太上瘾,一周也就...

台积电通知其中国客户,从下周开始,所有 7nm 及以下芯片出货将停止。如何看待这一行为?

台积电通知其中国客户,从下周开始,所有 7nm 及以下芯片出货将停止。如何看待这一行为?

我说美国快要没招了,你信么?这次台积电宣布停止向中国大陆客户供应7纳米及更先进AI芯片,再加上前段时间台积电对华为的制裁,我们基本可以认为,台积电在高端芯片领域,已经彻底把大陆给拉黑了,这也意味着中美芯片战已经到了最关键的时刻,一旦我们克服...

怎样拥有一台最便宜的服务器?

怎样拥有一台最便宜的服务器?

内容提示:主打一个 DIY + 极限白嫖 =)某宝花10块买一个“随身WiFi”,刷入Ubuntu,用SSH远程连接,但是记得一定要把外壳撬掉然后粘个散热器(哪怕是白萝卜也彳亍),否则会过热详细去酷安社区搜“随身WiFi”=========...

客观的讲,华为是不是真的遥遥领先?

客观的讲,华为是不是真的遥遥领先?

最近,华为上市了最新款的三折叠屏手机,于是很多大V们把这款手机吹上了天,吹成是技术上遥遥领先于全世界。谁要是敢质疑华而不实,就会被人扣上一顶汉奸卖国贼美狗的帽子。把一个商品捧成了宗教和菩萨,你只能说好,不能说不好。其实这个世界上,只要是人和...

电视家停运了,目前有没有免费的电视直播软件?

电视家停运了,目前有没有免费的电视直播软件?

内部消息已经出现电视家5.0版 电视家是会停运的衍生品这里有2个不停运的直接品一、电视盒子二、电视机本身一、关于电视盒子的故事:电视家刚停运几天之后,我家首次花210块买了一年的电视会员。88岁的亲爷爷喜欢,虽然看不懂电视剧情,架不住他喜欢...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。