python教程

python版五子棋小游戏源代码

我的站长站 2023-03-18 人阅读
# coding:UTF-8
# [url=home.php?mod=space&uid=238618]@Time[/url] : 2023/3/16 21:17
# @Autor : 菜皇
# [url=home.php?mod=space&uid=267492]@file[/url] : damo1.py
# [url=home.php?mod=space&uid=371834]@SOFTWARE[/url] : PyCharm
 
import sys
 
BOARD_SIZE = 15
 
# 初始化棋盘
def init_board():
    board = [['.' for _ in range(BOARD_SIZE)] for _ in range(BOARD_SIZE)]
    return board
 
# 绘制棋盘
def print_board(board):
    for row in board:
        print(" ".join(row))
    print()
 
# 检查是否有玩家获胜
def check_winner(board, player):
    for x in range(BOARD_SIZE):
        for y in range(BOARD_SIZE):
            if board[x][y] == player:
                # 水平方向
                if y <= BOARD_SIZE - 5 and all(board[x][y + i] == player for i in range(5)):
                    return True
                # 垂直方向
                if x <= BOARD_SIZE - 5 and all(board[x + i][y] == player for i in range(5)):
                    return True
                # 主对角线方向
                if x <= BOARD_SIZE - 5 and y <= BOARD_SIZE - 5 and all(board[x + i][y + i] == player for i in range(5)):
                    return True
                # 副对角线方向
                if x >= 4 and y <= BOARD_SIZE - 5 and all(board[x - i][y + i] == player for i in range(5)):
                    return True
    return False
 
def main():
    board = init_board()
    print_board(board)
    players = ['X', 'O']
    current_turn = 0
 
    while True:
        try:
            x, y = map(int,
                       input("玩家 {} 的回合,请输入落子坐标(逗号分隔,0-14):".format(players[current_turn])).split(','))
        except ValueError:
            print("输入错误,请输入逗号分隔的两个数字(0-14)。")
            continue
 
        if x < 0 or x >= BOARD_SIZE or y < 0 or y >= BOARD_SIZE:
            print("坐标超出范围,请输入0-14之间的数字。")
            continue
 
        if board[x][y] != '.':
            print("该位置已有棋子,请重新输入。")
            continue
 
        board[x][y] = players[current_turn]
        print_board(board)
 
        if check_winner(board, players[current_turn]):
            print("恭喜玩家 {} 获胜!".format(players[current_turn]))
            break
 
        current_turn = (current_turn + 1) % 2
 
if __name__ == "__main__":
    main()


相关推荐
  • 五子棋源码
  • Python源码
  • 解忧五子棋游戏源码
    解忧五子棋游戏源码

    解忧五子棋游戏源码介绍这款五子棋游戏源码使用简单,界面美观,速度快,该游戏特别适合情侣、朋友在一起无聊时打发时间用,开发环境为Visual Studio 2010,使用.net 4.0开发。...

    游戏源码 226 4年前
  • 自适应多终端五子棋小游戏源码网页版
    自适应多终端五子棋小游戏源码网页版

    源码介绍jquery开发的一款1:1五子棋游戏源码,支持多终端自适应,有非常漂亮的提示框效果,玩法一模一样。人工智能电脑模式有点问题,不能用,伙伴模式其实就是电脑模式。源码截图...

    游戏源码 50 2年前
  • iapp版五子棋小游戏源码下载
    iapp版五子棋小游戏源码下载

    源码介绍看清楚哦,是iapp版的五子棋小游戏源码。先黑后白,下载完导入就行源码截图

    游戏源码 71 2年前
  • Json压缩和格式化工具,附Python源码
    Json压缩和格式化工具,附Python源码

    软件介绍一款Json压缩和格式化工具,可以在线Json压缩和格式化。基于Python库开发,附上Python源码,GUI没有美化,巨丑。软件截图Python源码import jsonimport tkinter as tkdef json_compress(json_str...

    开发软件 34 10个月前
  • python打飞机小游戏源码+成品打包

    python源码用的pygame库,自带的random和os。程序运行需要的图片,声音和字体下载链接: https://pan.baidu.com/s/1KItG2usXOM_xcxcdHIixaw 提取码: qmweimport pygameimport randomimport os FPS = 60WIDTH = 500HEIGHT = 600 BLACK = (0, 0, 0)WHITE =...

    python教程 39 10个月前
  • 原创力文库Python爬虫下载源码

    # !/usr/bin/python# -*- coding: UTF-8 -*-import reimport jsonimport osimport shutilimport sysimport timeimport requestsimport img2pdffrom PIL import Image from alive_progress import alive_barfrom requests.exceptions import SSLErro...

    python教程 53 1年前
最新更新