发布时间 : 星期二 文章数电实验 - 图文更新完毕开始阅读
r_matrix(1)<=\; r_matrix(2)<=\; r_matrix(3)<=\; r_matrix(4)<=\; r_matrix(5)<=\; r_matrix(6)<=\; r_matrix(7)<=\;
g_matrix(0)<=\; g_matrix(0)<=\; g_matrix(0)<=\; g_matrix(0)<=\; g_matrix(0)<=\; g_matrix(0)<=\; g_matrix(0)<=\; g_matrix(0)<=\; end if; end if;
else
if(clk'event and clk='1' ) then
case message1 is
when\=> --控制向上 if g_y=8 then g_y<=g_y; -出界 else
if((g_x=b_x) and (g_y+1=b_y)) then --球在人前 if((b_x=r_x) and (b_y+1=r_y)) then g_y<=g_y; --足球前还有对方队员
else
if b_y=8 then state<=1; else
b_y<=b_y+1;g_y<=g_y+1; --人带足球各前进一步
end if;
end if; else
if(g_x=r_x and g_y+1=r_y) then g_y<=g_y; else g_y<=g_y+1; end if;
end if; --人正前方还有对方球员
end if;
--之后对红队和绿对的其它方向前进方向和以上分析类似
when\=> --控制向左 if g_y=1 then g_y<=g_y; else
if((g_x=b_x) and (g_y-1=b_y)) then
if((b_x=r_x) and (b_y-1=r_y)) then g_y<=g_y; else
if b_y=1 then state<=1; else b_y<=b_y-1;g_y<=g_y-1; end if; end if; else
if(g_x=r_x and g_y-1=r_y) then g_y<=g_y; else g_y<=g_y-1; end if; end if; end if;
when\=> 控制向下 if g_x=1 then g_x<=g_x; else
if((g_y=b_y) and (g_x-1=b_x)) then
if((b_y=r_y) and (b_x-1=r_x)) then g_x<=g_x; else
if b_x=1 then state<=1; else b_x<=b_x-1;g_x<=g_x-1; end if; end if;
else
if(g_y=r_y and g_x-1=r_x) then g_x<=g_x; else
g_x<=g_x-1; end if; end if; end if;
when\=> --控制向右 if g_x=8 then g_x<=g_x; else
if((g_y=b_y) and (g_x+1=b_x)) then
if((b_y=r_y) and (b_x+1=r_x)) then g_x<=g_x; else
if b_x=8 then state<=1; else
b_x<=b_x+1;g_x<=g_x+1; end if; end if; else
if(g_y=r_y and g_x+1=r_x) then g_x<=g_x; else
g_x<=g_x+1; end if; end if; end if;
when\=>
if(r_y=8) then r_y<=r_y; else
if((r_x=b_x) and (r_y+1=b_y)) then
if((b_x=g_x) and (b_y+1=g_y)) then r_y<=r_y; else
if b_y=8 then state<=2; else b_y<=b_y+1;r_y<=r_y+1; end if; end if; else
if(r_x=g_x and r_y+1=g_y) then r_y<=r_y;
else r_y<=r_y+1; end if; end if; end if; when\=>
if r_y=1 then r_y<=r_y; else
r_y<=r_y;
r_y<=r_y;
if((r_x=b_x) and (r_y-1=b_y)) then if((b_x=g_x) and (b_y-1=g_y)) then else
if b_y=1 then state<=2; else b_y<=b_y-1;r_y<=r_y-1; end if; end if; else
if(r_x=g_x and r_y-1=g_y) then else
r_y<=r_y-1; end if; end if; end if; when\=>
if(r_x=1) then r_x<=r_x; else
if((r_y=b_y) and (r_x-1=b_x)) then
if((b_y=g_y) and (b_x-1=g_x)) then r_x<=r_x; else
if b_x=1 then state<=2; else b_x<=b_x-1;r_x<=r_x-1; end if; end if; else
if(r_y=g_y and r_x-1=g_x) then r_x<=r_x; else r_x<=r_x-1;