<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://new.pvzhe.wiki/w/%E5%BE%AE%E4%BB%B6:%E4%BA%94%E5%AD%90%E6%A3%8B?action=history&amp;feed=atom</id>
	<title>微件:五子棋 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://new.pvzhe.wiki/w/%E5%BE%AE%E4%BB%B6:%E4%BA%94%E5%AD%90%E6%A3%8B?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://new.pvzhe.wiki/w/%E5%BE%AE%E4%BB%B6:%E4%BA%94%E5%AD%90%E6%A3%8B?action=history"/>
	<updated>2026-07-26T17:26:09Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://new.pvzhe.wiki/index.php?title=%E5%BE%AE%E4%BB%B6:%E4%BA%94%E5%AD%90%E6%A3%8B&amp;diff=12799&amp;oldid=prev</id>
		<title>愤怒的郎朗：​创建页面，内容为“&lt;includeonly&gt; &lt;style&gt; .gomoku-wrap {     text-align: center;     margin: 15px 0; } .gomoku-board {     display: inline-block;     background: #DEB887;     padding: 5px;     border-radius: 8px; } .gomoku-row {     display: flex; } .gomoku-cell {     width: 32px;     height: 32px;     background: #DEB887;     position: relative;     cursor: pointer; } .gomoku-cell::before, .gomoku-cell::after {     content: &#039;&#039;;     position: absolute;     top: 50%;     left: 50%;…”</title>
		<link rel="alternate" type="text/html" href="https://new.pvzhe.wiki/index.php?title=%E5%BE%AE%E4%BB%B6:%E4%BA%94%E5%AD%90%E6%A3%8B&amp;diff=12799&amp;oldid=prev"/>
		<updated>2026-07-20T01:21:07Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“&amp;lt;includeonly&amp;gt; &amp;lt;style&amp;gt; .gomoku-wrap {     text-align: center;     margin: 15px 0; } .gomoku-board {     display: inline-block;     background: #DEB887;     padding: 5px;     border-radius: 8px; } .gomoku-row {     display: flex; } .gomoku-cell {     width: 32px;     height: 32px;     background: #DEB887;     position: relative;     cursor: pointer; } .gomoku-cell::before, .gomoku-cell::after {     content: &amp;#039;&amp;#039;;     position: absolute;     top: 50%;     left: 50%;…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
.gomoku-wrap {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin: 15px 0;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-board {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    background: #DEB887;&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-row {&lt;br /&gt;
    display: flex;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-cell {&lt;br /&gt;
    width: 32px;&lt;br /&gt;
    height: 32px;&lt;br /&gt;
    background: #DEB887;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-cell::before,&lt;br /&gt;
.gomoku-cell::after {&lt;br /&gt;
    content: &amp;#039;&amp;#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 50%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    transform: translate(-50%, -50%);&lt;br /&gt;
    border-radius: 50%;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-cell.black::after {&lt;br /&gt;
    display: block;&lt;br /&gt;
    width: 26px;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
    background: #000;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-cell.white::after {&lt;br /&gt;
    display: block;&lt;br /&gt;
    width: 26px;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
    background: #fff;&lt;br /&gt;
    border: 1px solid #999;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-cell::before {&lt;br /&gt;
    content: &amp;#039;&amp;#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    left: 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    border: 1px dashed rgba(0,0,0,0.1);&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-cell:hover {&lt;br /&gt;
    background: #e8c89e;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-info {&lt;br /&gt;
    margin: 10px 0;&lt;br /&gt;
    font-size: 14px;&lt;br /&gt;
}&lt;br /&gt;
.gomoku-reset {&lt;br /&gt;
    padding: 6px 16px;&lt;br /&gt;
    background: #888;&lt;br /&gt;
    color: #fff;&lt;br /&gt;
    border: none;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    font-size: 13px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;gomoku-wrap&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gomoku-info&amp;quot; id=&amp;quot;gomoku-info&amp;quot;&amp;gt;⚫ 黑方走棋&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gomoku-board&amp;quot; id=&amp;quot;gomoku-board&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;button class=&amp;quot;gomoku-reset&amp;quot; id=&amp;quot;gomoku-reset&amp;quot;&amp;gt;新游戏&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
(function() {&lt;br /&gt;
    var SIZE = 15;&lt;br /&gt;
    var board = [];&lt;br /&gt;
    var currentPlayer = &amp;#039;black&amp;#039;; // black or white&lt;br /&gt;
    var gameOver = false;&lt;br /&gt;
&lt;br /&gt;
    function initBoard() {&lt;br /&gt;
        board = [];&lt;br /&gt;
        for (var r = 0; r &amp;lt; SIZE; r++) {&lt;br /&gt;
            board[r] = [];&lt;br /&gt;
            for (var c = 0; c &amp;lt; SIZE; c++) {&lt;br /&gt;
                board[r][c] = null;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        currentPlayer = &amp;#039;black&amp;#039;;&lt;br /&gt;
        gameOver = false;&lt;br /&gt;
        updateInfo();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function render() {&lt;br /&gt;
        var $board = $(&amp;#039;#gomoku-board&amp;#039;);&lt;br /&gt;
        $board.empty();&lt;br /&gt;
        for (var r = 0; r &amp;lt; SIZE; r++) {&lt;br /&gt;
            var $row = $(&amp;#039;&amp;lt;div class=&amp;quot;gomoku-row&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
            for (var c = 0; c &amp;lt; SIZE; c++) {&lt;br /&gt;
                var $cell = $(&amp;#039;&amp;lt;div class=&amp;quot;gomoku-cell&amp;quot; data-r=&amp;quot;&amp;#039; + r + &amp;#039;&amp;quot; data-c=&amp;quot;&amp;#039; + c + &amp;#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
                if (board[r][c] === &amp;#039;black&amp;#039;) $cell.addClass(&amp;#039;black&amp;#039;);&lt;br /&gt;
                if (board[r][c] === &amp;#039;white&amp;#039;) $cell.addClass(&amp;#039;white&amp;#039;);&lt;br /&gt;
                $row.append($cell);&lt;br /&gt;
            }&lt;br /&gt;
            $board.append($row);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function checkWin(row, col, player) {&lt;br /&gt;
        var dirs = [[0,1],[1,0],[1,1],[1,-1]];&lt;br /&gt;
        for (var d = 0; d &amp;lt; dirs.length; d++) {&lt;br /&gt;
            var dr = dirs[d][0], dc = dirs[d][1];&lt;br /&gt;
            var count = 1;&lt;br /&gt;
            for (var i = 1; i &amp;lt; 5; i++) {&lt;br /&gt;
                var r = row + dr * i, c = col + dc * i;&lt;br /&gt;
                if (r &amp;gt;= 0 &amp;amp;&amp;amp; r &amp;lt; SIZE &amp;amp;&amp;amp; c &amp;gt;= 0 &amp;amp;&amp;amp; c &amp;lt; SIZE &amp;amp;&amp;amp; board[r][c] === player) count++;&lt;br /&gt;
                else break;&lt;br /&gt;
            }&lt;br /&gt;
            for (var i = 1; i &amp;lt; 5; i++) {&lt;br /&gt;
                var r = row - dr * i, c = col - dc * i;&lt;br /&gt;
                if (r &amp;gt;= 0 &amp;amp;&amp;amp; r &amp;lt; SIZE &amp;amp;&amp;amp; c &amp;gt;= 0 &amp;amp;&amp;amp; c &amp;lt; SIZE &amp;amp;&amp;amp; board[r][c] === player) count++;&lt;br /&gt;
                else break;&lt;br /&gt;
            }&lt;br /&gt;
            if (count &amp;gt;= 5) return true;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateInfo() {&lt;br /&gt;
        var $info = $(&amp;#039;#gomoku-info&amp;#039;);&lt;br /&gt;
        if (gameOver) {&lt;br /&gt;
            var winner = currentPlayer === &amp;#039;black&amp;#039; ? &amp;#039;⚪ 白方&amp;#039; : &amp;#039;⚫ 黑方&amp;#039;;&lt;br /&gt;
            $info.text(&amp;#039;🏆 &amp;#039; + winner + &amp;#039;获胜！&amp;#039;);&lt;br /&gt;
        } else {&lt;br /&gt;
            $info.text(currentPlayer === &amp;#039;black&amp;#039; ? &amp;#039;⚫ 黑方走棋&amp;#039; : &amp;#039;⚪ 白方走棋&amp;#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $(&amp;#039;#gomoku-board&amp;#039;).on(&amp;#039;click&amp;#039;, &amp;#039;.gomoku-cell&amp;#039;, function() {&lt;br /&gt;
        if (gameOver) return;&lt;br /&gt;
        var r = parseInt($(this).data(&amp;#039;r&amp;#039;));&lt;br /&gt;
        var c = parseInt($(this).data(&amp;#039;c&amp;#039;));&lt;br /&gt;
        if (board[r][c]) return;&lt;br /&gt;
&lt;br /&gt;
        board[r][c] = currentPlayer;&lt;br /&gt;
        render();&lt;br /&gt;
&lt;br /&gt;
        if (checkWin(r, c, currentPlayer)) {&lt;br /&gt;
            gameOver = true;&lt;br /&gt;
            updateInfo();&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        currentPlayer = currentPlayer === &amp;#039;black&amp;#039; ? &amp;#039;white&amp;#039; : &amp;#039;black&amp;#039;;&lt;br /&gt;
        updateInfo();&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&amp;#039;#gomoku-reset&amp;#039;).click(function() {&lt;br /&gt;
        initBoard();&lt;br /&gt;
        render();&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    initBoard();&lt;br /&gt;
    render();&lt;br /&gt;
})();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>愤怒的郎朗</name></author>
	</entry>
</feed>