×
Felmeddelande :( Din CSS har inte laddats som den ska. Testa reloada sidan.
1

Förenkla en massa if-satser Visual C#

Postat av gurvar den 7 Oktober 2012, 22:48
5 kommentarer · 643 träffar
Har alltså en vidrigt lång kod med en massa If-satser som jag, om möjligt, velat förkorta.
"io" är en array uppbyggd på 1 och 0 som ska förställa banan bilen kör på.


public void right()

{

int rand3 = rand.Next(3);

int rand2 = rand.Next(2);

if (++tick > 1)

{

if (dir == Riktning.höger) //När bilen kör i åt höger

{

if (io[(centerY / 20) + 1, (centerX / 20) - 1] == 0 && //4-Vägskorsning H

io[(centerY / 20) + 1, (centerX / 20)] == 1 &&

io[(centerY / 20), (centerX / 20) + 2] == 1)

{

if (rand3 == 0)

{

dir = Riktning.ner;

tick = 0;

}

}

if (io[(centerY / 20) + 1, (centerX / 20) - 1] == 0 && //3-Vägskorsning H

io[(centerY / 20) + 1, (centerX / 20)] == 1 &&

io[(centerY / 20), (centerX / 20) + 2] == 0 &&

io[(centerY / 20) - 2, (centerX / 20)] == 1)

{

if (rand2 == 0)

{

dir = Riktning.ner;

tick = 0;

}

}

if (io[(centerY / 20), (centerX / 20) + 1] == 1 && //4-Vägskorsning V

io[(centerY / 20) + 1, (centerX / 20) + 1] == 0 &&

io[(centerY / 20) - 2, (centerX / 20) + 1] == 0 &&

io[(centerY / 20) - 2, (centerX / 20)] == 1)

{

if (rand2 == 0)

{

dir = Riktning.upp;

tick = 0;

}

}

if (io[(centerY / 20), (centerX / 20) + 1] == 0 && //3-Vägskorsning V

io[(centerY / 20) + 1, (centerX / 20)] == 1 &&

io[(centerY / 20) - 2, (centerX / 20)] == 1)

{

dir = Riktning.upp;

tick = 0;

}

if (io[(centerY / 20), (centerX / 20) + 2] == 0 && //2-Vägskorsning H

io[(centerY / 20) - 2, (centerX / 20)] == 0)

{

dir = Riktning.ner;

tick = 0;

}

if (io[(centerY / 20), (centerX / 20) + 1] == 0 && //2-Vägskorsning V

io[(centerY / 20) + 1, (centerX / 20)] == 0)

{

dir = Riktning.upp;

tick = 0;

}

}

}

}
Föregående tråd
Nästa tråd

5 kommentarer — skriv kommentar

Kommentarerna nedan är skrivna av användare på Fragbite. Fragbite granskar inte sanningshalten i texten och du uppmanas att själv kritiskt granska och bemöta texten. Förutsätt inte att innehållet i texterna är sanning.
Visa 5 kommentarer

Skriv en kommentar

Laddar..