五子棋原始碼,原創代碼,僅供 python 開源專案學習,
目前電腦走法笨笨的,下一期版本會提高電腦演算法
ps:另外很多人在學習Python的程序中,往往因為遇問題解決不了或者沒好的教程從而導致自己放棄,為此我建了個Python全堆疊開發交流.裙 :一久武其而而流一思(數字的諧音)轉換下可以找到了,里面有最新Python教程專案可拿,不懂的問題有老司機解決哦,一起相互監督共同進步
第二版已發布與另外一篇博文,有興趣的可以去查看下載,
import pygame
import time
SCREEN_WIDTH=900
SCREEN_HEIGHT=800
BG_COLOR=pygame.Color(200, 200, 200)
Line_COLOR=pygame.Color(255, 255, 200)
TEXT_COLOR=pygame.Color(255, 0, 0)
# 定義顏色
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = ( 0, 255, 0)
BLUE = ( 0, 0, 255)
class MainGame():
window = None
Start_X = 50
Start_Y = 50
Line_Span = 40
Max_X = Start_X + 18 * Line_Span
Max_Y = Start_Y + 18 * Line_Span
player1Color = 'B'
player2Color = 'W'
overColor = 'S'
# 1代表玩家1 , 2代表到玩家2 0代表結束
Putdownflag = player1Color
ChessmanList = []
def __init__(self):
'''初始化'''
def startGame(self):
MainGame.window = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
pygame.display.set_caption("五子棋")
#初始化
while True:
time.sleep(0.1)
#獲取事件
MainGame.window.fill(BG_COLOR)
self.drawchChessboard()
self.bitechessman()
self.VictoryOrDefeat()
self.Computerplay()
self.getEvent()
pygame.display.update()
pygame.display.flip()
def drawchChessboard(self):
for i in range(0,19):
x = MainGame.Start_X + i * MainGame.Line_Span
y = MainGame.Start_Y + i * MainGame.Line_Span
pygame.draw.line(MainGame.window, BLACK, [x, MainGame.Start_Y], [x, MainGame.Max_Y], 1)
pygame.draw.line(MainGame.window, BLACK, [MainGame.Start_X, y], [MainGame.Max_X, y], 1)
def getEvent(self):
# 獲取所有的事件
eventList = pygame.event.get()
for event in eventList:
if event.type == pygame.QUIT:
self.endGame()
