Python足球战术板源代码,过一把足球教练的瘾,足球战术分析工具

Python足球战术板源代码,过一把足球教练的瘾,可设置多种足球战术,基于pygame+tkinter,可读取已有战术,也可对教练布置战术过程进行录制和播放。已内置442、352、4321、433等多种足球经典战术。
在这里插入图片描述
完整代码下载地址:Python足球战术板源代码
在这里插入图片描述
main.py

import pygame
import sys
import os
import player as Player
import ftb_functions as ftbf
import button as Button 
import arrow as Arrow
import time
import json

pygame.init()
screen = pygame.display.set_mode((600,700))         #窗口大小
pygame.display.set_caption("足球战术板")        #设置标题
location = os.path.dirname(os.path.abspath(__file__)) + \
    os.sep+'images'+os.sep+'soccer-field-s.jpg'    #背景图片位置


#print('the location: '+location)
#print('2:'+os.path.dirname(os.path.abspath(__file__)))


backgroundimg = pygame.image.load(location)           #加载背景图片


screen.fill((230,230,230))        #背景颜色
pygame.display.flip()               #绘制屏幕

yTeamDefaultPos = os.path.dirname(os.path.abspath(__file__)) + os.sep+'data' + \
                    os.sep + 'yellowTeam' + os.sep + '442.json'
bTeamDefaultPos = os.path.dirname(os.path.abspath(__file__)) + os.sep+'data' + \
                    os.sep + 'blueTeam' + os.sep + '352.json'
#默认站位读取

global plyrpos
global plyrpos2
with open(yTeamDefaultPos,'r') as f_obj:
    plyrpos = json.load(f_obj)
with open(bTeamDefaultPos,'r') as f_obj:
    plyrpos2 = json.load(f_obj)

allplyr = Player.initPlyrPosition(plyrpos,screen)
allplyr2 = Player.initPlyr2Position(plyrpos2,screen)


buttonList = Button.createButton(screen)

class Checkclick():
    def __init__(self):
        self.ifc = False

ifclick = Checkclick()

arrowArr = []
for i in range(0,530):
    tmpArr = []
    for j in range(0,800):
        tmpArr.append(0)
    arrowArr.append(tmpArr)


##############################
###Main,真正的主循环开始的位置###
##############################


while True:
    ftbf.mouse_check_event(ifclick)
    if ifclick.ifc:
        pos = pygame.mouse.get_pos()
        if(pos[0]>=540 and pos[0]<=590):
            buttonList[0].save(allplyr,allplyr2)
            buttonList[1].load_all(allplyr,allplyr2)
            buttonList[2].load(allplyr,allplyr2)
            buttonList[3].draw(arrowArr,allplyr,allplyr2,buttonList)
            buttonList[4].erase(arrowArr,allplyr,allplyr2,buttonList)
            buttonList[5].record(allplyr,allplyr2,buttonList)
            buttonList[6].display(allplyr,allplyr2,buttonList)
            time.sleep(0.25)
        else:
            for i in range(0,11):
                allplyr[i].mov(allplyr,allplyr2,i) 
                allplyr2[i].mov(allplyr,allplyr2,i)
    
    
    screen.fill((230,230,230))        #背景颜色
    screen.blit(backgroundimg,(0,0))       #刷新背景

    for i in range(0,11):
        allplyr[i].blitme()
        allplyr2[i].blitme()
    for i in range(0,7):#0保存,1读取,2战术,3箭头,4擦除,5录制,6播放
        buttonList[i].blitme()
    
    Arrow.printArrow(screen,arrowArr)
    

    pygame.display.update()               #刷新屏幕

    time.sleep(0.004)            #保持250hz的刷新

完整代码下载地址:Python足球战术板源代码

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

Python代码大全

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值