选字游戏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选字游戏</title>
    <style>
        #wrap{width: 400px;height: 600px;border: 1px solid red;margin: auto}
        #big{font-size: 140px;text-align: center}
        li{list-style: none;float: left;width: 20%;font-size: 40px;}
    </style>
    <script src="js/jquery-1.7.1.min.js"></script>
</head>
<body>
    <div id="wrap">
        <div id="big"></div>
        <p>根据上面的文字选择正确的颜色</p>
        <ul id="small">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
    <script type="text/javascript">
        $(function(){
            var bigTextNum = 0;
            //创建随机数
            function randFn(max,min){
                return parseInt(Math.random()*(max-min)+min)
            }
            //创建颜色数组
            var arrAllText = ['','','','','绿'];
            var arrAllColor = ['red','black','yellow','blue','green'];
            //为上面一个div添加随机文字
            function setBig(){
                $("#big").css({
                    color:arrAllColor[randFn(0,5)],
                })
                ranTextNum=randFn(0,5);
                //储存下标
                bigTextNum=ranTextNum;
                $("#big").text(arrAllText[ranTextNum]);
            }
            setBig();
            //为下面的li添加文字
            function setSmall(){
                //这是为了防止第二次时事件带来的影响,清除所有事件
                $("li").off("click");
                //深拷贝******
                var arrTempText = [].concat(arrAllText);
                var arrTempColor = [].concat(arrAllColor);
                var lis=$("#small li");
                for (var i = 0; i < lis.length; i++) {
                    var num=randFn(0,arrTempText.length);
                    lis.eq(i).text(arrTempText[num]);
                    var numC=randFn(0,arrTempColor.length);
                    lis.eq(i).css("color",arrTempColor[numC]);
                    //比较上面文字和下面文字的下标,因为他们是对应的
                    if(arrAllColor[bigTextNum] == arrTempColor[numC]){
                        lis.eq(i).on("click",function(){
                            setBig();
                            setSmall();
                        })
                    }
                    //防止li里出现重复的字,所以添加一个从数组里删除一个
                    arrTempText.splice(num,1);
                    arrTempColor.splice(numC,1);
                };

            }
            setSmall();
        })
    </script>
</body>
</html>

转载于:https://www.cnblogs.com/ldlx-mars/p/6930575.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,关于 Python 的井字棋游戏 15,我能够提供一些思路和代码实现。 首先,我们需要定义一个二维列表来表示井字棋盘面。可以使用数字 1 表示玩家 1 的棋子,数字 2 表示玩家 2 的棋子,0 表示空格。 ```python board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] ``` 接着,我们可以定义一个函数来打印当前的棋盘状态。 ```python def print_board(board): print(" 1 2 3") for i in range(3): row = str(i + 1) + " " for j in range(3): if board[i][j] == 1: row += "X " elif board[i][j] == 2: row += "O " else: row += "_ " print(row) ``` 然后,我们需要定义一个函数来检查是否有玩家获胜。可以使用一个列表来存储所有可能的获胜组合,然后遍历这个列表,检查当前棋盘是否匹配其中任意一种获胜情况。 ```python def check_win(board): # 所有可能的获胜组合 win_positions = [ [(0, 0), (0, 1), (0, 2)], [(1, 0), (1, 1), (1, 2)], [(2, 0), (2, 1), (2, 2)], [(0, 0), (1, 0), (2, 0)], [(0, 1), (1, 1), (2, 1)], [(0, 2), (1, 2), (2, 2)], [(0, 0), (1, 1), (2, 2)], [(0, 2), (1, 1), (2, 0)] ] for pos in win_positions: if board[pos[0][0]][pos[0][1]] != 0 and \ board[pos[0][0]][pos[0][1]] == board[pos[1][0]][pos[1][1]] and \ board[pos[1][0]][pos[1][1]] == board[pos[2][0]][pos[2][1]]: return True return False ``` 接下来,我们可以定义一个函数来让玩家下棋。该函数会循环等待玩家输入有效位置,然后更新棋盘状态,直到有玩家获胜或棋盘下满。 ```python def play_game(): print("Welcome to the game of Tic Tac Toe!") print("Player 1 uses X and Player 2 uses O.") current_player = 1 while True: print_board(board) row = int(input("Player " + str(current_player) + ", enter row number (1-3): ")) col = int(input("Player " + str(current_player) + ", enter column number (1-3): ")) row -= 1 col -= 1 if board[row][col] != 0: print("Invalid move, try again.") continue board[row][col] = current_player if check_win(board): print_board(board) print("Player " + str(current_player) + " wins!") break if sum([row.count(0) for row in board]) == 0: print_board(board) print("It's a tie!") break current_player = 3 - current_player ``` 最后,我们可以调用 `play_game()` 函数来开始游戏。 ```python play_game() ``` 希望这些代码能够帮助您实现 Python 的井字棋游戏 15。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值