用python實現雙人五子棋(終端版)
阿新 • • 發佈:2021-01-02
五子棋還是有很多大佬發的,今天我也發一篇萌新寫的小五子棋
這個是終端版的,如果有問題請大家指出,我去修改
程式碼如下:
screen = [] screen_change=0 def into():#初始空白棋盤 for i in range(screen_change): list_width=[] for j in range(screen_change): list_width.append(' '+' |') screen.append(list_width) def user_black(): while True: coordinate = input("黑方請輸入你想填下子的座標 例1,2或者5,5") coordinate=coordinate.split(',') width_num = int(coordinate[0]) - 1 high_num = int(coordinate[1]) - 1 if screen[width_num][high_num][1]!=' ': print('你輸入的地方已經有棋子了,請重新輸入') continue screen[width_num][high_num] = ' ' + '@' + ' |' break screen_print() def user_white(): while True: coordinate = input("白方請輸入你想填下子的座標 例1,2或者5,5") coordinate = coordinate.split(',') width_num = int(coordinate[0]) - 1 high_num = int(coordinate[1]) - 1 if screen[width_num][high_num][1] != ' ': print('你輸入的地方已經有棋子了,請重新輸入') continue screen[width_num][high_num] = ' ' + '#' + ' |' break screen_print() def eeferee():#判斷輸贏 #判斷行 for i in range(screen_change): for j in range(screen_change-4): if screen[i][j][1]==screen[i][j+1][1]==screen[i][j+2][1]==screen[i][j+3][1]==screen[i][j+4][1] and screen[i][j][1]!=' ': return False for i in range(screen_change - 4): for j in range(screen_change): if screen[i][j][1]==screen[i+1][j][1]==screen[i+2][j][1]==screen[i+3][j][1]==screen[i+4][j][1] and screen[i][j][1]!=' ': return False for i in range(screen_change - 4): for j in range(screen_change - 4): if screen[i][j][1]==screen[i+1][j+1][1]==screen[i+2][j+2][1]==screen[i+3][j+3][1]==screen[i+4][j+4][1] and screen[i][j][1]!=' ': return False for k in range(4,screen_change): if k>=4: if screen[i][k][1] == screen[i+1][k-1][1] == screen[i+2][k-2][1] == screen[i+3][k-3][1] == screen[i+4][k-4][1] and screen[i][k][1] != ' ': return False return True def screen_print():#列印棋盤 print('——' * (screen_change*3+1)) for i in range(screen_change): print('|',end=' ') for j in range(screen_change): print(screen[i][j],end=' ') print() print('——'*(screen_change*3+1)) def main(): global screen_change screen_change = int(input('請輸入你設定的棋盤大小:')) into() screen_print() while eeferee(): user_black() if not eeferee(): break user_white() print('遊戲結束') if __name__=='__main__': main()
效果圖如下:
Python問題解答私信我