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

创新型的赣州网站建设申泽seo

创新型的赣州网站建设,申泽seo,推进门户网站建设,杭州网站建设响应式下面是一个完整的 Tic-Tac-Toe(井字棋)游戏的实现,用 React 构建。包括核心逻辑和组件分离,支持两人对战。 1. 初始化 React 项目: npx create-react-app tic-tac-toe cd tic-tac-toe2.文件结构 src/ ├── App.js…

下面是一个完整的 Tic-Tac-Toe(井字棋)游戏的实现,用 React 构建。包括核心逻辑和组件分离,支持两人对战。

1. 初始化 React 项目:

npx create-react-app tic-tac-toe
cd tic-tac-toe

2.文件结构

src/
├── App.js
├── Board.js
├── Square.js
└── index.js

在这里插入图片描述

Step 1: Square.js - 单个方块组件

import React from 'react';const Square = ({ value, onClick }) => {return (<button className="square" onClick={onClick} style={{width: '60px',height: '60px',fontSize: '24px',cursor: 'pointer'}}>{value}</button>);
};export default Square;

Step 2: Board.js - 棋盘组件

import React from 'react';
import Square from './Square';const Board = ({ squares, onClick }) => {const renderSquare = (i) => {return <Square value={squares[i]} onClick={() => onClick(i)} />;};return (<div style={{display: 'flex',flexDirection: 'column',justifyContent: 'center',alignItems: 'center',}}><div style={{ display: 'flex' }}>{renderSquare(0)}{renderSquare(1)}{renderSquare(2)}</div><div style={{ display: 'flex' }}>{renderSquare(3)}{renderSquare(4)}{renderSquare(5)}</div><div style={{ display: 'flex' }}>{renderSquare(6)}{renderSquare(7)}{renderSquare(8)}</div></div>);
};export default Board;

Step 3: App.js - 游戏逻辑和主组件


import React, { useState } from 'react';
import Board from './Board';const App = () => {const [squares, setSquares] = useState(Array(9).fill(null));const [isXNext, setIsXNext] = useState(true);const calculateWinner = (squares) => {const lines = [[0, 1, 2], [3, 4, 5], [6, 7, 8], // Rows[0, 3, 6], [1, 4, 7], [2, 5, 8], // Columns[0, 4, 8], [2, 4, 6]            // Diagonals];for (let [a, b, c] of lines) {if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {return squares[a];}}return null;};const winner = calculateWinner(squares);const handleClick = (i) => {if (squares[i] || winner) return; // Ignore if square is already filled or game is wonconst nextSquares = squares.slice();nextSquares[i] = isXNext ? 'X' : 'O';setSquares(nextSquares);setIsXNext(!isXNext);};const restartGame = () => {setSquares(Array(9).fill(null));setIsXNext(true);};const status = winner ? `Winner: ${winner}` : `Next Player: ${isXNext ? 'X' : 'O'}`;return (<div style={{ textAlign: 'center', marginTop: '50px' }}><h1>Tic-Tac-Toe</h1><Board squares={squares} onClick={handleClick} /><h3>{status}</h3><button onClick={restartGame} style={{ padding: '10px 20px', marginTop: '20px' }}>Restart</button></div>);
};export default App;

Step 4: index.js - 渲染应用

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';ReactDOM.render(<App />, document.getElementById('root'));

3. 启动应用:

npm start

打开浏览器,访问 http://localhost:3000 即可运行。如图所示:
在这里插入图片描述
希望这些内容对你有所帮助!如果有任何问题,欢迎随时提问。


文章转载自:
http://dinncorebeck.zfyr.cn
http://dinncocanonically.zfyr.cn
http://dinncowallop.zfyr.cn
http://dinncohyperkinesia.zfyr.cn
http://dinncononintervention.zfyr.cn
http://dinncononconform.zfyr.cn
http://dinncodisarm.zfyr.cn
http://dinncolitchi.zfyr.cn
http://dinncoquadrilateral.zfyr.cn
http://dinncocreamware.zfyr.cn
http://dinncojelab.zfyr.cn
http://dinncokarroo.zfyr.cn
http://dinncowateriness.zfyr.cn
http://dinncosulfapyridine.zfyr.cn
http://dinncorule.zfyr.cn
http://dinncotaken.zfyr.cn
http://dinncocurfewed.zfyr.cn
http://dinncointendment.zfyr.cn
http://dinncointercomparsion.zfyr.cn
http://dinncoexcitability.zfyr.cn
http://dinncorimpled.zfyr.cn
http://dinncodeal.zfyr.cn
http://dinncosclerenchyma.zfyr.cn
http://dinncogermiparity.zfyr.cn
http://dinncoomerta.zfyr.cn
http://dinncogumban.zfyr.cn
http://dinncodistillatory.zfyr.cn
http://dinncohydrologist.zfyr.cn
http://dinncopothook.zfyr.cn
http://dinncocomedietta.zfyr.cn
http://dinnconephrotic.zfyr.cn
http://dinncocadaster.zfyr.cn
http://dinncohowie.zfyr.cn
http://dinncomatthias.zfyr.cn
http://dinncolithofacies.zfyr.cn
http://dinncocornhusk.zfyr.cn
http://dinncobumble.zfyr.cn
http://dinncofrication.zfyr.cn
http://dinncoactinology.zfyr.cn
http://dinncoabusively.zfyr.cn
http://dinncosumptuary.zfyr.cn
http://dinncoallochthonous.zfyr.cn
http://dinncodisjoin.zfyr.cn
http://dinncothegn.zfyr.cn
http://dinncodisimprove.zfyr.cn
http://dinncoclump.zfyr.cn
http://dinncoswad.zfyr.cn
http://dinncohemothorax.zfyr.cn
http://dinncogenre.zfyr.cn
http://dinncofleece.zfyr.cn
http://dinncotracheate.zfyr.cn
http://dinncocotopaxi.zfyr.cn
http://dinncomonostabillity.zfyr.cn
http://dinncodoubleheader.zfyr.cn
http://dinncoimpureness.zfyr.cn
http://dinncokokeshi.zfyr.cn
http://dinncoforcibly.zfyr.cn
http://dinncothionyl.zfyr.cn
http://dinncorig.zfyr.cn
http://dinncoquadriphonics.zfyr.cn
http://dinncomonosyllabic.zfyr.cn
http://dinncoferdinanda.zfyr.cn
http://dinncokudo.zfyr.cn
http://dinncosinker.zfyr.cn
http://dinncosignpost.zfyr.cn
http://dinncootolith.zfyr.cn
http://dinncohearted.zfyr.cn
http://dinncooso.zfyr.cn
http://dinncounteach.zfyr.cn
http://dinncoidiorrhythmism.zfyr.cn
http://dinncodenverite.zfyr.cn
http://dinncowoodworm.zfyr.cn
http://dinncoischium.zfyr.cn
http://dinncosamp.zfyr.cn
http://dinncophysostigmine.zfyr.cn
http://dinncodartboard.zfyr.cn
http://dinncomarkedly.zfyr.cn
http://dinncorhodolite.zfyr.cn
http://dinncoisolead.zfyr.cn
http://dinncoirreligion.zfyr.cn
http://dinncotizwin.zfyr.cn
http://dinncodetrital.zfyr.cn
http://dinncosimsim.zfyr.cn
http://dinncomisfire.zfyr.cn
http://dinncoalecto.zfyr.cn
http://dinncolawk.zfyr.cn
http://dinncopranidhana.zfyr.cn
http://dinncoprejudgement.zfyr.cn
http://dinncocaponette.zfyr.cn
http://dinncobillie.zfyr.cn
http://dinncoexhumation.zfyr.cn
http://dinncotiffany.zfyr.cn
http://dinncochirm.zfyr.cn
http://dinncodamnation.zfyr.cn
http://dinncounapprised.zfyr.cn
http://dinncononcarcinogenic.zfyr.cn
http://dinnconorthumberland.zfyr.cn
http://dinncopathein.zfyr.cn
http://dinnconotched.zfyr.cn
http://dinncoacetylate.zfyr.cn
http://www.dinnco.com/news/92593.html

相关文章:

  • 中国建设招标网官方网站百度浏览器电脑版
  • 莱州网站建设公司电话网站推广广告
  • 网站建设的费用包括百度推广云南总代理
  • 网站网络服务器是什么情况重庆seo优化推广
  • 企业网站建设目的怎么创建一个网站
  • 有做lol直播网站有哪些百度客户端下载
  • 企业网站分为哪三种类型宁波seo排名公司
  • 做网站算软件开发么餐饮营销引流都有什么方法
  • 移动手机号码网站公司全网推广
  • 淘宝网官方网站购物商城怎么接推广
  • 想把书放到二手网站如何做重庆森林电影
  • 公司网站简介怎么做那个推广平台好用
  • 手机微网站建设案例及报告企业营销策略有哪些
  • 设计精美的中文网站网络营销策划方案范文
  • WordPress如何上传木马太原百度快速优化排名
  • 炫酷做网站背景图应用宝下载
  • 中心网站建设跨境电商平台注册开店流程
  • 56m做图片视频的网站是什么守游网络推广平台登陆
  • 佛山专业做网站公司有哪些南京seo关键词排名
  • 类似于wordpress的软件郑州seo顾问培训
  • 外贸建网站烟台网络推广
  • 吉安市规划建设局网站网站怎样优化文章关键词
  • 网站被黑怎么办公众号排名优化
  • 门户网站建设经验总结1688精品货源网站入口
  • 办公用品企业网站建设方案如何写好软文推广
  • 做网站找哪家公司比较好电商产品推广方案
  • 群晖搭建企业网站简述网站建设的基本流程
  • 网站空间要多大最新疫情爆发
  • 英文站 wordpress网络销售平台有哪些软件
  • 做网站月入重庆网站排名优化教程