public boolean shouldStop(Graph g) {
		switch(gt){
		case ZeroSum:
			Yazidi yazidi = (Yazidi) g.get_agents().get(0);
			boolean sameLoc = (yazidi._location==g.get_agents().get(1)._location);
			boolean noFood = ((Yazidi)yazidi)._foodCarried<0;
			boolean atGoal = yazidi._location==yazidi.get_goal();
			return sameLoc||noFood||atGoal;
		default:
			int dead = 0;
			int win = 0;
			for(Agent a: g.get_agents())
				if(a._foodCarried<0)
					dead++;
			for(Agent a: g.get_agents())
				if(((Yazidi)a).get_goal()==a._location)
					win++;
			if(win+dead==g.get_agents().size())
				return true;
			return false;
		}
	}