python制作简单五子棋游戏


Posted in Python onJune 18, 2019

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

#五子棋
‘''
矩阵做棋盘 16*16 “+”

打印棋盘 for for

游戏是否结束

开始下棋 while 游戏是否结束:
黑白交替 player=0 p%2==0 ==1 p+=1
下棋动作一样 但是棋子不一样
‘''

代码

#创建棋盘的程序
def initBoard():
 global board #调用全局的board
 board=[None]*16
 for i in range(len(board)):
 board[i]=["+ "]*16
#打印棋盘的程序
def printBoard():
 global board
 for i in range(len(board)):
 for j in range(len(board[i])):
  print(board[i][j],end=" ")
 print("")
#开始下棋的程序
def startGame():
 global board
 player=0
 while isGameContinue():
 if player%2==0:
  #黑方下棋
  print("==>黑方下棋")
  if not playChess("●"):
  continue
 else:
  #白方下棋
  print("==>白方下棋")
  if not playChess("○"):
  continue
 player+=1

def playChess(chess):
 #获取位置
 x=int(input("==> X="))-1
 y=int(input("==> Y="))-1
 if board[x][y]=="+ ":
 board[x][y]=chess
 printBoard()
 return True #落子成功
 else:
 print("==> 已有棋子 请重新落子\a")
 printBoard()
 return False#落子失败
def isGameContinue():
 for i in range(len(board)):
 for j in range(len(board[i])):
  if board[i][j]!="+ ":
  #横向
  if j<=11:
   if board[i][j]==board[i][j+1]==board[i][j+2]==board[i][j+3]==board[i][j+4]:
   whoWin(i,j)
   return False
  #竖向
  if i<=11:
   if board[i][j]==board[i+1][j]==board[i+2][j]==board[i+3][j]==board[i+4][j]:
   whoWin(i,j)
   return False
  #反斜
  if i<=11 and j<=11:
   if board[i][j]==board[i+1][j+1]==board[i+2][j+2]==board[i+3][j+3]==board[i+4][j+4]:
   whoWin(i,j)
   return False
  #正斜
  if i>=4 and j<=11:
   if board[i][j]==board[i-1][j+1]==board[i-2][j+2]==board[i-3][j+3]==board[i-4][j+4]:
   whoWin(i,j)
   return False
 return True
def whoWin(i,j):
 if board[i][j]=="●":
 print("黑方胜!")
 else:
 print("白方胜!")
 for i in range(10):
 print("\a")
board=[] 
initBoard()
printBoard()
startGame()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的检测web服务器健康状况的小程序
Sep 17 Python
跟老齐学Python之有容乃大的list(4)
Sep 28 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
python的继承知识点总结
Dec 10 Python
Python装饰器用法实例分析
Jan 14 Python
Python地图绘制实操详解
Mar 04 Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 Python
python制作朋友圈九宫格图片
Nov 03 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
重写django的model下的objects模型管理器方式
May 15 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Python利用pandas处理Excel数据的应用详解
Jun 18 #Python
PyQt5固定窗口大小的方法
Jun 18 #Python
Python格式化字符串f-string概览(小结)
Jun 18 #Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 #Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 #Python
pycharm访问mysql数据库的方法步骤
Jun 18 #Python
python实现五子棋人机对战游戏
Mar 25 #Python
You might like
Home Coffee Roasting
2021/03/03 咖啡文化
PHP调用三种数据库的方法(3)
2006/10/09 PHP
php通用防注入程序 推荐
2011/02/26 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
python实现在windows下操作word的方法
2015/04/28 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
python matplotlib库的基本使用
2020/09/23 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
小学英语教学反思
2014/01/30 职场文书
竞聘书模板
2014/03/31 职场文书
骨干教师培训方案
2014/05/06 职场文书
会计求职信
2014/05/29 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
《失物招领》教学反思
2016/02/20 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
Python基础教程,Python入门教程(超详细)
2021/06/24 Python