科协足球进攻程序
足球进攻战术实战演练

足球进攻战术实战演练足球是一项以进球为目标的团队运动,而进攻战术则是球队在比赛中争取破门得分的重要手段。
为了提高球队的进攻效率和战术配合能力,进行足球进攻战术实战演练是必不可少的。
一、准备阶段在进行足球进攻战术实战演练之前,需要做好相应的准备工作。
首先,确保球场和训练设施的完好无损,提供良好的训练环境。
其次,确定演练的具体目标和要求,明确所需达到的效果和提高项。
最后,合理制定训练计划和时间安排,确保每个环节的顺利进行。
二、战术理论讲解在实战演练之前,教练应向球员详细介绍所要训练的进攻战术。
这包括战术的特点、原理、运用场景以及球员的角色和配合要求等。
通过战术理论讲解,可以帮助球员更好地理解和掌握进攻战术的要领,为后续的实战演练打下良好基础。
三、小组战术配合练习在实际操作中,可以通过小组战术配合练习来培养球员的默契和配合能力。
可以按照进攻战术的要求,分为不同的小组进行训练,每个小组包括进攻球员和传球球员。
进攻球员根据战术要求进行跑位,传球球员则负责寻找机会传球。
通过多次反复的训练,可以提高球员的意识和配合技巧,增强进攻的威胁性。
四、全队实战演练在小组训练之后,可以进行全队实战演练。
通过与对方球队进行对抗,让球员在实战中更好地理解和应用进攻战术。
在全队实战中,教练可以对球员的跑位、传球和射门等方面进行指导和调整,帮助他们更好地适应战术要求。
同时,也可以通过实战演练来检验战术训练的效果和球员的表现。
五、战术应用和调整在进行足球进攻战术实战演练的过程中,教练需要及时观察和分析球员的表现,根据实际情况进行战术的调整。
可以根据对方球队的防守特点和自身球员的实际情况,灵活调整进攻战术的要求和安排,提高进攻的灵活性和实用性。
同时,也要注重与球员的沟通和交流,帮助他们更好地理解和掌握战术策略。
六、实战演练总结在足球进攻战术实战演练结束之后,教练应及时总结和评估。
可以与球员进行讨论和交流,听取他们的意见和建议。
同时,教练也要对演练过程中的问题和不足进行总结和反思,提出改进方案和措施。
科协足球调试说明

足球调试说明
一、程序切换
按触屏上的中文字可以切换程序(或者按←按钮) 。
二、扫描场地
运行程序,切换到“扫描”程序并按下运行按键,按指示扫描5个颜色区域。
三、挑边
切换程序“挑边”
按下确定运行,场地将会切换到另一边,如下图所示
四、定位
指南针线做磁场补偿,操作方式:按着指南针上的按钮不放等3秒全闪,松开,转动机器大于1圈。
然后定位,把机器前方正对对方球门,按一下按钮。
测试
马达测试:触屏运行程序,在显示场地的界面下,按下→键,马达会按编号由小到大依次转动,转动方向向前(箭头方向)
灰度测试:触屏运行程序,在显示场地的界面下,将机器放到各色区域,如果扫描正确,场地上对应的位置会显示机器图示。
吸球调试
把程序调到吸球并运行吸球测试程序这时,吸球马达会转起来,屏幕上显示
1
2
3
4
如上图,把球放到吸球区域,马达把球旋进吸球区
吸到球时屏幕应该显示YES(或者YES NO之间跳动也可以),没有吸到球应该显示NO(不跳动)。
如果不对,就要适当调整阀值(利用RCU的左右按钮调整),使其数值低于灰度的读数。
足球进攻教案

足球进攻教案足球进攻是比赛中至关重要的一环。
在这篇教案中,我们将探讨如何有效地组织和实施足球进攻战术。
我们将首先介绍一些基本的进攻原则,然后详细讨论不同的进攻战术和练习方法。
一、基本进攻原则1. 空间利用:球队应充分利用场地空间,通过拉开对方防守形成空档,创造出更多进攻机会。
2. 快速传递:球员应迅速传递球来打乱对方防线,尽快将球传递到有利位置。
3. 创造奇迹:球员应勇于突破防守线,利用个人技能制造破坏性进攻。
4. 抢占制高点:球队应在对方禁区附近寻找制高点,如头球争顶的机会,增加得分机会。
二、进攻战术1. 快速反击:当球队夺得球权后,快速传递球,迅速向对方禁区发起进攻。
这种战术适用于对方阵型散漫时效果最好。
2. 边路攻击:通过外侧球员的传中或突破进攻,制造扰乱对方防守的机会。
边路攻击常常能够给予对方意想不到的打击。
3. 中路渗透:通过中场球员的配合突破对方防线,寻找中路传球和射门的机会。
这种战术需要球员之间默契度较高。
4. 固守反击:当球队处于守势时,可以选择固守反击战术。
等待对方失误后,迅速发起快速反击,制造进攻机会。
三、练习方法1. 传递与合作:练习球员之间的传球配合,培养出默契和团队合作意识。
2. 射门训练:练习不同角度和距离的射门,提高球员的射门技巧和准确性。
3. 技术训练:通过各种技术练习,如带球突破、盘带等,让球员掌握基本的足球技能。
4. 对抗训练:进行对抗性训练,模拟真实比赛情境,让球员在压力下学会应对和调整战术。
通过以上的教案,我们可以帮助球队形成统一的进攻思路和战术,提高球员的进攻效率和配合能力。
同时,我们也要注重培养球员的个人技能,让他们具备破坏对方防线的能力。
只有不断地学习和练习,球队才能在比赛中取得出色的进攻表现。
足球进攻战术

环节1 (20分钟)
基本设置:
盘带和传球热身
训练说明:
1.训练从1处同时开始,带球至2
2.两种选择:带球至3或转身回撤后带球至3
3.3处球员接球后带球至场地中央的标志锥,传球至1
指导要点:
1.球速
2.交流
3.盘带
进阶训练:
2处有4种选择:带球,转身回撤后带球,撞墙式配合,套边插上
环节2 (30分钟)
基本设置:
带球后完成射门
训练说明:
1.在区域1内3v2(2v2+1名中立球员)对抗
2.在区域2内3v2对抗
3.在区域3内2v1对抗
4.中立球员(绿队球员)开球,红队朝球门进攻,如蓝队断球,通过传球与中立球员配合指导要点:
1.迅速散开
2.三角站位
3.对角线传球
4.向前推进
进阶训练:
1.球员位置轮转,快速建立人数上的优势
2.在区域3内3v2对抗
环节3 (20分钟)
基本设置:
7V7比赛,小场比赛规则,按照教练规定的阵型。
科协足球操作指南2011

科协足球操作指南一、操作步骤1.接通主机电源,点击开关按钮,打开主机。
2.选择程序(进攻程序jin11,防守程序fang9)。
3.按“确认”键运行程序。
4.界面显示 button1 attack/defence(按“确认”键开始比赛)Button2 values(按“取消”键进行取值)5.到新场地需要先进行取值操作,按取消键。
6.如果程序选择防守程序,屏幕显示distance。
将防守机器人放在自己的球门前黑色区域,机器人的前方(主机方向)对着对方球门水平放置,机器人后面距离黑白界限6、7cm位置按“确认”键。
选择进攻程序没有此步。
7.液晶显示white(白色取值),屏幕四个数据为当前灰度模拟值。
8.将机器人放到黑色区域(底部四个灰度完全在黑色区域),用一字螺丝刀分别调节4个灰度传感器电位器,观察四个数据变化,调到略小于最大值(小于最大值100、200左右,参考值3000),逆时针增大,顺时针减小,此时灰度对颜色区分能力最强。
9.液晶依然显示white,将机器人完全(四个灰度)放到场地白色区域上按“确认”键。
10.液晶显示yellow,将机器完全放到浅黄色区域按“确认”键。
11.液晶显示green,将机器完全放到草绿色区域按“确认”键。
12.液晶显示deep green,将机器完全放到中间深绿色按“确认”键。
13.液晶显示black,将机器人完全放到黑色区域按“确认”键。
14.显示回到主界面,主界面左下角有对当前区域判定的提示,将机器完全放到不同的颜色区域,观察是否与提示颜色对应,出现“other”说明颜色判断错误,取值错误,重复5~13操作。
15.回到主界面后按“确认”键开始比赛,运行attack/defence。
16.指南针校正。
尽量远离别的机器人。
指南针通电后指示灯闪烁,用塑料/木棒点击指南针校正按钮,此时指南针指示灯常亮,顺时针(或逆时针)匀速缓慢旋转机器3、4圈,如果这时指南针指示灯仍然常亮,则用塑料再次点击校正按钮,指南针正常闪烁。
足球怎么进攻

足球怎么进攻足球怎么进攻一、足球基本战术原则1、对球的处理要果断。
在对方有多名前锋同时压下来的时候,后卫得球后,要试图马上把球传给队友。
这就是说,在形式对自己不利的情况下,对球的处理一定要果断。
2、不要着急反攻。
一定要摆脱那种一旦得球就该立刻转入反攻的想法。
千万不要在无法保证充分的活动空间的情况下,匆匆忙忙把球传走。
仓促的传球很容易被对方断掉。
而对方一旦得球,很可能会立刻发起再一轮的进攻。
队员在得球之后,一定要调整呼吸,与进攻队员沟通之后再带球前进。
足球进攻要诀足球的基本战术3、不要空位。
当有队员为了抢球或是阻止对方队员进攻而离开自己位置的时候,其他的队员应该迅速把空位补上。
这样的配合不论是在攻击还是在防守的时候都一样重要。
二、七人足球战术进攻要诀1、梯次助攻。
边后卫的助攻是进攻的组成部分,但是要注意一个原则,边后卫不要一开始大举压上,以至于喧宾夺主,而是要适时地,梯次地插上,这样更有威胁和突然性。
同样的原则也适用于中后卫的突然助攻,但是其他邻近队员要自然地后撤补位。
2、体能分配。
遵循每个人跑动距离基本平均的原则,避免由于某个位置的队员过多的不必要的跑动和带球突破,造成体能上的短板。
例如,边后卫从本方禁区直接带球下底而没有任何传球和过渡,往往会不必要地耗费体力,以至于丢球后无力回防。
另一个不合理现象就是,对方已经站好位置,而前锋队员得球后头也不回地向前向人群硬突,根本不考虑主动传球,结果十有八九是丢球,几个回合下来,不仅队友泄气,自己的体能也所剩无几。
这总习惯可以说有点不负责任和缺乏配合意识!而且白白耗费了宝贵的体能。
对于有一定技术能力的前锋,这样地行为可以起到扰乱对手防线的目的,但是,最后往往还是腰依靠你的队友完成进攻,因为你把对方两个以上人吸引过来,而队友可能处在无人盯防的位置,这时若能用眼角的余光及时地分球给他,岂不妙哉。
3、多传少带。
希丁克说:中场的每一脚短传连接都是有意义的.。
贝肯包尔说,我宁愿选择带球几米而传球几十米的队员,而不愿意选择带球几十米而传球几米的队员。
足球技巧操作规程

足球技巧操作规程足球是一项极具观赏性和技术含量的运动,各种精湛的技巧操作更是为比赛增添了趣味和激情。
为了让球员们更好地理解和掌握足球技巧,在比赛中灵活运用,本文将介绍一些常见的足球技巧操作规程。
一、控球技巧1. 用脚内侧接球:接球时,用脚内侧的一部分将球轻轻停下,保持足球在自己的掌控范围内,为后续动作做准备。
2. 用胸接球:使用胸部接球时,需要保持自己身体的平衡,让球轻轻地从空中落到胸前,并且能够掌握住球的落点。
3. 用头接球:头球是一项更具挑战性的技巧,需要球员具备一定的弹跳力和空中对抗能力,准确无误地用头部将球送向目标区域。
4. 控制球速:在接球过程中,用脚控制和调整球速,让球因为你的控制而改变方向和速度。
二、传球技巧1. 直传:直传是指直接将足球传给队友,确保传球的准确度和力度,使得队友更容易接住球并快速发起进攻。
2. 横传:横传是指将足球从一侧传到另一侧,为球队进攻提供更多的视野和空间。
3. 斜传:斜传是在直传和横传之间的一种传球方式,能够突破对方防线,创造出更多的进攻机会。
4. 间接传球:通过地面或空中的间接传球,引导对方防守球员移动,为己方队友创造空当。
三、盘带技巧1. 内切盘带:用内侧脚背将足球带过对方防守球员,快速改变方向并加速突破对方防线。
2. 外切盘带:用脚背外侧带球,将足球移至身体的一侧,绕过对方防守球员,获得突破机会。
3. 连续盘带:通过快速而灵活地连续盘带,牢牢掌握球权,为自己和队友创造时间和空间。
4. 快速变向盘带:通过突然而快速的变向盘带,迅速晃动对方防守球员,打破对方的防守体系。
四、射门技巧1. 低射:射门时,尽量保持球的低平快速射门,减小被对方封堵的风险。
2. 弧线射门:通过控制脚踝的力度和转动角度,给足球施加旋转效果,形成弧线,增加射门的精准性和破门的可能性。
3. 抽射:趁着对方球门守门员离开球门,采用迅速抽射的方式,将球射入空门。
4. 高射门:对方球门守门员站位较低时,可以选择高射门,将球从守门员头顶射入球门。
足球比赛中的进攻套路

足球比赛中的进攻套路足球是一项全球性的运动,进攻是比赛中取得胜利的关键。
在比赛中,球队通过进攻来破解对方的防线,争取射门得分。
然而,简单的进攻往往难以打破对方的防线,因此球队需要制定并实施一系列的进攻套路来增加得分机会。
本文将探讨足球比赛中常见的进攻套路。
一、组织型进攻套路组织型进攻套路着重于球队整体的配合和战术调度,通过传球和跑动来寻找进攻空当。
这种套路要求球队队员之间的默契和配合,并且需要战术上的统一。
以下是几种常见的组织型进攻套路:1.传中配合进攻套路传中配合进攻套路是球队的常用套路之一。
球队在进攻时,边路球员快速传中,其他球员通过跑动和空切的方式,将球送入对方球门。
这种套路需要边路球员的速度和准确的传中技术,同时中路球员需要有良好的空切和头球能力。
2.倒三角进攻套路倒三角进攻套路是指中场球员通过传球和跑动,形成倒三角的阵型来实施攻势。
这种套路强调中场球员之间的传球和跑动,通过密切的配合和频繁的换位来打破对方防线。
倒三角进攻套路要求球员之间的默契和快速的反应能力。
二、反击型进攻套路反击型进攻套路强调在对方进攻失误或防线失守时,利用快速的传球和跑动迅速反击。
这种套路要求球队具有出色的反应速度和高超的技术水平。
以下是几种常见的反击型进攻套路:1.快速反击进攻套路快速反击进攻套路是指球队在对方进攻失误或防线失守时,迅速发动进攻。
球队通过快速的传球和跑动,迅速进入对方半场,寻找得分机会。
这种套路要求球队队员之间的默契和快速的反应能力。
2.长传直接进攻套路长传直接进攻套路是指球队在对方防线失守时,通过长传将球直接送入对方禁区,寻找得分机会。
这种套路要求球队具有出色的长传技术和球员的跑动能力。
同时,中锋需要具备出色的头球能力来完成进球。
三、个人突破套路个人突破套路是指球队中个别球员凭借个人的技术和速度,突破对方防线,创造得分机会。
以下是几种常见的个人突破套路:1.边路突破进攻套路边路突破进攻套路是球队通过边路球员的个人突破来创造得分机会。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/////////////////////////////////////////////////////////////////// /////////////////// 程序名://// 时间:2010-11 //// 安装说明://// 1.左前电机接马达0,右前电机接马达1,左后电机接马达2,右后电机接马达3(主机前)//// 2.前面灰度接1口,左侧灰度接2口,后面灰度接3口,右侧灰度接4口//// 3.左测距接5口,后测距接6口,右测距接7口//// 4.复眼11号通道朝前, 火焰传感器接8口//// 操作说明: //// 1.指南针校正//// 2.指南针朝进攻方向定位,机器人左边浅黄、右边草绿时,运行“前进攻”//// 指南针朝进攻方向定位,机器人左边草绿、右边浅黄时,运行“后进攻”//// 半场换场地指南针重新定位//// 3.灰度取值//// 4.进攻方向选择//// 调试说明:// // 1.马达测试程序不走直线。
更换马达。
//// 2.攻门不够流畅。
增大复眼11通道检测范围。
//// 3.找不准球。
减小复眼11通道检测范围,增大复眼10、12通道检测范围。
//// 4.绕球不好。
调整复眼4通道检测范围。
//// 5.绕球后离球太近。
增大复眼9、13检测范围。
///////////////////////////////////////////////////////////////////// /////////////////#include "main.h"void qian_jin_gong(); //朝正方向进攻子程序void hou_jin_gong(); //朝反方向进攻子程序void zq_qian(); //正向进攻时,处理绕球子程序void zq_hou(); //反向进攻时,处理绕球子程序void raoqiu_qian(); //正方向绕球子程序void raoqiu_hou(); //反方向绕球子程序void jin_gong_qian(); //正向进攻时进攻子程序,处理拨球void jin_gong_hou(); //反向进攻时进攻子程序,处理拨球void guiwei_qian(); //正向进攻,没球时归位子程序void guiwei_hou(); //反向进攻,没球时归位子程序int quyu_panduan(); //判断机器人所处颜色区域子程序int chujie_panduan(); //出界判断子程序void chujie_fanhui();//出界返回子程序void zq(); //远距离追球void zq1(); //近距离追球void zq2(); //加速追球void adjust_degree(int degree,int speed); //调整角度int moni_pingjun(int i); //取i口模拟值的5次平均值,返回一个数值(平均值)int pjz(int i); //取i口模拟值的5次平均值,返回一个数值(平均值)int cj(int i); //测距平均值void read_address(); //读地址参数void value(); //取值子程序void start_zq(); //启动追球进攻void qianjin_degree(int degree,int speed1,int speed2); //直线前进void houtui_degree(int degree,int speed1,int speed2); //直线后退void zuoyi_degree(int degree,int speed1,int speed2); //直线左移void youyi_degree(int degree,int speed1,int speed2); //直线右移void qianjin(int j); //前进void houtui(int j); //后退void zuoyi(int j); //左移void youyi(int j); //右移void zuozhuan(int j); //左转void youzhuan(int j); //右转void STOP(); //停止int z1=40; //近距离找球,前进(后退)速度int z2=35; //近距离找球,左移(右移)速度int zdztd; //复眼最大值通道(判断方向)int zdz; //复眼的最大值(判断距离)int znz; //指南针的值int speed1=40; //拨球初始速度int speed; //拨球速度int b_q_1,q_s_1,s_l_1,l_h_1; //灰度1各颜色区域分界值。
命名解释:b 代表白色,q代表浅黄色,s代表草绿色int b_q_2,q_s_2,s_l_2,l_h_2; //灰度2各颜色区域分界值。
h 代表黑色,l代表深绿色,数字代表几号口灰度int b_q_3,q_s_3,s_l_3,l_h_3; //灰度3各颜色区域分界值。
例如:l_h_1表示1号口灰度深绿色和黑色的分界值int b_q_4,q_s_4,s_l_4,l_h_4; //灰度4各颜色区域分界值。
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////主程序//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////void main(){read_address();while(1){if(getbutton1()==1){value();break;}else if(getbutton2()==1)break;elseprintf("按钮1进行取值按钮2开始比赛\n");}while(1){if(getbutton1()==1){printf("前进攻\n");qian_jin_gong();}//按下按钮1,调用正向进攻子程序else if(getbutton2()==1){printf("后进攻\n");hou_jin_gong();}//按下按钮2,调用反向进攻子程序elseprintf("按钮1前进攻按钮2后进攻znz=%3d zdz=%3d\n",compass(),eye360(eye0,eyeMAX ));}}/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////正向进攻所用程序/////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////正向进攻void qian_jin_gong(){start_timer();start_zq();//启动追球while(1){while(chujie_panduan()==3){zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);if(zdz<=60) //没有球时,调用归位子程序guiwei_qian();else//有球时,正向进攻处理球zq_qian();if(moni_pingjun(8)<100&&zdztd==11) //离球近时,球在正前方,处理球jin_gong_qian();}chujie_fanhui();//处理出界子程序}}//正向进攻处理球void zq_qian(){adjust_degree(10,30);//调整角度if(zdztd>=9&&zdztd<=13)zq1();//近距离追球elseraoqiu_qian();//正向绕球}//正向绕球void raoqiu_qian(){zdztd=eye360(eye0,eyeMAXC);//让球不在正后方if(zdztd==4){//浅黄色、深绿色、黑色区域,右移if(quyu_panduan()==1||quyu_panduan()==3||q uyu_panduan()==4)while((chujie_panduan()==3)&&(zdztd==4)& &(compass()<45||compass()>315)){zdztd=eye360(eye0,eyeMAXC);youyi_degree(5,60,20);}//草绿色区域,左移else if(quyu_panduan()==2)while((chujie_panduan()==3)&&(zdztd==4)& &(compass()<45||compass()>315)){zdztd=eye360(eye0,eyeMAXC);zuoyi_degree(5,60,20);}}//让球处于正前方while((moni_pingjun(2)>b_q_2||moni_pingjun (4)>b_q_4)&&(zdztd==14||zdztd>4&&zdztd< 9||zdztd<4)&&(compass()<45||compass()>315 )){zdztd=eye360(eye0,eyeMAXC);houtui_degree(5,70,30);}}//正向近距离处理球void jin_gong_qian(){if(quyu_panduan()==1){if(moni_pingjun(4)<s_l_4)while((chujie_panduan()!=0)&&(compas s()>345||compass()<90)){youzhuan(25);zdztd=eye360(eye0,eyeMAXC);}else while((chujie_panduan()!=0)&&(compass()>3 52||compass()<90)){youzhuan(25);zdztd=eye360(eye0,eyeMAXC);}STOP();sleep(0.02);reset_timer();while(zdztd<=13&&zdztd>=9&&(moni_pingj un(4)>b_q_4&&moni_pingjun(1)>b_q_1)&& (compass()<90||compass()>270)){speed=speed1+mseconds()/20;if(speed>90)speed=90;zq2();}return;}else if(quyu_panduan()==2){if(moni_pingjun(2)<s_l_2)while((chujie_panduan()!=0)&&(compas s()<15||compass()>315)){zuozhuan(25);zdztd=eye360(eye0,eyeMAXC);}elsewhile((chujie_panduan()!=0)&&(compass()<8 ||compass()>315)){zuozhuan(25);zdztd=eye360(eye0,eyeMAXC);}STOP();sleep(0.02);reset_timer();while(zdztd<=13&&zdztd>=9&&(moni_pingj un(2)>b_q_2&&moni_pingjun(1)>b_q_1)&& (compass()<90||compass()>270)){speed=speed1+mseconds()/20;if(speed>90)speed=90;zq2();}return;}reset_timer();while(zdztd<=13&&zdztd>=9&&(chujie_pan duan()==3)&&(compass()<90||compass()>270 )){speed=speed1+mseconds()/20;if(speed>90)speed=90;zq2();}}//正向归位void guiwei_qian(){zdz=eye360(eye0,eyeMAX);if(zdz<60&&compass()>10&&compass( )<180) //调整角度while(zdz<60&&compass()>10&&compass() <180){zdz=eye360(eye0,eyeMAX);youzhuan(25);}elseif(zdz<60&&compass()>=180&&compass()< 350)while(zdz<60&&compass()>=180&&compas s()<350){zdz=eye360(eye0,eyeMAX);zuozhuan(25);}// STOP();sleep(0.05);if(quyu_panduan()==1)//右移到中间区域while(zdz<60&&quyu_panduan()==1&&(chu jie_panduan()==3)){zdz=eye360(eye0,eyeMAX);youyi_degree(5,60,20);}else if(quyu_panduan()==2) //左移到中间区域while(zdz<60&&quyu_panduan()==2&&(chu jie_panduan()==3)){zdz=eye360(eye0,eyeMAX);zuoyi_degree(5,60,20);}while(zdz<60&&moni_pingjun(3)<l_h_3&&( chujie_panduan()==3)&&(quyu_panduan()== 3||quyu_panduan()==4)) //后退到自己球门附近{zdz=eye360(eye0,eyeMAX);houtui_degree(5,70,30);}//判断是不是在对方黑色防守区域if(zdz<60&&moni_pingjun(3)>l_h_3&& moni_pingjun(6)<200){reset_system_time();while(zdz<60&&mseconds()<300&&(chujie_ panduan()==3)&&(quyu_panduan()==3||quyu _panduan()==4)) //出对方黑色区域{zdz=eye360(eye0,eyeMAX);houtui_degree(5,70,30);}}while(zdz<60&&moni_pingjun(3)<l_h_3 &&(chujie_panduan()==3)&&(quyu_panduan ()==3||quyu_panduan()==4)) //退回自己黑色区域{zdz=eye360(eye0,eyeMAX);houtui_degree(5,70,30);}//等待有球while(zdz<60&&moni_pingjun(3)>l_h_3 &&moni_pingjun(6)>200){zdz=eye360(eye0,eyeMAX);STOP();}}/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////反向进攻所用程序//////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////反向进攻void hou_jin_gong(){start_timer();start_zq();while(1){while(chujie_panduan()==3){zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);if(zdz<=60)guiwei_hou();elsezq_hou();if(moni_pingjun(8)<100&&zdztd==11)jin_gong_hou();}chujie_fanhui();}}//反向进攻处理球void zq_hou(){adjust_degree(10,30);if(zdztd>=9&&zdztd<=13)zq1();elseraoqiu_hou();}//反向进攻绕球void raoqiu_hou(){zdztd=eye360(eye0,eyeMAXC);if(zdztd==4){if(quyu_panduan()==1||quyu_panduan()==3||q uyu_panduan()==4)while(chujie_panduan()==3&&(zdztd==4)&& (compass()<45||compass()>315)){zdztd=eye360(eye0,eyeMAXC);zuoyi_degree(5,60,20);}else if(quyu_panduan()==2)while(chujie_panduan()==3&&(zdztd==4)&& (compass()<45||compass()>315)){zdztd=eye360(eye0,eyeMAXC);youyi_degree(5,60,20);}}while((moni_pingjun(2)>b_q_2||moni_pingjun (4)>b_q_4)&&(zdztd==14||zdztd>4&&zdztd< 9||zdztd<4)&&(compass()<90||compass()>270 )){zdztd=eye360(eye0,eyeMAXC);houtui_degree(5,70,30);}}//反向进攻近距离处理球void jin_gong_hou(){if(quyu_panduan()==2){if(moni_pingjun(2)<s_l_2)while((chujie_panduan()!=0)&&(compass()>3 50||compass()<90)){zdztd=eye360(eye0,eyeMAXC);youzhuan(25);}elsewhile((chujie_panduan()!=0)&&(compass()>3 55||compass()<90)){zdztd=eye360(eye0,eyeMAXC);youzhuan(25);}STOP();sleep(0.02);reset_timer();while(zdztd<=13&&zdztd>=9&&(moni_pingj un(4)>b_q_4&&moni_pingjun(1)>b_q_1)&& (compass()<90||compass()>270)){speed=speed1+mseconds()/20;if(speed>90)speed=90;zq2();}return;}else if(quyu_panduan()==1){if(moni_pingjun(4)<s_l_4)while((chujie_panduan()!=0)&&(compass()<1 0||compass()>270)){zdztd=eye360(eye0,eyeMAXC);zuozhuan(25);}elsewhile((chujie_panduan()!=0)&&(compass()<5 ||compass()>270)){zdztd=eye360(eye0,eyeMAXC);zuozhuan(25);}STOP();sleep(0.02);reset_timer();while(zdztd<=13&&zdztd>=9&&(moni_pingj un(2)>b_q_2&&moni_pingjun(1)>b_q_1)&& (compass()<90||compass()>270)){speed=speed1+mseconds()/20;if(speed>90)speed=90;zq2();}return;}STOP();sleep(0.02);reset_timer();while(zdztd<=13&&zdztd>=9&&(chujie_pan duan()==3)&&(compass()<90||compass()>270 )){speed=speed1+mseconds()/20;if(speed>90)speed=90;zq2();}}//反向进攻时归void guiwei_hou(){zdz=eye360(eye0,eyeMAX);if(zdz<60&&compass()>10&&compass( )<180)while(zdz<60&&compass()>10&&compass() <180){youzhuan(25);zdz=eye360(eye0,eyeMAX);}elseif(zdz<60&&compass()>=180&&compass()< 350)while(zdz<60&&compass()>=180&&compas s()<350){zuozhuan(25);zdz=eye360(eye0,eyeMAX);}// STOP();sleep(0.05);if(quyu_panduan()==1)while(zdz<60&&(quyu_panduan()==1)&&(ch ujie_panduan()==3)){zdz=eye360(eye0,eyeMAX);zuoyi_degree(5,60,20);}else if(quyu_panduan()==2)while(zdz<60&&(quyu_panduan()==2)&&(ch ujie_panduan()==3)){zdz=eye360(eye0,eyeMAX);youyi_degree(5,60,20);}while(zdz<60&&moni_pingjun(3)<l_h_3&&( chujie_panduan()==3)&&(quyu_panduan()== 3||quyu_panduan()==4)){zdz=eye360(eye0,eyeMAX);houtui_degree(5,70,30);}if(zdz<60&&moni_pingjun(3)>l_h_3&&moni _pingjun(6)<200){reset_system_time();while(zdz<60&&mseconds()<300&&(chujie_ panduan()==3)&&(quyu_panduan()==3||quyu _panduan()==4)){zdz=eye360(eye0,eyeMAX);houtui_degree(5,70,30);}}while(zdz<60&&moni_pingjun(3)<l_h_3 &&(chujie_panduan()==3)&&(quyu_panduan ()==3||quyu_panduan()==4)){zdz=eye360(eye0,eyeMAX);houtui_degree(5,70,30);}while(zdz<60&&moni_pingjun(3)>l_h_3 &&moni_pingjun(6)>200){zdz=eye360(eye0,eyeMAX);STOP();}}/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////正反进攻共用子程序//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////出界返回子程序void chujie_fanhui(){//调整角度adjust_degree(10,30);STOP();sleep(0.02);//完全出界情况while(chujie_panduan()==0){if(moni_pingjun(6)>600)qianjin_degree(5,60,20);elseif(moni_pingjun(5)>250&&moni_pingjun(7)> 250&&moni_pingjun(6)<200)houtui_degree(5,60,20);elseif(moni_pingjun(5)>600&&moni_pingjun(7)< 250)youyi_degree(5,60,20);elseif(moni_pingjun(7)>600&&moni_pingjun(5)< 250)zuoyi_degree(5,60,20);}//不完全出界情况while(chujie_panduan()==1){if(moni_pingjun(2)<b_q_2){if(moni_pingjun(4)>b_q_4)youyi_degree(5,60,20);elseif(moni_pingjun(1)<b_q_1)houtui_degree(5,60,20);elseif(moni_pingjun(3)<b_q_3)qianjin_degree(5,60,20);}else if(moni_pingjun(4)<b_q_4){if(moni_pingjun(2)>b_q_2)zuoyi_degree(5,60,20);elseif(moni_pingjun(1)<b_q_1)houtui_degree(5,60,20);elseif(moni_pingjun(3)<b_q_3)qianjin_degree(5,60,20);}else if(moni_pingjun(1)<b_q_1){if(moni_pingjun(3)>b_q_3)houtui_degree(5,60,20);elseif(moni_pingjun(2)>b_q_2)zuoyi_degree(5,60,20);elseif(moni_pingjun(4)>b_q_4)youyi_degree(5,60,20);}else if(moni_pingjun(3)<b_q_3){if(moni_pingjun(1)>b_q_1)qianjin_degree(5,60,20);elseif(moni_pingjun(2)>b_q_2)zuoyi_degree(5,60,20);elseif(moni_pingjun(4)>b_q_4)youyi_degree(5,60,20);}}}//出界判断int chujie_panduan(){int a1,a2,a3,a4;a1=moni_pingjun(1);a2=moni_pingjun(2);a3=moni_pingjun(3);a4=moni_pingjun(4);if(a1<b_q_1&&a2<b_q_2&&a3<b_q_3&&a4 <b_q_4) //机器人完全在白色区域return 0;elseif(a1>b_q_1&&a2>b_q_2&&a3>b_q_3&&a4 >b_q_4) //没有出界return 3;elsereturn 1; //机器人不完全出界}//区域判断int quyu_panduan(){int a1,a2,a3,a4;a1=moni_pingjun(1);a2=moni_pingjun(2);a3=moni_pingjun(3);a4=moni_pingjun(4);if(a1>l_h_1&&a2>l_h_2&&a3>l_h_3&&a4>l _h_4)//在黑色区域return 4;elseif((a1>s_l_1&&a2>s_l_2&&a3>s_l_3&&a4> s_l_4)&&(a1<l_h_1||a2<l_h_2||a3<l_h_3||a4<l _h_4)) //在中间深绿色区域return 3;elseif((a1>q_s_1&&a2>q_s_2&&a3>q_s_3&&a4 >q_s_4)&&(a1<s_l_1||a2<s_l_2||a3<s_l_3||a4 <s_l_4)) //在草绿色区域return 2;elseif((a1>b_q_1&&a2>b_q_2&&a3>b_q_3&&a 4>b_q_4)&&(a1<q_s_1||a2<q_s_2||a3<q_s_3|| a4<q_s_4)) //在浅黄色区域return 1;else//其它情况,包括白色,return 0; }//近距离找球子程序void zq1(){zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);if(zdztd==4)houtui(z1);else if(zdztd==11)qianjin(z1);else if(zdztd<=3||zdztd>=12)youyi(z2);else if(zdztd>=5&&zdztd<=10)zuoyi(z2);}//近距离加速子程序void zq2(){zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);if(zdztd==4)houtui(speed);else if(zdztd==11)qianjin(speed);else if(zdztd<=3||zdztd>=12)youyi(z2);else if(zdztd>=5&&zdztd<=10)zuoyi(z2);}/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////基础程序///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////调整角度void adjust_degree(int degree,int speed){if(compass()>degree&&compass()<180)while(compass()>degree&&compass()<180) //调整机器人对准0{youzhuan(speed);}elseif(compass()>=180&&compass()<(360-degree ))while(compass()>=180&&compass()<(360-de gree)) //调整机器人对准0{zuozhuan(speed);}}//模拟平均值int moni_pingjun(int i){int j,k,temp=0;for(j=0;j<5;j++)temp+=analog(i);return temp/5;}//模拟平均值int pjz(int i){int j,k,temp=0;for(j=0;j<5;j++)temp+=analog(i);return temp/5;}//启动追球子程序void start_zq(){zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);while(zdz>400&&(zdztd<=12&&zdztd> =10)){qianjin(90);zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);}while(zdz>400&&(zdztd<=5&&zdztd>= 3)){houtui(90);zdztd=eye360(eye0,eyeMAXC);zdz=eye360(eye0,eyeMAX);}}//读地址void read_address(){b_q_1=eepread(1);q_s_1=eepread(5);s_l_1=ee pread(9);l_h_1=eepread(13);b_q_2=eepread(2);q_s_2=eepread(6);s_l_2=ee pread(10);l_h_2=eepread(14);b_q_3=eepread(3);q_s_3=eepread(7);s_l_3=ee pread(11);l_h_3=eepread(15);b_q_4=eepread(4);q_s_4=eepread(8);s_l_4=ee pread(12);l_h_4=eepread(16);}//灰度取值void value(){int i=5,a1,a2,a3,a4;while(i==5&&getbutton2()==0){printf("白色取值td=%2d,zdz=%4d %3d,%3d,%3d,%3d按钮2开始比赛\n",eye360(eye0,eyeMAXC),eye360(eye0,eyeMA X),pjz(1),pjz(2),pjz(3),pjz(4));if(getbutton1()==1){i--;a1=pjz(1),a2=pjz(2),a3=pjz(3),a4=pjz(4);}}while(i==4&&getbutton2()==0){printf("浅黄色取值td=%2d,zdz=%4d %3d,%3d,%3d,%3d按钮2开始比赛\n",eye360(eye0,eyeMAXC),eye360(eye0,eyeMA X),pjz(1),pjz(2),pjz(3),pjz(4));if(getbutton1()==1){i--;b_q_1=(pjz(1)+a1)/2,b_q_2=(pjz(2)+a2)/2 ,b_q_3=(pjz(3)+a3)/2,b_q_4=(pjz(4)+a4)/2;eepwrite(1,b_q_1);eepwrite(2,b_q_2);eepwrite (3,b_q_3);eepwrite(4,b_q_4);a1=pjz(1),a2=pjz(2),a3=pjz(3),a4=pjz(4);} }while(i==3&&getbutton2()==0){printf("草绿色取值td=%2d,zdz=%4d %3d,%3d,%3d,%3d按钮2开始比赛\n",eye360(eye0,eyeMAXC),eye360(eye0,eyeMA X),pjz(1),pjz(2),pjz(3),pjz(4));if(getbutton1()==1){i--;q_s_1=(pjz(1)+a1)/2,q_s_2=(pjz(2)+a2)/2 ,q_s_3=(pjz(3)+a3)/2,q_s_4=(pjz(4)+a4)/2;eepwrite(5,q_s_1);eepwrite(6,q_s_2);eepwrite (7,q_s_3);eepwrite(8,q_s_4);a1=pjz(1),a2=pjz(2),a3=pjz(3),a4=pjz(4);} }while(i==2&&getbutton2()==0){printf("中间深绿色取值td=%2d,zdz=%4d %3d,%3d,%3d,%3d按钮2开始比赛\n", eye360(eye0,eyeMAXC),eye360(eye0,eyeMA X),pjz(1),pjz(2),pjz(3),pjz(4));if(getbutton1()==1){i--;s_l_1=(pjz(1)+a1)/2,s_l_2=(pjz(2)+a2)/2,s _l_3=(pjz(3)+a3)/2,s_l_4=(pjz(4)+a4)/2;eepwrite(9,s_l_1);eepwrite(10,s_l_2);eepwrite (11,s_l_3);eepwrite(12,s_l_4);a1=pjz(1),a2=pjz(2),a3=pjz(3),a4=pjz(4);} }while(i==1&&getbutton2()==0){printf("黑色取值td=%2d,zdz=%4d %3d,%3d,%3d,%3d按钮2开始比赛\n",eye360(eye0,eyeMAXC),eye360(eye0,eyeMA X),pjz(1),pjz(2),pjz(3),pjz(4));if(getbutton1()==1){i--;l_h_1=(pjz(1)+a1)/2,l_h_2=(pjz(2)+a2)/2, l_h_3=(pjz(3)+a3)/2,l_h_4=(pjz(4)+a4)/2;eepwrite(13,l_h_1);eepwrite(14,l_h_2);eepwri te(15,l_h_3);eepwrite(16,l_h_4);}}}/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////基本走法/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////直线走法void qianjin_degree(int degree,int speed1,int speed2) //角度前进{if(compass()>degree&&compass()<90){motor(0,speed1);motor(1,speed2);motor(2,speed1);motor(3,speed2);}elseif(compass()>270&&compass()<(360-degree) ){motor(0,speed2);motor(1,speed1);motor(2,speed2);motor(3,speed1);}elseqianjin(speed1);}void houtui_degree(int degree,int speed1,int speed2) //角度后退{if(compass()>degree&&compass()<90){motor(0,-speed2);motor(1,-speed1);motor(2,-speed2);motor(3,-speed1);}elseif(compass()>270&&compass()<(360-degree) ){motor(0,-speed1);motor(1,-speed2);motor(2,-speed1);motor(3,-speed2);}elsehoutui(speed1);}void youyi_degree(int degree,int speed1,int speed2) //角度右移{if(compass()>degree&&compass()<90){motor(0,speed1);motor(1,-speed1);motor(2,-speed2);motor(3,speed2);}elseif(compass()>270&&compass()<(360-degree) ){motor(0,speed2);motor(1,-speed2);motor(2,-speed1);motor(3,speed1);}elseyouyi(speed1);}void zuoyi_degree(int degree,int speed1,int speed2) //角度左移{if(compass()>degree&&compass()<90){motor(0,-speed2);motor(1,speed2);motor(2,speed1);motor(3,-speed1);}elseif(compass()>270&&compass()<(360-degree) ){motor(0,-speed1);motor(1,speed1);motor(2,speed2);motor(3,-speed2);}elsezuoyi(speed1);}//基本动作void qianjin(int j)//前进{motor(0,j);motor(1,j);motor(2,j);motor(3,j);}void houtui(int j) //后退{motor(0,-j);motor(1,-j);motor(2,-j);motor(3,-j);}void zuoyi(int j) //左移{motor(0,-j);motor(1,j);motor(2,j);motor(3,-j);}void youyi(int j) //右移{motor(0,j);motor(1,-j);motor(2,-j);motor(3,j);}void zuozhuan(int j) //左转{motor(0,-j);motor(1,j);motor(2,-j);motor(3,j);}void youzhuan(int j) //右转{motor(0,j);motor(1,-j);motor(2,j);motor(3,-j);}void STOP() //停止{motor(0,0);motor(1,0);motor(2,0);motor(3,0);}。