All pastes #431498 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-09 18:32 UTC
rendered paste body
bool voikosiirtya(nappula nappi, int x, int y)
{
	if(x<0||x>9||y<0||y>9) //Ulkona ruudukosta >:O
		return false;
	if(jarvea(y, x)) //Järvi :p
		return false;
	if(nappi.tyyppi==POMMI||nappi.tyyppi==LIPPU) //Ei voi liikkua :|
		return false;
	if(nappi.rivi!=y && nappi.sarake!=x) //Kulmittainen :/
		return false;
	if(ruudukko[y][x].nappularuudussa!=NULL)
		if(ruudukko[y][x].nappularuudussa->oma==true) //Ruudussa on jo oma nappula :S
			return false;
	if(nappi.tyyppi!=PARTIOLAINEN)
	{
		if(nappi.rivi==y)
			if(nappi.sarake-1!=x && nappi.sarake+1!=x && nappi.sarake!=x) //Liian pitkälle :(
				return false;
		else if(nappi.sarake==x)
			if(nappi.rivi-1!=y && nappi.rivi+1!=y && nappi.rivi!=y) //Liian pitkälle toiseen suuntaan ):
				return false;
		else //Huijasit jotenkin päästäksesi tähän! o_O
			return false;
	}
	else
	{
		if(hyokkaalennosta==false && ruudukko[nappi.rivi][nappi.sarake].nappularuudussa)
			return false; //Etpäs voikkaan liikkua ja hyökätä, säännöt kieltävät tällä kertaa! :]
		if(nappi.rivi==y)
		{
			int lahto=(x<nappi.sarake?x:nappi.sarake);
			int loppu=(x>nappi.sarake?x:nappi.sarake);
			for(int i=lahto;i<loppu;i++)
				if(ruudukko[nappi.rivi][i].nappularuudussa || jarvea(nappi.rivi, i))
					return false; //Emme ole David Copperfieldejä emmekä Jeesuksia, emme kävele muiden läpi tai vetten päällä. -.-
		}
		else if(nappi.sarake==x)
		{
			int lahto=(y<nappi.rivi?y:nappi.rivi);
			int loppu=(y>nappi.rivi?y:nappi.rivi);
			for(int i=lahto;i<loppu;i++)
				if(ruudukko[i][nappi.sarake].nappularuudussa || jarvea(i, nappi.sarake))
					return false; //Emme edelleenkään ole David Copperfieldejä emmekä Jeesuksia. ¦|
		}
		else //Tähänkin päästäksesi huijasit jotenkin! O_o
			return false;
	}
	return true; //Sopii! ^_^
}