Python开发五子棋游戏【新手必学】

python学习网 2020-02-13 11:32:01

五子棋源码,原创代码,仅供 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 
阅读(2375) 评论(0)