鱼C论坛

 找回密码
 立即注册
查看: 1669|回复: 3

[原创] 井字棋

[复制链接]
发表于 2020-2-2 00:02:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
写了个井字棋不过需要双人游戏哈哈
  1. def printTable():
  2.     print(' | |')
  3.     print(''+board[1]+'|'+board[2]+'|'+board[3])
  4.     print(' | |')
  5.     print('-----')
  6.     print(' | |')
  7.     print(''+board[4]+'|'+board[5]+'|'+board[6])
  8.     print(' | |')
  9.     print('-----')
  10.     print(' | |')
  11.     print(''+board[7]+'|'+board[8]+'|'+board[9])
  12.     print(' | |')
  13. def isWinner(board):
  14.     #print(board)
  15.     if board[1] == 'O' and board[4] == 'O' and board[7] == 'O'or\
  16.        board[2] == 'O' and board[5] == 'O' and board[8] == 'O'or\
  17.        board[3] == 'O' and board[6] == 'O' and board[9] == 'O'or\
  18.        board[1] == 'O' and board[2] == 'O' and board[3] == 'O'or\
  19.        board[4] == 'O' and board[5] == 'O' and board[6] == 'O'or\
  20.        board[7] == 'O' and board[8] == 'O' and board[9] == 'O'or\
  21.        board[1] == 'O' and board[5] == 'O' and board[9] == 'O'or\
  22.        board[3] == 'O' and board[5] == 'O' and board[7] == 'O':
  23.         return 'O'
  24.     if board[1] == 'X' and board[4] == 'X' and board[7] == 'X'or\
  25.        board[2] == 'X' and board[5] == 'X' and board[8] == 'X'or\
  26.        board[3] == 'X' and board[6] == 'X' and board[9] == 'X'or\
  27.        board[1] == 'X' and board[2] == 'X' and board[3] == 'X'or\
  28.        board[4] == 'X' and board[5] == 'X' and board[6] == 'X'or\
  29.        board[7] == 'X' and board[8] == 'X' and board[9] == 'X'or\
  30.        board[1] == 'X' and board[5] == 'X' and board[9] == 'X'or\
  31.        board[3] == 'X' and board[5] == 'X' and board[7] == 'X':
  32.         return 'X'
  33. def boardisFree(board,step):
  34.     return board[int(step)] == ' '
  35. board = [' ',]*10
  36. printTable()
  37. plear = 'X'
  38. while True:
  39.     if plear == 'X':
  40.         step = input('X走,请输入(1~9):')
  41.         if boardisFree(board,step):
  42.             board[int(step)] = 'X'
  43.             plear = 'O'
  44.             #print(board)
  45.             printTable()
  46.             if(isWinner(board) == 'X'):
  47.                 print('X玩家赢了')
  48.                 answer = input('是否再来一局(N/Y):')
  49.                 if answer.upper() == 'Y':
  50.                     board = [' ',]*10
  51.                     continue
  52.                 if answer.upper() == 'N':
  53.                     break
  54.         else:
  55.             print('该格子已有棋')
  56.             printTable()
  57.             continue
  58.     if plear == 'O':
  59.         step = input('O走,请输入(1~9):')
  60.         if boardisFree(board,step):
  61.             board[int(step)] = 'O'
  62.             plear = 'X'
  63.             #print(board)
  64.             printTable()
  65.             if(isWinner(board) == 'O'):
  66.                 print('O玩家赢了')
  67.                 answer = input('是否再来一局(N/Y):')
  68.                 if answer.upper() == 'Y':
  69.                     board = [' ',]*10
  70.                     continue
  71.                 if answer.upper() == 'N':
  72.                     break
  73.         else:
  74.             print('该格子已有棋')
  75.             printTable()
  76.             continue

复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
zltzlt + 3 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-13 16:02:05 | 显示全部楼层
挺好的,为啥木有人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 02:22:13 | 显示全部楼层
本帖最后由 maki_ 于 2022-11-11 02:25 编辑

def printTable():
    print('0———————————0')
    print('| '+board[1]+' | '+board[2]+' | '+board[3]+' |')
    print('|———————————|')
    print('| '+board[4]+' | '+board[5]+' | '+board[6]+' |')
    print('|———————————|')
    print('| '+board[7]+' | '+board[8]+' | '+board[9]+' |')
    print('0———————————0')

优化了下棋盘,现在看起来会更舒服些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-24 20:24:30 | 显示全部楼层
建议添加当两方都没能赢(也就是和棋)时加入“平局!”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 15:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表