Shotterke
Legacy Member
Ik ben bezig met een schuifpuzzel te maken.
Ik zit nu aan het stuk waarbij ik de verschillende stukken kan verplaatsen.
Naar links en rechts lukt perfect maar om naar boven of naar beneden te gaan zit ik met een probleem.
Dit is de code:
Ik werk met indexen dus niet met een x en y coördinaat.
Dus als ik op een van de 16 labels klik kijk ik of er een 0 in de buurt is. Als dit zo is dan verwissel ik ze met elkaar.
Vak3 en Vak4 zijn voor naar boven of beneden te gaan.
Ik zit nu aan het stuk waarbij ik de verschillende stukken kan verplaatsen.
Naar links en rechts lukt perfect maar om naar boven of naar beneden te gaan zit ik met een probleem.
Dit is de code:
Code:
public void Schuiven(int id)
{
Vakje vak1 = (Vakje)Vakjes[id + 1];
Vakje vak2 = (Vakje)Vakjes[id - 1];
//Vakje vak3 = (Vakje)Vakjes[id + 4];
//Vakje vak4 = (Vakje)Vakjes[id - 4];
if (vak1.Inhoud == 0)
{
alVakjes.Insert(id, alVakjes[id + 1]);
alVakjes.RemoveAt(id + 2);
}
if (vak2.Inhoud == 0)
{
alVakjes.Insert(id - 1, alVakjes[id]);
alVakjes.RemoveAt(id + 1);
}
//if (vak3.Inhoud == 0)
//{
// alVakjes.Insert(id, alVakjes[id + 4]);
// alVakjes.RemoveAt(id + 8);
//}
//if (vak4.Inhoud == 0)
//{
// alVakjes.Insert(id - 4, alVakjes[id]);
// alVakjes.RemoveAt(id + 5);
//}
}
Ik werk met indexen dus niet met een x en y coördinaat.
Dus als ik op een van de 16 labels klik kijk ik of er een 0 in de buurt is. Als dit zo is dan verwissel ik ze met elkaar.
Vak3 en Vak4 zijn voor naar boven of beneden te gaan.
