⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kai.vhd

📁 一个小赛车游戏
💻 VHD
📖 第 1 页 / 共 3 页
字号:
             when 2=> if a0=5 then

shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
heng2<="11011111";  shu2<="00000000";
end if;
             when 3=> if a0=5 then

shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
         case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11101111";  shu2<="00000000";
end if;
              when 4=> if a0=5 then

shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11110111";  shu2<="00000000";
end if;
            when 5=> if a0=5 then

shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111011";  shu2<="00000000";
end if;
            when 6=> if a0=5 then

shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111101";  shu2<="00000000";
end if;
            when 7=> if a0=5 then

shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111110";  shu2<="00000000";
end if;
                              when others =>if a0=5 then
shu2<="11000000";heng2<="11111110";  dogshu1<="00000000";
end if;
if a0=10 then
dogshu1<="00111000"; heng2<="01111111"; shu2<="00000000";
end if;

end case;

         
WHEN 4 => case high is
  when 0  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="01111111";    shu2<="00000000";
end if;
      when 1  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="10111111";    shu2<="00000000";
end if;
      when 2  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11011111";    shu2<="00000000";
end if;
   when 3  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11101111";    shu2<="00000000";
end if;
     when 4  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11110111";    shu2<="00000000";
end if;
     when 5  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111011";    shu2<="00000000";
end if;
     when 6  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111101";    shu2<="00000000";
end if;
    when 7  =>  if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";  

end if;  
if a0=10 then
           case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111110";    shu2<="00000000";
end if;

                   when others =>if a0=5 then
shu2<="11000000";heng2<="11111110";  dogshu1<="00000000";
end if;
if a0=10 then
dogshu1<="00111000"; heng2<="01111111"; shu2<="00000000";
end if;

end case;


WHEN 5 =>  case high is 
     when 0=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
         case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="01111111";   shu2<="00000000";

end if;
       when 1=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then  case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="10111111";   shu2<="00000000";   end if;

          

     when 2=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11011111";   shu2<="00000000";

end if;
      when 3=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11101111";   shu2<="00000000";

end if;
        when 4=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11110111";   shu2<="00000000";

end if;
        when 5=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111011";   shu2<="00000000";

end if;
         when 6=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
          case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111101";   shu2<="00000000";

end if;
          when 7=> if a0=5 then
shu2<="00000110";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
         case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
heng2<="11111110";   shu2<="00000000";

end if;

          when others =>if a0=5 then
shu2<="11000000";heng2<="11111110";  dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="01111111"; shu2<="00000000";
end if;

end case;



WHEN 6 =>  case high is
     when 0=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="01111111";  shu2<="00000000"; 
end if;
      when 1=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
heng2<="10111111";  shu2<="00000000"; 
end if;
        when 2=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
heng2<="11011111";  shu2<="00000000"; 
end if;
        when 3=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11101111";  shu2<="00000000"; 
end if;
         when 4=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11110111";  shu2<="00000000"; 
end if;
         when 5=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111011";  shu2<="00000000"; 
end if;
         when 6=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
 heng2<="11111101";  shu2<="00000000"; 
end if;
         when 7=> if a0=5 then
shu2<="00000011";heng2<="11111110";   dogshu1<="00000000"; 
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011"; 
when 1=> dogshu1<="00111000"; 
when 2=> dogshu1<="10010101"; 
end case; 
heng2<="11111110";  shu2<="00000000"; 
end if;
         when others =>if a0=5 then
shu2<="11000000";heng2<="11111110";  dogshu1<="00000000";
end if;
if a0=10 then
dogshu1<="00111000"; heng2<="01111111"; shu2<="00000000";
end if;

end case;
WHEN others => shu2<="00011000";--heng2<="11111110";
end case;

--shu<=shu2;
--heng<=heng2;
--dogshu<=dogshu1; 
end if;
end process shao0;---##################################################################在第一板上的移动

shao1:process (clk1000)---##################################################################在第二板上的移动
variable b0:INTEGER:=0; 
begin 
if  clk1000'event and clk1000='1'then 
 if b0=10 then
   b0:=0;
else
b0:=b0+1;
end if;
end if;
 dogshu2<="00000000";

if (high>8 or high=8) then
case location is
when 0=>   case high is
          when 8 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
 
 heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
    
heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; zz<=0;
when 1=>  shu1<="00111000"; zz<=0;
when 2=>  shu1<="10010101"; zz<=0;
end case; 
 
   heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; zz<=0;
when 1=>  shu1<="00111000"; zz<=0;
when 2=>  shu1<="10010101"; zz<=0;
when others =>zz<=0;
end case; 
heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; zz<=0;
when 1=>  shu1<="00111000"; zz<=0;
when 2=>  shu1<="10010101"; zz<=0;
when others =>zz<=0; 
end case; 
heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; zz<=5;--##############################
when 1=>  shu1<="00111000";  zz<=0;
when 2=>  shu1<="10010101";  zz<=5;
when others =>zz<=0;
end case; 
heng1<="11111101";  
 end if;
          when 15 =>if b0=5 then    shu1<="11000000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

 heng1<="11111110";   end if;
          when 16 =>shu1<="11000000";   heng1<="11111110";
          when others =>shu1<="11000000"; 
end case;
when 1=>   case high is
          when 8 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011";  
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
  
 heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -