使用 HTML、CSS、JavaScript、Tailwind CSS 和 Canvas Confetti 构建井字游戏

2025-06-08

使用 HTML、CSS、JavaScript、Tailwind CSS 和 Canvas Confetti 构建井字游戏

欢迎来到关联岛。

井字棋是一款经典游戏,深受人们喜爱,代代相传。它很简单,只需一支纸笔,随时随地都可以玩。但借助现代科技,我们可以将这款游戏提升到一个新的高度。在本视频中,我们将探索如何使用 HTML、CSS、JavaScript、Tailwind CSS 和 Canvas Confetti 制作一款井字棋游戏。


为了创建游戏棋盘,我们将使用 HTML 和 CSS。我们将创建一个 3x3 的方格网格,玩家可以点击方格来放置他们的符号。我们还将使用 Tailwind CSS 来设计棋盘样式,使其具有响应式功能。

为了使棋盘具有交互性,我们将使用 JavaScript 来处理玩家的移动和游戏逻辑。当玩家点击某个方格时,我们会检查该方格是否为空。如果是空的,我们会将当前玩家的符号放置在该方格中,并检查该玩家是否获胜。如果还没有获胜者,我们将切换到另一个玩家的回合。

为了让游戏更加个性化,我们将添加玩家上传自己头像的功能。我们将使用 HTML5 文件输入标签,让玩家从本地设备中选择一张图片。然后,我们将使用 JavaScript 将所选图片显示为玩家的头像。

当玩家获胜时,我们会用五彩纸屑动画来庆祝他们的胜利:获胜玩家的头像上方会显示一个井字游戏奖杯动画,并突出显示构成获胜线的三个方格。我们将使用 Canvas Confetti 库来创建五彩纸屑动画。

我们将使用 JavaScript 跟踪每个玩家的得分,并将其存储在浏览器的客户端存储中。这意味着即使玩家关闭页面,得分仍将保留。我们还将提供一个“重置得分”按钮,玩家可以使用该按钮将得分重置为零。

为了在胜利或平局后重置游戏,我们将提供“重置游戏”按钮,玩家可以使用它来开始新游戏。


它是如何工作的?

游戏从玩家 X 的回合开始,玩家 X 可以点击空白格放置自己的符号。玩家 X 移动后,就轮到玩家 O 将其符号放置在空白格中。每轮游戏都会在当前玩家的名字上显示一个弹跳动画,以指示轮到谁了。这方便玩家轻松掌握轮到谁了,也为游戏增添了趣味元素。

默认情况下,您会看到戴维·琼斯和杰克·斯派洛分别代表 X 和 O。但如果您想个性化游戏,您可以从本地机器上传自己的头像。请注意,由于没有数据库连接,上传的头像在页面刷新后将不会保留。

当玩家获胜时,游戏会在获胜者的头像上方和页面顶部显示五彩纸屑动画,以庆祝胜利。玩家的头像还会装饰一个井字游戏奖杯。为了帮助您更清楚地看到获胜的举动,游戏会高亮显示组成这条线的三个方格。

每位玩家都会获得一定分数,胜利后分数会加一。分数存储在客户端(浏览器的本地存储中),即使关闭页面,您也可以跟踪进度。如果您想重新开始游戏,只需点击“重置分数”按钮,即可将双方玩家的分数重置为 0。

胜利后若要重置游戏,可以点击“重置游戏”按钮。

游戏结束后,玩家可以下载棋盘上显示获胜奖杯和分数的图片。该图片可以保存或分享给他人。

如果游戏以平局结束,则会显示一条弹出消息,通知您游戏以平局结束。


📦演示:
https://t3-game.vercel.app


⚓️应用程序

应用程序

应用程序

应用程序

应用程序


还在等什么?快来玩井字游戏吧!


文件:

代码


❤ 动机:

动机


🍀支持

请考虑关注并支持我们,订阅我们的频道。非常感谢您的支持,这将帮助我们继续创作您喜爱的内容。提前感谢您的支持!

YouTube
Discord
GitHub

支持

鏂囩珷鏉簮锛�https://dev.to/codeofrelevancy/build-a-tic-tac-toe-game-using-html-css-javascript-tailwind-css-and-canvas-confetti-c90
PREV
将您的代码带到另一边
NEXT
CodeLand 2022 将于六月举行!立即提交你的演讲🌈