Sign in to follow this  
Nali

2D int array and calculation of five in a row

Recommended Posts

Hi, I'm working on a five in a row game in C# and I have all set but the winning conditions which is *drums...* connecting five of the same value in a row (can be either horizontal, diagonal or vertical. The game map is stored as a 2 dimensional int array (15,15).

I suppose a good solution would be to use the latest changed "brick" in the game map to be the starting point of calculation and then make calc that grows from that point until it either finds 5 in a row (win) or no more possible entries is found.

I´m seeking guidlines/help on how to understand/make this possible.

Share this post


Link to post
Share on other sites
[code]bool five_in_a_row($square, $new_brick_color) {
for each $direction in {North, NorthEast, East, SouthEast} {
$a = count how many bricks of color $new_brick_color are found starting from $square+$direction along $direction
$opposite_direction = -$direction
$b = count how many bricks of color $new_brick_color are found starting from $square+$opposite_direction along $opposite_direction
if ($a+$b >= 4) // because we didn't count the latest brick
return true;
}
return false;
}[/code] Edited by alvaro

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this