Python开发五子棋小游戏


Posted in Python onMay 02, 2022

本文实例为大家分享了用Python开发五子棋小游戏的具体代码,供大家参考,具体内容如下

# 制作一个棋盘
"""
++++++++++
++++++++++
++++++++++
++++++++++
"""


def createBoard():
    board = []
    for i in range(15):
        board.append(["+"] * 15)
    return board


def printBoard():#  print(" ", end="")
    for i in range(1, 16):
        number = str(i).rjust(3)
        print(number, end="")
    print()#打印列号之后换行
    for i in range(15):
        number = str(i + 1).ljust(3)#注意这个函数,是将行号每个都变成左对齐,占3位,以实现棋盘对齐功能
        print(number, end="")#打印行号
        for j in range(15):
            print(board[i][j], end="  ")
        print()


def isGameOver():
    count = 0
    # 先判断连续
    for x in range(15):
        for y in range(15):
            if board[x][y] != "+":
                count += 1
                # 向右
                if y < 11:
                    flag = True #表示默认游戏结束
                    for c in range(y + 1, y + 5):
                        if board[x][y] != board[x][c]:
                            flag = False
                            break
                    if flag:
                        if board[x][y] == "●":
                            print(">>>黑方胜!")
                        else :
                            print(">>>白方胜!")
                        return True; # 表示游戏结束
                # 向下
                if x < 11:
                    if board[x][y] == board[x+1][y] == board[x+2][y] == board[x+3][y] == board[x+4][y]:
                        if board[x][y] == "●":
                            print(">>>黑方胜!")
                        else :
                            print(">>>白方胜!")
                        return True
                # 向右下
                if x < 11 and y < 11:
                    if board[x][y] == board[x+1][y+1] == board[x+2][y+2] == board[x+3][y+3] == board[x+4][y+4]:
                        if board[x][y] == "●":
                            print(">>>黑方胜!")
                        else :
                            print(">>>白方胜!")
                        return True
                # 向右上
                if x > 3 and y < 11:
                    if board[x][y] == board[x-1][y+1] == board[x-2][y+2] == board[x-3][y+3] == board[x-4][y+4]:
                        if board[x][y] == "●":
                            print(">>>黑方胜!")
                        else :
                            print(">>>白方胜!")
                        return True
    # 再判断和棋
    if count == 15 ** 2:
        print(">>>和棋!")
        return True
    return False#如果以上连棋都没出现就游戏继续


def chess(c):
    x, y = eval(input("请输入坐标:"))
    x -= 1
    y -= 1
    if board[x][y] == "+":
        board[x][y] = c
        return True
    else:
        print(">>>此处已有棋子,请重新下棋!")
        return False


# 程序的开始
board = createBoard();
printBoard()
player = 0
while not isGameOver():#游戏继续的操作
    if player % 2 == 0:
        print(">>>请黑方下棋,", end="")
        if not chess("●"):
            continue
    else:
        print(">>>请白方下棋,", end="")
        if not chess("○"):
            continue
    printBoard()
    player += 1
print(">>>游戏结束!")

Python开发五子棋小游戏

五子棋胜局判断的根据所在如上图。


Tags in this post...

Python 相关文章推荐
Python实现二叉堆
Feb 03 Python
Python调用系统底层API播放wav文件的方法
Aug 11 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
对python中类的继承与方法重写介绍
Jan 20 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
Python上下文管理器全实例详解
Nov 12 Python
Python语言异常处理测试过程解析
Jan 08 Python
python基于property()函数定义属性
Jan 22 Python
pandas分组聚合详解
Apr 10 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
python获取带有返回值的多线程
May 02 #Python
总结三种用 Python 作为小程序后端的方式
Python如何用re模块实现简易tokenizer
May 02 #Python
Python实现简单得递归下降Parser
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 #Python
使用Python开发冰球小游戏
详解Python中的for循环
You might like
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Python网络编程 Python套接字编程
2017/09/13 Python
flask框架视图函数用法示例
2018/07/19 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
Python使用python-docx读写word文档
2019/08/26 Python
flask开启多线程的具体方法
2020/08/02 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
英国袜子店:Sock Shop
2017/01/11 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
集体婚礼证婚词
2014/01/13 职场文书
商务考察邀请函范文
2014/01/21 职场文书
自我鉴定标准格式
2014/03/19 职场文书
财务统计员岗位职责
2015/04/14 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
《假如》教学反思
2016/02/17 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
Python 如何安装Selenium
2021/05/06 Python
python运行脚本文件的三种方法实例
2022/06/25 Python