///@description Check the sum of possible moves that we can use to match gems. If it goes to 0, AHM will be activated
make_gems_fallen()
#region Variable settings
var rows = global.board_rows;
var skin;
var list_of_cubes = 0;
for(i=0;i<=rows-1;i++)
{
for(j=0;j<=7;j++)
{
if gems_fallen[i,j] != noone //&& instance_exists(gems_fallen[i,j])
{
if gems_fallen[i,j].amHype list_of_cubes++
gemboard[i,j] = gems_fallen[i,j].skinnum
}
else
{
gemboard[i,j] = -1
}
}
}
summoves2 = list_of_cubes //+ future_summoves
#endregion
#region SHAPE DRAWING
//1 O - O
// Θ
//2 Θ
// O - O
//3 O
// - Θ
// Ο
//4 Ο
// Θ -
// Ο
//5 Ο
// Ο
// - Θ
//6 Ο
// Ο
// Θ -
//7 - Θ
// Ο
// O
//8 Θ -
// Ο
// O
//9 - O O
// Θ
//10 Θ
// - O O
//11 Θ
// O O -
//12 O O -
// Θ
//13 Θ
// -
// Ο
// Ο
//14 O
// O
// -
// Θ
//15 O Ο - Θ
//16 Θ - Ο Ο
#endregion
#region THE BIG SEX
for(i=0;i<=7;i++)
{
for(j=0;j<=7;j++)
{
//1
if (i >=1) && (j >= 1 && j <= board_xsize-2)
{
//first check if the two other gems are the same (and not coal/void)
if gemboard[i-1,j-1] = gemboard[i-1,j+1] && (gemboard[i-1,j-1] >= 0 && gemboard[i-1,j-1] <=6)
{
skin = gemboard[i-1,j-1]
if gemboard[i-1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i-1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i //the i position of the bot gem to use
j_gemtouse[summoves2] = j // the j position of the bot gem to use
dir_gemtouse[summoves2] = "up" //dir of the gem to make a match by moving it. "right", "left", "up" or "down"
summoves2++
}
}
}
}
}
//2
if (i <=rows-2) && (j >= 1 && j <= board_xsize-2)
{
//first check if the two other gems are the same (and not coal/void)
if gemboard[i+1,j-1] = gemboard[i+1,j+1] && (gemboard[i+1,j-1] >= 0 && gemboard[i+1,j-1] <=6)
{
skin = gemboard[i+1,j-1]
if gemboard[i+1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i+1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i //the i position of the bot gem to use
j_gemtouse[summoves2] = j // the j position of the bot gem to use
dir_gemtouse[summoves2] = "down" //dir of the gem to make a match by moving it. "right", "left", "up" or "down"
summoves2++
}
}
}
}
}
//3
if (i >=1 && i <=rows-2) && (j >= 1)
{
//first check if the two other gems are the same (and not coal/void)
if gemboard[i-1,j-1] = gemboard[i+1,j-1] && (gemboard[i-1,j-1] >= 0 && gemboard[i-1,j-1] <=6)
{
skin = gemboard[i-1,j-1]
if gemboard[i,j-1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j-1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i //the i position of the bot gem to use
j_gemtouse[summoves2] = j // the j position of the bot gem to use
dir_gemtouse[summoves2] = "left" //dir of the gem to make a match by moving it. "right", "left", "up" or "down"
summoves2++
}
}
}
}
}
//4
if (i >=1 && i <=rows-2) && (j <= board_xsize-2)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i-1,j+1]
if skin = gemboard[i+1,j+1] && (skin >= 0 && skin <=6)
{
if gemboard[i,j+1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j+1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "right"
summoves2++
}
}
}
}
}
//5
if (i >=2) && (j >= 1)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i-1,j-1]
if skin = gemboard[i-2,j-1] && (skin >= 0 && skin <=6)
{
if gemboard[i,j-1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j-1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "left"
summoves2++
}
}
}
}
}
//6
if (i >=2) && (j <= board_xsize-2)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i-1,j+1]
if skin = gemboard[i-2,j+1] && (skin >= 0 && skin <=6)
{
if gemboard[i,j+1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j+1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "right"
summoves2++
}
}
}
}
}
//7
if (i <=rows-3) && (j >= 1)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i+1,j-1]
if skin = gemboard[i+2,j-1] && (skin >= 0 && skin <=6)
{
if gemboard[i,j-1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j-1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "left"
summoves2++
}
}
}
}
}
//8
if (i <=rows-3) && (j <= board_xsize-2)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i+1,j+1]
if skin = gemboard[i+2,j+1] && (skin >= 0 && skin <=6)
{
if gemboard[i,j+1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j+1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "right"
summoves2++
}
}
}
}
}
//9
if (i >=1) && (j <= board_xsize-3)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i-1,j+1]
if skin = gemboard[i-1,j+2] && (skin >= 0 && skin <=6)
{
if gemboard[i-1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i-1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "up"
summoves2++
}
}
}
}
}
//10
if (i <=rows-2) && (j <= board_xsize-3)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i+1,j+1]
if skin = gemboard[i+1,j+2] && (skin >= 0 && skin <=6)
{
if gemboard[i+1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i+1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "down"
summoves2++
}
}
}
}
}
//11
if (i <=rows-2) && (j >= 2)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i+1,j-1]
if skin = gemboard[i+1,j-2] && (skin >= 0 && skin <=6)
{
if gemboard[i+1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i+1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "down"
summoves2++
}
}
}
}
}
//12
if (i >= 1) && (j >= 2)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i-1,j-1]
if skin = gemboard[i-1,j-2] && (skin >= 0 && skin <=6)
{
if gemboard[i-1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i-1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "up"
summoves2++
}
}
}
}
}
//13
if (i <= rows-4) && board_ysize > 3
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i+2,j]
if skin = gemboard[i+3,j] && (skin >= 0 && skin <=6)
{
if gemboard[i+1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i+1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "down"
summoves2++
}
}
}
}
}
//14
if (i >= 3)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i-2,j]
if skin = gemboard[i-3,j] && (skin >= 0 && skin <=6)
{
if gemboard[i-1,j] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i-1,j].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "up"
summoves2++
}
}
}
}
}
//15
if (j >= 3)
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i,j-2]
if skin = gemboard[i,j-3] && (skin >= 0 && skin <=6)
{
if gemboard[i,j-1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j-1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "left"
summoves2++
}
}
}
}
}
//16
if (j <= board_xsize-4) && board_xsize > 3
{
//first check if the two other gems are the same (and not coal/void)
skin = gemboard[i,j+2]
if skin = gemboard[i,j+3] && (skin >= 0 && skin <=6)
{
if gemboard[i,j+1] != -1 //now check if the clickable gem is also not void
{
if gems_fallen[i,j+1].amLocked = 0 //and if its not void, check if its locked
{
if gemboard[i,j] = skin && gems_fallen[i,j].amLocked = 0//all good? last thing to do is check if Θ is same and not locked
{
i_gemtouse[summoves2] = i
j_gemtouse[summoves2] = j
dir_gemtouse[summoves2] = "right"
summoves2++
}
}
}
}
}
}
}
#endregion
Comments