版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 北京邮电大学 信息与通信工程学院 数字电路综合实验报告 课题名称:足球比赛游戏机 姓 名: 学 号: 班内序号: 班 级: 日 期:2014/11/5 目录任务和要求1系统设计2设计思路2总体框图3分块设计3分频模块3倒计时模块5译码显示模块5球台控制模块6点阵显示模块7仿真波形及波形分析8源程序9功能说明及资源利用情况22功能说明22资源利用情况23故障及问题分析23总结和结论24 北京邮电大学数字电路实验报告任务和要求用 8×8 点阵设计制作一个足球比赛游戏机。基本要求:1、按下开始键后,点阵显示球场初始状态,黄色点表示球,红、绿点表示甲、乙双方的球员,上下各有四个点表示双方的
2、球门。 2、甲、乙双方各有一组上下左右按键来控制自己的球员,当球员位于足球的上下左右四个点时,按下方向键可带球向对应的方向移动,如果移动方向正前方有对方球员,则球不能移动。3、在没有球员踢球的时候,足球每秒随机向四个方向移动一格。4、足球到四周边界线(点阵最外一圈的点)时,再继续向外踢球时,可以球不移动,等待球随机移动;也可以自己设定相关的出界规则。5、 足球进入球门,则胜方自动加 1 分,每方的分数用2 位数码管显示。6、每场比赛时间为 90 秒,用数码管倒计时显示时间。计时到0 后,比赛停止,点阵显示胜利方(甲、乙或者平),直到再次按下比赛开始键后重新开始。提高要求:1、进球和比赛结束后点
3、阵显示动画或者蜂鸣器播放音乐庆祝。2、自拟其它功能。系统设计设计思路 在本实验中,我采用了自顶向下的设计方法。根据实验要求,首先将数字电路分为以下几个模块:分频模块,控制模块,倒计时器、计分器模块,译码显示模块,按键控制模块,点阵显示模块。然后依据功能对各个模块进行功能描述,从而设计出逻辑电路,写出相应代码。总体框图 图1 分块设计 图2 模块分布图 分频模块在高频时钟上升沿进行计数操作,对高频时钟进行分频,分别得到频率为1HZ,100HZ,200HZ,1KHZ,5KHZ的时钟信号。p1:PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1
4、9; THEN COUNT<=COUNT+1; COUNT1<=COUNT1+1; COUNT100<=COUNT100+1; COUNT200<=COUNT200+1; COUNT3<=COUNT3+1; IF COUNT<=24999999 THEN CLK_1<='1' ELSIF COUNT>24999999 AND COUNT<=49999999 THEN CLK_1<='0' ELSIF COUNT=50000000 THEN COUNT<=0; END IF; IF COUNT3&l
5、t;=24999 THEN CLK_1K<='1' ELSIF COUNT3>24999 AND COUNT3<=49999 THEN CLK_1K<='0' ELSIF COUNT3=50000 THEN COUNT3<=0; END IF; IF COUNT1<=4999 THEN CLK_5K<='1' ELSIF COUNT1>4999 AND COUNT1<=9999 THEN CLK_5K<='0' ELSIF COUNT1=10000 THEN COUNT1
6、<=0; END IF; IF COUNT100<=249999 THEN CLK_100<='1' ELSIF COUNT100>249999 AND COUNT100<=499999 THEN CLK_100<='0' ELSIF COUNT100=500000 THEN COUNT100<=0; END IF; IF COUNT200<=124999 THEN CLK_200<='1' ELSIF COUNT200>124999 AND COUNT200<=249999 TH
7、EN CLK_200<='0' ELSIF COUNT200=250000 THEN COUNT200<=0; END IF; END IF;END PROCESS;倒计时模块 此模块中每来一次1HZ时钟的上升沿则计数一次,之所以采用正计数,而计时器采用90S减的方式,是因为板子初始化值为0,若直接采用倒计数,则在状态机中直接进入FINAL状态,不能正常进行整个状态机过程。p2:PROCESS(CLK_1,T_HIGH,T_LOW,RST) -倒计时器模块 BEGIN IF RST='1' THEN T91<=0; ELSIF (CLK_1
8、39;EVENT AND CLK_1='1') THEN IF(T91=90)THEN T91<=90; ELSE T91<=T91+1; END IF; END IF;END PROCESS;译码显示模块 在此模块中,设置S1为模六计数器,以控制位选通输出。SHOW控制段选输出。同时用高频时钟扫描,以使能够看到稳定的数码管显示数字。 IF CLK_5K'EVENT AND CLK_5K='1' THEN IF (S1=5) THEN S1<=0; ELSE S1<=S1+1; END IF; CASE S1 IS WHEN 5=
9、>CAT<="011111" WHEN 4=>CAT<="101111" WHEN 3=>CAT<="110111" WHEN 2=>CAT<="111011" WHEN 1=>CAT<="111101" WHEN 0=>CAT<="111110" WHEN OTHERS=>CAT<="111111" END CASE; T_HIGH<=(90-T91)/10; T_
10、LOW<=(90-T91)MOD 10; SCORE1_HIGH<=SCORE1/10; SCORE1_LOW<=SCORE1 MOD 10; SCORE2_HIGH<=SCORE2/10; SCORE2_LOW<=SCORE2 MOD 10; SHOW(5)<=SCORE1_HIGH; SHOW(4)<=SCORE1_LOW; SHOW(3)<=T_HIGH; SHOW(2)<=T_LOW; SHOW(1)<=SCORE2_HIGH; SHOW(0)<=SCORE2_LOW; CASE SHOW(S1) IS WHEN 9=&
11、gt;SEG<="1111011" WHEN 8=>SEG<="1111111" WHEN 7=>SEG<="1110000" WHEN 6=>SEG<="1011111" WHEN 5=>SEG<="1011011" WHEN 4=>SEG<="0110011" WHEN 3=>SEG<="1111001" WHEN 2=>SEG<="1101101&qu
12、ot; WHEN 1=>SEG<="0110000" WHEN 0=>SEG<="1111110" WHEN OTHERS=>SEG<="0000000" END CASE;END IF;球台控制模块该模块使用了状态机,分为5个状态:FINAL,FORA,FORB,ST,RUN。并在其中对按键信号进行相应的处理,除此之外,对球的出界问题及甲乙双方计分问题进行了一系列的设计。以甲方向上的按键信号为例,控制模块ASM图及MDS图如下: 图3控制模块ASM图 图4 状态机转移状态图点阵显示模块 在此模块中
13、,采用高频时钟对点阵进行扫描,控制移动点的暗亮。 WHEN 9=>COL_RED<="00000000" COL_GREEN<="00000000"ROW<="11111111" CASE NUM IS WHEN 0|1|2|3=> COL_RED(WY(NUM)<='1'ROW(WX(NUM)<='0' WHEN 4|5|6|7=> COL_GREEN(WY(NUM)<='1'ROW(WX(NUM)<='0'
14、WHEN 8=> COL_RED(BLY)<='1'COL_GREEN(BLY)<='1'ROW(BLX)<='0' WHEN 9=> COL_RED(AY)<='1'ROW(AX)<='0' WHEN 10=> COL_GREEN(BY)<='1'ROW(BX)<='0' WHEN OTHERS=> COL_RED<="00000000" COL_GREEN<="000000
15、00"ROW<="11111111" END CASE; 仿真波形及波形分析 在本实验中,我对状态机以及8*8点阵显示模块进行了仿真。由图中可看出,RST置位为1后,点阵显示为初始状态,再次置为0后,可对按键进行操作,并且可对状态机的五个状态进行观测,同时对应的指示灯信号也输出对应值,同时甲乙和球的坐标也产生相应变化,并在点阵中显示,除此之外,时间到会自动进入最终状态,按RST键重新进入ST状态。源程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE I
16、EEE.STD_LOGIC_ARITH.ALL;ENTITY FOOTBALL IS PORT( CLK:IN STD_LOGIC; -时钟输入 RST:IN STD_LOGIC; -复位信号 BUTTON1_1,BUTTON1_2,BUTTON1_3,BUTTON1_4,BUTTON2_1,BUTTON2_2,BUTTON2_3,BUTTON2_4:IN STD_LOGIC; -甲乙方向控制按键 ROW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -控制点阵行向量 COL_RED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -控制点阵红色列向量
17、 COL_GREEN:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-控制点阵绿色列向量 SEG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -数码管段选输出 led:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); -按键响应信号灯 stateout:out std_logic_vector(2 downto 0); -状态响应信号灯 CAT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) -数码管位选输出);END FOOTBALL; ARCHITECTURE SDD OF FOOTBALL IS SIGNAL
18、 CLK_1,CLK_5K,CLK_1K,CLK_100,CLK_200:STD_LOGIC;-各分频时钟信号 SIGNAL NUM:INTEGER RANGE 0 TO 11; SIGNAL N:INTEGER RANGE 0 TO 3; SIGNAL T_HIGH:INTEGER RANGE 0 TO 9;-倒计时器高位信号 SIGNAL T_LOW:INTEGER RANGE 0 TO 9;-倒计时器低位信号 SIGNAL TIMES:INTEGER RANGE 6 TO 9; SIGNAL T91:INTEGER RANGE 0 TO 90; SIGNAL SCORE1:INTEGER
19、 RANGE 0 TO 99;-甲方计分器 SIGNAL SCORE2:INTEGER RANGE 0 TO 99;-乙方计分器 SIGNAL SCORE1_HIGH:INTEGER RANGE 0 TO 9;-甲方计分高位信号 SIGNAL SCORE1_LOW:INTEGER RANGE 0 TO 9;-甲方计分低位信号 SIGNAL SCORE2_HIGH:INTEGER RANGE 0 TO 9;-乙方计分高位信号 SIGNAL SCORE2_LOW:INTEGER RANGE 0 TO 9;-乙方计分低位信号 SIGNAL COUNT200:INTEGER RANGE 0 TO 25
20、0000; SIGNAL COUNT3:INTEGER RANGE 0 TO 50000; SIGNAL COUNT:INTEGER RANGE 0 TO 50000000; SIGNAL COUNT1:INTEGER RANGE 0 TO 10000; SIGNAL COUNT100:INTEGER RANGE 0 TO 500000; SIGNAL tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9,tmp10,tmp11,tmp12,tmp13,tmp14,tmp15,tmp16:STD_LOGIC; SIGNAL A_UP,A_DOWN,A_LEF
21、T,A_RIGHT,B_UP,B_DOWN,B_LEFT,B_RIGHT:STD_LOGIC; -消抖过的按键信号 SIGNAL SEL:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL AX,BX,AY,BY,BLX,BLY:INTEGER RANGE 0 TO 7;-甲乙球的横纵坐标 TYPE DIAN IS ARRAY(INTEGER RANGE <>)OF INTEGER RANGE 0 TO 7; CONSTANT WX:DIAN(0 TO 7):=(0,0,0,0,7,7,7,7); CONSTANT WY:DIAN(0 TO 7):=(2,3,
22、4,5,2,3,4,5);-甲乙方球门的坐标 TYPE STATE_TYPE IS(ST, RUN,FINAL,FORA,FORB);-状态机的5个状态 SIGNAL STATE:STATE_TYPE; SIGNAL S1:INTEGER RANGE 0 TO 5; TYPE FIGURE IS ARRAY(INTEGER RANGE <>) OF INTEGER RANGE 0 TO 9; SIGNAL SHOW:FIGURE(9 DOWNTO 0); BEGIN with STATE select stateout<="001" when RUN,&q
23、uot;010" WHEN FORA,"100" WHEN FORB,"110" WHEN FINAL,"111" WHEN ST;p1:PROCESS(CLK) -分频模块 BEGIN IF CLK'EVENT AND CLK='1' THEN COUNT<=COUNT+1; COUNT1<=COUNT1+1; COUNT100<=COUNT100+1; COUNT200<=COUNT200+1; COUNT3<=COUNT3+1; IF COUNT<=24999
24、999 THEN CLK_1<='1' ELSIF COUNT>24999999 AND COUNT<=49999999 THEN CLK_1<='0' ELSIF COUNT=50000000 THEN COUNT<=0; END IF; IF COUNT3<=24999 THEN CLK_1K<='1' ELSIF COUNT3>24999 AND COUNT3<=49999 THEN CLK_1K<='0' ELSIF COUNT3=50000 THEN COUNT
25、3<=0; END IF; IF COUNT1<=4999 THEN CLK_5K<='1' ELSIF COUNT1>4999 AND COUNT1<=9999 THEN CLK_5K<='0' ELSIF COUNT1=10000 THEN COUNT1<=0; END IF; IF COUNT100<=249999 THEN CLK_100<='1' ELSIF COUNT100>249999 AND COUNT100<=499999 THEN CLK_100<=
26、9;0' ELSIF COUNT100=500000 THEN COUNT100<=0; END IF; IF COUNT200<=124999 THEN CLK_200<='1' ELSIF COUNT200>124999 AND COUNT200<=249999 THEN CLK_200<='0' ELSIF COUNT200=250000 THEN COUNT200<=0; END IF; END IF;END PROCESS; p2:PROCESS(CLK_1,T_HIGH,T_LOW,RST) -倒计时
27、器模块 BEGIN IF RST='1' THEN T91<=0; ELSIF (CLK_1'EVENT AND CLK_1='1') THEN IF(T91=90)THEN T91<=90; ELSE T91<=T91+1; END IF; END IF;END PROCESS;p3:PROCESS(CLK_5K,T91,T_HIGH,T_LOW,SCORE1,SCORE2,SCORE1_HIGH,SCORE1_LOW,SCORE2_HIGH,SCORE2_LOW,RST) -译码显示模块BEGINIF RST='1'
28、THEN SEG<="0000000" ELSIF CLK_5K'EVENT AND CLK_5K='1' THEN IF (S1=5) THEN S1<=0; ELSE S1<=S1+1; END IF; CASE S1 IS WHEN 5=>CAT<="011111" WHEN 4=>CAT<="101111" WHEN 3=>CAT<="110111" WHEN 2=>CAT<="111011" WH
29、EN 1=>CAT<="111101" WHEN 0=>CAT<="111110" WHEN OTHERS=>CAT<="111111" END CASE; T_HIGH<=(90-T91)/10; T_LOW<=(90-T91)MOD 10; SCORE1_HIGH<=SCORE1/10; SCORE1_LOW<=SCORE1 MOD 10; SCORE2_HIGH<=SCORE2/10; SCORE2_LOW<=SCORE2 MOD 10; SHOW(5)&l
30、t;=SCORE1_HIGH; SHOW(4)<=SCORE1_LOW; SHOW(3)<=T_HIGH; SHOW(2)<=T_LOW; SHOW(1)<=SCORE2_HIGH; SHOW(0)<=SCORE2_LOW; CASE SHOW(S1) IS WHEN 9=>SEG<="1111011" WHEN 8=>SEG<="1111111" WHEN 7=>SEG<="1110000" WHEN 6=>SEG<="1011111"
31、 WHEN 5=>SEG<="1011011" WHEN 4=>SEG<="0110011" WHEN 3=>SEG<="1111001" WHEN 2=>SEG<="1101101" WHEN 1=>SEG<="0110000" WHEN 0=>SEG<="1111110" WHEN OTHERS=>SEG<="0000000" END CASE;END IF;END P
32、ROCESS;P4:PROCESS(CLK_100,BUTTON1_1,BUTTON1_2,BUTTON1_3,BUTTON1_4,BUTTON2_1,BUTTON2_2,BUTTON2_3,BUTTON2_4,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9,tmp10,tmp11,tmp12,tmp13,tmp14,tmp15,tmp16) -按键消抖模块 BEGIN IF(CLK_100'EVENT AND CLK_100='0')THEN tmp2<=tmp1; tmp1<=BUTTON1_1; tmp4<
33、;=tmp3; tmp3<=BUTTON1_2; tmp6<=tmp5; tmp5<=BUTTON1_3; tmp8<=tmp7; tmp7<=BUTTON1_4; tmp10<=tmp9; tmp9<=BUTTON2_1; tmp12<=tmp11; tmp11<=BUTTON2_2; tmp14<=tmp13; tmp13<=BUTTON2_3; tmp16<=tmp15; tmp15<=BUTTON2_4; END IF; A_UP<= CLK_100 AND tmp1 AND (NOT tmp2); A
34、_DOWN<=CLK_100 AND tmp3 AND (NOT tmp4); A_LEFT<=CLK_100 AND tmp5 AND (NOT tmp6); A_RIGHT<=CLK_100 AND tmp7 AND (NOT tmp8); B_UP<= CLK_100 AND tmp9 AND (NOT tmp10); B_DOWN<=CLK_100 AND tmp11 AND (NOT tmp12); B_LEFT<=CLK_100 AND tmp13 AND (NOT tmp14); B_RIGHT<=CLK_100 AND tmp15 AN
35、D (NOT tmp16);END PROCESS;p5:PROCESS(CLK_1)BEGIN IF CLK_1'EVENT AND CLK_1='1'THEN IF N=3 THEN N<=0; ELSE N<=N+1; END IF; END IF;END PROCESS;p6:PROCESS(CLK_200,RST,A_LEFT, A_RIGHT, A_UP, A_DOWN, B_DOWN, B_UP,B_LEFT,B_RIGHT) -状态机 variable s2:integer range 0 to 199;BEGINled(0)<=A_D
36、OWN or A_UP or A_LEFT or A_RIGHT;led(1)<=B_DOWN or B_UP or B_LEFT or B_RIGHT;IF(CLK_200'EVENT AND CLK_200='1')THEN IF RST='1'THENSTATE<=ST;score1<=0;score2<=0; end if; CASE STATE IS WHEN ST=> -初始状态 AX<=1; AY<=4; BX<=6; BY<=4; BLX<=4; BLY<=3; s2:=0
37、; STATE<=RUN; WHEN RUN=> -进行状态 IF (T91=90)THEN STATE<=FINAL; ELSIF(BLY=2 OR BLY=3 OR BLY=4 OR BLY=5)AND(BLX=0)THEN SCORE2<=SCORE2+1; STATE<=ST; ELSIF(BLY=2 OR BLY=3 OR BLY=4 OR BLY=5)AND(BLX=7)THEN SCORE1<=SCORE1+1; STATE<=ST; ELSIF(B_UP='1'OR B_DOWN='1'OR B_LEFT
38、='1'OR B_RIGHT='1')THEN STATE<=FORB; ELSIF(A_UP='1'OR A_DOWN='1'OR A_LEFT='1'OR A_RIGHT='1')THEN STATE<=FORA; ELSIF(S2=199)THEN -球的伪随机移动 S2:=0; STATE<=RUN; CASE N IS WHEN 0=> IF(BLY=0)THEN BLY<=1; ELSE BLY<=BLY-1; END IF; WHEN 1=>
39、IF(BLY=7)THEN BLY<=6; ELSE BLY<=BLY+1; END IF; WHEN 2=> IF(BLX=7)THEN BLX<=6; ELSE BLX<=BLX+1; END IF;WHEN 3=> IF (BLX=0)THEN BLX<=1; ELSE BLX<=BLX-1; END IF;WHEN OTHERS=> NULL;END CASE;ELSE S2:=S2+1; STATE<=RUN; END IF;WHEN FORA=> -甲方的按键响应 IF (T91=90)THEN STATE<=
40、FINAL; ELSE S2:=0; IF A_UP='1'THENIF(BLX=AX+1 AND BLY=AY)AND(BX/=BLX+1 OR BY/=BLY)THENAX<=AX+1;IF(AX=6)THENSCORE2<=SCORE2+1;STATE<=ST;ELSEBLX<=BLX+1;STATE<=RUN;END IF;ELSIF(BLX/=AX+1 OR BLY/=AY)AND(BX/=AX+1 OR BY/=AY)THEN AX<=AX+1; STATE<=RUN;ELSIF(BLX/=AX+1 OR BLY/=AY)A
41、ND(BX=AX+1 AND BY=AY)THEN STATE<=RUN;ELSIF(BLX=AX+1 AND BLY=AY)AND(BX=BLX+1 AND BY=BLY)THENSTATE<=RUN;ELSE STATE<=RUN;END IF; ELSIF A_DOWN='1'THEN IF(BLX=AX-1 AND BLY=AY)AND(BX/=BLX-1 OR BY/=BLY)THENAX<=AX-1;IF(AX=1)THENSCORE2<=SCORE2+1;STATE<=ST;ELSEBLX<=BLX-1;STATE<
42、=RUN;END IF;ELSIF(BLX/=AX-1 OR BLY/=AY)AND(BX/=AX-1 OR BY/=AY)THEN AX<=AX-1; STATE<=RUN;ELSIF(BLX/=AX-1 OR BLY/=AY)AND(BX=AX-1 AND BY=AY)THENSTATE<=RUN;ELSIF(BLX=AX-1 AND BLY=AY)AND(BX=BLX-1 AND BY=BLY)THENSTATE<=RUN;ELSE STATE<=RUN;END IF;ELSIF A_LEFT='1'THENIF(BLY=AY-1 AND B
43、LX=AX)AND(BY/=BLY-1 OR BX/=BLX)THENAY<=AY-1;IF(AY=1)THENSCORE2<=SCORE2+1;STATE<=ST;ELSEBLY<=BLY-1;STATE<=RUN;END IF;ELSIF(BLY/=AY-1 OR BLX/=AX)AND(BY/=AY-1 OR BX/=AX)THEN AY<=AY-1; STATE<=RUN;ELSIF(BLY/=AY-1 OR BLX/=AX)AND(BY=AY-1 AND BX=AX)THEN STATE<=RUN;ELSIF(BLY=AY-1 AND
44、BLX=AX)AND(BY=BLY-1 AND BX=BLX)THENSTATE<=RUN;ELSE STATE<=RUN;END IF;ELSIF A_RIGHT='1'THENIF(BLY=AY+1 AND BLX=AX)AND(BY/=BLY+1 OR BX/=BLX)THENAY<=AY+1;IF(AY=6)THENSCORE2<=SCORE2+1;STATE<=ST;ELSEBLY<=BLY+1;STATE<=RUN;END IF;ELSIF(BLY/=AY+1 OR BLX/=AX)AND(BY/=AY+1 OR BX/=A
45、X)THEN AY<=AY+1; STATE<=RUN;ELSIF(BLY/=AY+1 OR BLX/=AX)AND(BY=AY+1 AND BX=AX)THEN STATE<=RUN;ELSIF(BLY=AY+1 AND BLX=AX)AND(BY=BLY+1 AND BX=BLX)THENSTATE<=RUN;END IF;END IF;END IF; WHEN FORB=> -乙方的按键响应 IF (T91=90)THEN STATE<=FINAL; ELSE S2:=0; IF B_DOWN='1'THENIF(BLX=BX+1 AN
46、D BLY=BY)AND(AX/=BLX+1 OR AY/=BLY)THENBX<=BX+1;IF(BX=6)THENSCORE1<=SCORE1+1;STATE<=ST;ELSEBLX<=BLX+1;STATE<=RUN;END IF;ELSIF(BLX/=BX+1 OR BLY/=BY)AND(AX/=BX+1 OR AY/=BY)THEN BX<=BX+1;STATE<=RUN;ELSIF(BLX/=BX+1 OR BLY/=BY)AND(AX=BX+1 AND AY=BY)THEN STATE<=RUN;ELSIF(BLX=BX+1 AN
47、D BLY=BY)AND(AX=BLX+1 AND AY=BLY)THENSTATE<=RUN;ELSE STATE<=RUN;END IF; ELSIF B_UP='1'THEN IF(BLX=BX-1 AND BLY=BY)AND(AX/=BLX-1 OR AY/=BLY)THENBX<=BX-1;IF(BX=1)THENSCORE1<=SCORE1+1;STATE<=ST;ELSEBLX<=BLX-1;STATE<=RUN;END IF;ELSIF(BLX/=BX-1 OR BLY/=BY)AND(AX/=BX-1 OR AY/=
48、BY)THEN BX<=BX-1;STATE<=RUN;ELSIF(BLX/=BX-1 OR BLY/=BY)AND(AX=BX-1 AND AY=BY)THENSTATE<=RUN;ELSIF(BLX=BX-1 AND BLY=BY)AND(AX=BLX-1 AND AY=BLY)THENSTATE<=RUN;ELSE STATE<=RUN;END IF;ELSIF B_RIGHT='1'THENIF(BLY=BY-1 AND BLX=BX)AND(AY/=BLY-1 OR AX/=BLX)THENBY<=BY-1;IF(BY=1)THENSCORE1<=SCORE1+1;STATE<=ST;ELSEBLY<=BLY-1;STATE<=RUN;END IF;ELSIF(BLY/=BY-1 OR BLX/=BX)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 站内人员岗位考核制度
- 违法违章建筑考核制度
- 浙江省公务员考核制度
- 救护队员内部考核制度
- 培训行业老师考核制度
- 设计院安全生产考核制度
- 潍坊医院绩效考核制度
- 乡镇科室测评考核制度
- 生产管理考核制度流程
- 施工工程安装考核制度
- 局意识形态检查考核制度
- 2026黑龙江哈尔滨新区产业投资集团有限公司市场化招聘3人笔试模拟试题及答案解析
- 2026年春期人教版二年级下册数学全册教案(核心素养教案)
- 区域地理复习中国的疆域行政区划人口和民族教学文稿
- 部编版新教材道德与法治二年级下册《1.身心健康很重要》教案设计
- 隐睾症的健康教育
- (一模)乌鲁木齐地区2026年高三年级第一次质量监测地理试卷(含答案)
- 人工智能团队介绍
- 2026年江西现代职业技术学院单招职业技能考试题库含答案详解
- 危险化学品概述及事故案例分析
- HZS120混凝土搅拌站安装方案
评论
0/150
提交评论