经典五子棋

<!DOCTYPE html>
<html>
<head>
    <title>五子棋游戏</title>
    <style type="text/css">
        .board {
            display: flex;
            flex-wrap: wrap;
            width: 400px;
            height: 400px;
            margin: 0 auto;
            border: 1px solid black;
            background-color: #f5f5f5;
        }

        .square {
            box-sizing: border-box;
            width: 20%;
            height: 20%;
            border: 1px solid #ccc;
            text-align: center;
            font-size: 50px;
            line-height: 120px;
            cursor: pointer;
        }

        .square:hover {
            background-color: #e6e6e6;
        }

        .black {
            color: black;
        }

        .white {
            color: white;
            background-color: black;
        }

        .message {
            text-align: center;
            font-size: 30px;
            margin-top: 20px;
            color: #008CBA;
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这是一个经典的Shell小游戏,你可以在Linux终端中玩五子棋。你可以按照以下步骤来进行游戏: 1. 创建一个空文件,例如"gobang.sh"。 2. 将以下代码复制并粘贴到文件中: ``` #!/bin/bash # 五子棋游戏 # 初始化棋盘 function init_board() { for ((i=0;i<15;i++)) do for ((j=0;j<15;j++)) do board[$i,$j]=0 done done } # 绘制棋盘 function draw_board() { echo -e "\033[1;33m 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14\033[0m" for ((i=0;i<15;i++)) do echo -e "\033[1;33m$i\033[0m\c" for ((j=0;j<15;j++)) do if [ ${board[$i,$j]} -eq 0 ]; then echo -e "\033[1;37m+\033[0m\c" elif [ ${board[$i,$j]} -eq 1 ]; then echo -e "\033[1;31m@\033[0m\c" else echo -e "\033[1;32m@\033[0m\c" fi if [ $j -eq 14 ]; then echo "" else echo -e "\033[1;37m|\033[0m\c" fi done done } # 判断是否胜利 function check_win() { # 横向 for ((i=0;i<15;i++)) do for ((j=0;j<11;j++)) do if [ ${board[$i,$j]} -ne 0 -a ${board[$i,$j]} -eq ${board[$i,$j+1]} -a ${board[$i,$j+1]} -eq ${board[$i,$j+2]} -a ${board[$i,$j+2]} -eq ${board[$i,$j+3]} -a ${board[$i,$j+3]} -eq ${board[$i,$j+4]} ]; then if [ ${board[$i,$j]} -eq 1 ]; then echo "红方胜利!" else echo "绿方胜利!" fi exit 0 fi done done # 纵向 for ((i=0;i<11;i++)) do for ((j=0;j<15;j++)) do if [ ${board[$i,$j]} -ne 0 -a ${board[$i,$j]} -eq ${board[$i+1,$j]} -a ${board[$i+1,$j]} -eq ${board[$i+2,$j]} -a ${board[$i+2,$j]} -eq ${board[$i+3,$j]} -a ${board[$i+3,$j]} -eq ${board[$i+4,$j]} ]; then if [ ${board[$i,$j]} -eq 1 ]; then echo "红方胜利!" else echo "绿方胜利!" fi exit 0 fi done done # 斜向 for ((i=0;i<11;i++)) do for ((j=0;j<11;j++)) do if [ ${board[$i,$j]} -ne 0 -a ${board[$i,$j]} -eq ${board[$i+1,$j+1]} -a ${board[$i+1,$j+1]} -eq ${board[$i+2,$j+2]} -a ${board[$i+2,$j+2]} -eq ${board[$i+3,$j+3]} -a ${board[$i+3,$j+3]} -eq ${board[$i+4,$j+4]} ]; then if [ ${board[$i,$j]} -eq 1 ]; then echo "红方胜利!" else echo "绿方胜利!" fi exit 0 fi done done for ((i=0;i<11;i++)) do for ((j=14;j>=4;j--)) do if [ ${board[$i,$j]} -ne 0 -a ${board[$i,$j]} -eq ${board[$i+1,$j-1]} -a ${board[$i+1,$j-1]} -eq ${board[$i+2,$j-2]} -a ${board[$i+2,$j-2]} -eq ${board[$i+3,$j-3]} -a ${board[$i+3,$j-3]} -eq ${board[$i+4,$j-4]} ]; then if [ ${board[$i,$j]} -eq 1 ]; then echo "红方胜利!" else echo "绿方胜利!" fi exit 0 fi done done } # 主函数 function main() { init_board draw_board echo "游戏开始!" echo "红方先手,绿方后手。" turn=1 while true do if [ $turn -eq 1 ]; then echo "红方下棋:" else echo "绿方下棋:" fi read -p "请输入棋子坐标(x,y):" x y if [[ ! $x =~ ^[0-9]+$ ]] || [[ ! $y =~ ^[0-9]+$ ]]; then echo "输入不合法!" continue fi if [ $x -lt 0 -o $x -gt 14 -o $y -lt 0 -o $y -gt 14 ]; then echo "坐标超出范围!" continue fi if [ ${board[$x,$y]} -ne 0 ]; then echo "该位置已经有棋子了!" continue fi if [ $turn -eq 1 ]; then board[$x,$y]=1 turn=2 else board[$x,$y]=2 turn=1 fi draw_board check_win done } main ``` 3. 给文件添加执行权限: ``` chmod +x gobang.sh ``` 4. 运行游戏: ``` ./gobang.sh ``` 5. 按照提示下棋即可。红方为"@ ",绿方为"@"。当有一方连成五子线时,游戏结束。 祝你玩得愉快!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值