猫史档案馆


点运行怎么运行不了,哪位大神知道,快快回复

用户:淳朴的蓝甲虫8-_J淳朴的蓝甲虫8-_J查看:4 回复:10 评论:4 创建时间:2020-07-02T20:28:49


center_image


回复

上一页1 页 / 共 1下一页
挖坟专家挖坟专家

你得下载海龟

点赞0


评论


挖坟专家挖坟专家

.go()

点赞0


评论


嗯哼君 渠源嗯哼君 渠源

旁边不是有报错吗:这个pgzrun库是哪来的(笑哭)

除非是非内置库,那就需要本地IDE了(本地用pip下载)

点赞0


评论


LightnessLightness

报错啊喂

点赞0


评论


技术喵技术喵

from game import *
from tkinter import Tk
from tkinter.simpledialog import askinteger, askfloat, askstring
from tkinter.filedialog import askopenfilename, askopenfilenames, asksaveasfilename, askdirectory
from tkinter.messagebox import showinfo, showwarning, showerror
import socket
import threading
import sys

def recv(s):
    while 1:
        msg = s.recv(1024).decode()
        c = msg.split()
        print(msg)
        if c[0] == 'P':
            if cli.now == BLACK and cli.board[int(c[2])][int(c[1])]==BLANK:
                cli.board[int(c[2])][int(c[1])]=BLACK
                cli.now = WHITE
                cli.pre = [int(c[2]),int(c[1])]
                cli.s.send("R {} {}".format(c[1],c[2]).encode())
                cli.status=cli.result()
        if msg == "restart":
            cli.restart()


class Client(Game):
    def __init__(self):
        app = Tk()  # 初始化GUI程序
        app.withdraw()
        super().__init__()
        self.s = socket.socket()  # 创建T喵/IP套接字
        ip = askstring(title="请输入ip",prompt="IP")
        while ip is None or not ip:
            ip = "192.168.3.8"
        port = askstring(title="请输入端口", prompt="端口")
        if port is None or not port:
            port = 12345
        else:
            try:
                port = int(port)
            except:
                port = 12345

        print(ip,port)
        self.s.connect((ip, port))  # 主动初始化T喵服务器连接
        self.t = threading.Thread(target=recv,args=(self.s,))
        self.t.start()
        app.destroy()
    def play(self):
        while True:
            for e in pygame.event.get():
                if e.type == QUIT:
                    self.s.close()
                    exit()
                if e.type == KEYDOWN:
                    if e.key == K_ESCAPE:
                        self.s.close()
                        exit()
            self.show()
            p1, p2 = pygame.mouse.get_pos()
            p1 = (p1-16)//32
            p2 = (p2-16)//32
            if 0<=p1<=14 and 0<=p2<=14 and self.status == PLAYING:
                self.end = time.time()
                # pygame.draw.circle(self.screen, (255, 0,0), (p1 * 32 + 32, p2 * 32 + 32), 9)
                # pygame.draw.rect(self.screen, (255,0,0), (p1 * 32+16, p2 * 32+16, 32, 32), 2)
                if self.now == WHITE:
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16, p2 * 32+16),(p1 * 32+16+10, p2 * 32+16),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16+22, p2 * 32+16),(p1 * 32+16+22+10, p2 * 32+16),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16, p2 * 32+16+32),(p1 * 32+16+10, p2 * 32+16+32),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16+22, p2 * 32+16+32),(p1 * 32+16+22+10, p2 * 32+16+32),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16, p2 * 32+16),(p1 * 32+16, p2 * 32+16+10),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16, p2 * 32+16+22),(p1 * 32+16, p2 * 32+16+22+10),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16+32, p2 * 32+16),(p1 * 32+16+32, p2 * 32+16+10),2)
                    pygame.draw.line(self.screen,(255,0,0),(p1 * 32+16+32, p2 * 32+16+22),(p1 * 32+16+32, p2 * 32+16+22+10),2)

                if pygame.mouse.get_pressed()[0] and self.board[p2][p1] == BLANK and self.now == WHITE:
                    self.board[p2][p1] = WHITE
                    self.pre = [p2,p1]
                    self.now = BLACK
                    self.s.send("P {} {}".format(p1,p2).encode())
                    r=self.result()
                    self.status = r
            t0 = self.chn.render("你是 白 棋", True, (0, 0, 0))
            t1 = self.chn.render("当前是 "+("黑"if self.now == BLACK else "白")+" 的回合", True, (0, 0, 0))
            t2 = self.chn.render("当前状态:"+trans(self.status), True, (0, 0, 0))
            t3 = self.chn.render("本局时间:{}".format(getstr(self.end-self.start)), True, (0, 0, 0))
            t4 = self.chn.render("" if self.status==PLAYING else "", True, (0, 0, 0))
            if 0<=p1<=14 and 0<=p2<=14 and self.status == PLAYING:
                t4 = self.chn.render("目前选中:({},{})".format(p1+1,ROWS-p2), True, (0, 0, 0))

            self.screen.blit(t0, (32 * 15+15, 160))
            self.screen.blit(t1,(32*15+15,200))
            self.screen.blit(t2, (32 * 15+15, 240))
            self.screen.blit(t3, (32 * 15+15, 280))
            self.screen.blit(t4, (32 * 15+15, 320))
            pygame.display.update()


if __name__ == "__main__":
    cli = Client()
    cli.play()

点赞1


评论


不起眼的账号不起眼的账号

你网页去找库干啥呢,报错:没有这个库

下载海龟吧

点赞0


评论


淳朴的蓝甲虫8-_J淳朴的蓝甲虫8-_J

center_image

点赞0


评论


蕉饼蕉饼

这种萌新xswl

点赞0


评论


梦里觅深海梦里觅深海

因为在线版的turtle是没有pgzrun库的

点赞0


评论


友善的金冠泥nLdq友善的金冠泥nLdq

下载一个离线版的海龟编辑器就OK了

点赞0


评论