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

动态网页案例seo网络优化师就业前景

动态网页案例,seo网络优化师就业前景,做网站商城需要多少钱,北京市网站建设公司排名以下是一个使用 JavaScript 实现的简单五子棋游戏示例&#xff0c;该示例结合 HTML 和 CSS 来构建游戏界面&#xff0c;实现了基本的落子、胜负判断等功能。 代码示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"&…

以下是一个使用 JavaScript 实现的简单五子棋游戏示例,该示例结合 HTML 和 CSS 来构建游戏界面,实现了基本的落子、胜负判断等功能。

代码示例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>五子棋游戏</title><style>#board {position: relative;width: 450px;height: 450px;border: 1px solid #000;background-color: #f0d9b5;}.piece {position: absolute;width: 20px;height: 20px;border-radius: 50%;margin: -10px 0 0 -10px;}.black {background-color: #000;}.white {background-color: #fff;border: 1px solid #000;}</style>
</head><body><div id="board"></div><script>// 棋盘大小const BOARD_SIZE = 15;// 每个格子的大小const CELL_SIZE = 30;// 棋盘二维数组,用于记录落子情况const board = Array.from({ length: BOARD_SIZE }, () => Array(BOARD_SIZE).fill(0));// 当前玩家,1 表示黑棋,2 表示白棋let currentPlayer = 1;// 获取棋盘元素const boardElement = document.getElementById('board');// 初始化棋盘function initBoard() {for (let i = 0; i < BOARD_SIZE; i++) {for (let j = 0; j < BOARD_SIZE; j++) {const x = j * CELL_SIZE + CELL_SIZE / 2;const y = i * CELL_SIZE + CELL_SIZE / 2;const piece = document.createElement('div');piece.classList.add('piece');piece.style.left = `${x}px`;piece.style.top = `${y}px`;boardElement.appendChild(piece);}}}// 落子function placePiece(x, y) {if (board[x][y] === 0) {board[x][y] = currentPlayer;const piece = document.createElement('div');piece.classList.add('piece', currentPlayer === 1 ? 'black' : 'white');piece.style.left = `${y * CELL_SIZE + CELL_SIZE / 2}px`;piece.style.top = `${x * CELL_SIZE + CELL_SIZE / 2}px`;boardElement.appendChild(piece);if (checkWin(x, y)) {alert(`${currentPlayer === 1 ? '黑棋' : '白棋'}获胜!`);resetGame();} else {currentPlayer = 3 - currentPlayer; // 切换玩家}}}// 检查是否获胜function checkWin(x, y) {const directions = [[1, 0], [0, 1], [1, 1], [1, -1]];for (const [dx, dy] of directions) {let count = 1;// 正向检查for (let i = 1; i < 5; i++) {const newX = x + i * dx;const newY = y + i * dy;if (newX >= 0 && newX < BOARD_SIZE && newY >= 0 && newY < BOARD_SIZE && board[newX][newY] === currentPlayer) {count++;} else {break;}}// 反向检查for (let i = 1; i < 5; i++) {const newX = x - i * dx;const newY = y - i * dy;if (newX >= 0 && newX < BOARD_SIZE && newY >= 0 && newY < BOARD_SIZE && board[newX][newY] === currentPlayer) {count++;} else {break;}}if (count >= 5) {return true;}}return false;}// 重置游戏function resetGame() {for (let i = 0; i < BOARD_SIZE; i++) {for (let j = 0; j < BOARD_SIZE; j++) {board[i][j] = 0;}}currentPlayer = 1;while (boardElement.firstChild) {boardElement.removeChild(boardElement.firstChild);}initBoard();}// 监听棋盘点击事件boardElement.addEventListener('click', (event) => {const rect = boardElement.getBoundingClientRect();const x = Math.floor((event.clientY - rect.top) / CELL_SIZE);const y = Math.floor((event.clientX - rect.left) / CELL_SIZE);if (x >= 0 && x < BOARD_SIZE && y >= 0 && y < BOARD_SIZE) {placePiece(x, y);}});// 初始化棋盘initBoard();</script>
</body></html>

代码解释

  1. HTML 部分

    • 创建一个 div 元素作为棋盘,其 idboard
    • 引入外部的 CSS 样式,用于设置棋盘和棋子的样式。
  2. CSS 部分

    • #board:设置棋盘的大小、边框和背景颜色。
    • .piece:设置棋子的基本样式,包括绝对定位、大小和圆角。
    • .black.white:分别设置黑棋和白棋的颜色。
  3. JavaScript 部分

    • BOARD_SIZECELL_SIZE:定义棋盘的大小和每个格子的大小。
    • board:二维数组,用于记录棋盘上每个位置的落子情况,0 表示空位,1 表示黑棋,2 表示白棋。
    • currentPlayer:当前玩家,初始为黑棋(1)。
    • initBoard:初始化棋盘,创建所有的格子。
    • placePiece:在指定位置落子,更新棋盘数组和界面,检查是否获胜,如果获胜则弹出提示并重置游戏,否则切换玩家。
    • checkWin:检查当前落子位置是否形成五子连珠,通过检查四个方向(水平、垂直、正斜、反斜)来判断。
    • resetGame:重置游戏,清空棋盘数组和界面,将当前玩家重置为黑棋。
    • 监听棋盘的点击事件,根据点击位置计算落子坐标,并调用 placePiece 函数。

使用方法

将上述代码保存为一个 HTML 文件,在浏览器中打开该文件,即可开始玩五子棋游戏。点击棋盘上的空位即可落子,黑棋先下,交替进行,当有一方形成五子连珠时,游戏结束并弹出获胜提示,点击确定后游戏重置。

http://www.dtcms.com/wzjs/176849.html

相关文章:

  • 电脑怎么做网站百度安装
  • 自己不会代码让别人做网站怎么管理网站推广的主要方法
  • 合肥网站制作哪家好灰色关键词代发可测试
  • 移动商城网站开发选择李勇seo的博客
  • 珠海中企网站建设公司大亚湾发布
  • 网站建设都包括哪些班级优化大师官网下载
  • 网站建设哪家好?看这里天津搜狗seo推广
  • 国外做自动化网站上海网站seo策划
  • apple 官网网站模板百度在线下载
  • 济南经三路专业做网站厦门谷歌seo公司有哪些
  • 做网站的公司主营成本应该写啥地推的方法和技巧
  • 做机械设备类网站用什么颜色好无锡网站建设公司
  • 网站做支付需要准备什么条件兰州seo优化
  • html5视频网站源码windows清理优化大师
  • wordpress 子站点函数上海百度推广客服电话
  • 无锡疫情最新规定seo点击工具帮你火21星热情
  • 做网站的软件page搜索引擎排行榜前十名
  • 大学英文网站建设微商引流一般用什么软件
  • 网站支付的功能如何做百度登录页面
  • 做网站需要备案吗线上运营推广
  • 肇庆网站制作怎么做链接推广产品
  • html5标准网站建设seo外链怎么做能看到效果
  • 汝州住房和城乡建设网站防恶意点击软件
  • 建设网站公司东莞简单的seo
  • 网站建设价目做百度推广
  • web前端怎么制作网站什么是整合营销并举例说明
  • 国内最好的wordpress主题seo视频教程百度网盘
  • 网站demo 工具网络营销总结
  • APP客户端网站建设首页关键词怎么排名靠前
  • 做试试彩网站上海广告公司排名