update to 01/03
This commit is contained in:
@@ -22,13 +22,13 @@ reg [ 3: 0 ] object1_collide_dir, object2_collide_dir;
|
||||
wire [ 10: 0 ] object1_RBound, object1_DBound;
|
||||
wire [ 10: 0 ] object2_RBound, object2_DBound;
|
||||
|
||||
assign object1_RBound = object1_H + ( ( object1_dir >= 2'b10 ) ? object1_LONGER : object1_SHORTER) ;
|
||||
assign object1_DBound = object1_V + ( ( object1_dir >= 2'b10 ) ? object1_SHORTER : object1_LONGER) ;
|
||||
assign object2_RBound = object2_H + ( ( object2_dir >= 2'b10 ) ? object2_LONGER : object2_SHORTER) ;
|
||||
assign object2_DBound = object2_V + ( ( object2_dir >= 2'b10 ) ? object2_SHORTER : object2_LONGER) ;
|
||||
assign object1_RBound = object1_H + ( ( object1_dir >= 2'b10 ) ? object1_LONGER : object1_SHORTER ) ;
|
||||
assign object1_DBound = object1_V + ( ( object1_dir >= 2'b10 ) ? object1_SHORTER : object1_LONGER ) ;
|
||||
assign object2_RBound = object2_H + ( ( object2_dir >= 2'b10 ) ? object2_LONGER : object2_SHORTER ) ;
|
||||
assign object2_DBound = object2_V + ( ( object2_dir >= 2'b10 ) ? object2_SHORTER : object2_LONGER ) ;
|
||||
|
||||
always @( * ) begin
|
||||
if ( object2_en && object1_RBound <= object2_RBound && object1_RBound >= object2_H &&
|
||||
if ( object1_en && object2_en && object1_RBound <= object2_RBound && object1_RBound >= object2_H &&
|
||||
~( object1_DBound < object2_V || object1_V > object2_DBound ) ) begin
|
||||
object1_collide_dir[ 3 ] <= 1;
|
||||
end
|
||||
@@ -36,7 +36,7 @@ always @( * ) begin
|
||||
object1_collide_dir[ 3 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object2_en && object1_H <= object2_RBound && object1_H >= object2_H &&
|
||||
if ( object1_en && object2_en && object1_H <= object2_RBound && object1_H >= object2_H &&
|
||||
~( object1_DBound < object2_V || object1_V > object2_DBound ) ) begin
|
||||
object1_collide_dir[ 2 ] <= 1;
|
||||
end
|
||||
@@ -44,7 +44,7 @@ always @( * ) begin
|
||||
object1_collide_dir[ 2 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object2_en && object1_V <= object2_DBound && object1_V >= object2_V
|
||||
if ( object1_en && object2_en && object1_V <= object2_DBound && object1_V >= object2_V
|
||||
&& ~( object1_RBound < object2_H || object1_H > object2_RBound ) ) begin
|
||||
object1_collide_dir[ 0 ] <= 1;
|
||||
end
|
||||
@@ -52,7 +52,7 @@ always @( * ) begin
|
||||
object1_collide_dir[ 0 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object2_en && object1_DBound <= object2_DBound && object1_DBound >= object2_V
|
||||
if ( object1_en && object2_en && object1_DBound <= object2_DBound && object1_DBound >= object2_V
|
||||
&& ~( object1_RBound < object2_H || object1_H > object2_RBound ) ) begin
|
||||
object1_collide_dir[ 1 ] <= 1;
|
||||
end
|
||||
@@ -63,7 +63,7 @@ always @( * ) begin
|
||||
end
|
||||
|
||||
always @( * ) begin
|
||||
if ( object1_en && object2_RBound <= object1_RBound && object2_RBound >= object1_H &&
|
||||
if ( object1_en && object2_en && object2_RBound <= object1_RBound && object2_RBound >= object1_H &&
|
||||
~( object2_DBound < object1_V || object2_V > object1_DBound ) ) begin
|
||||
object2_collide_dir[ 3 ] <= 1;
|
||||
end
|
||||
@@ -71,7 +71,7 @@ always @( * ) begin
|
||||
object2_collide_dir[ 3 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object1_en && object2_H <= object1_RBound && object2_H >= object1_H &&
|
||||
if ( object1_en && object2_en && object2_H <= object1_RBound && object2_H >= object1_H &&
|
||||
~( object2_DBound < object1_V || object2_V > object1_DBound ) ) begin
|
||||
object2_collide_dir[ 2 ] <= 1;
|
||||
end
|
||||
@@ -79,7 +79,7 @@ always @( * ) begin
|
||||
object2_collide_dir[ 2 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object1_en && object2_V <= object1_DBound && object2_V >= object1_V
|
||||
if ( object1_en && object2_en && object2_V <= object1_DBound && object2_V >= object1_V
|
||||
&& ~( object2_RBound < object1_H || object2_H > object1_RBound ) ) begin
|
||||
object2_collide_dir[ 0 ] <= 1;
|
||||
end
|
||||
@@ -87,7 +87,7 @@ always @( * ) begin
|
||||
object2_collide_dir[ 0 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object1_en && object2_DBound <= object1_DBound && object2_DBound >= object1_V
|
||||
if ( object1_en && object2_en && object2_DBound <= object1_DBound && object2_DBound >= object1_V
|
||||
&& ~( object2_RBound < object1_H || object2_H > object1_RBound ) ) begin
|
||||
object2_collide_dir[ 1 ] <= 1;
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user