private Street GenerateStreet() { int typeOfStreet = rnd.Next(NUMBER_OF_TYPER_STREETS); StreetStates lastState = LastStates(); last3States.RemoveAt(0); //Removes last occurence of state, so we can put a new one if (lastState == StreetStates.Normal) { return(GenerateRandomStreet()); } else if (lastState == StreetStates.Cars) { return(GenerateSafeStreet()); } else { return(GenerateCarStreet()); } }
private StreetStates LastStates() { StreetStates firstState = last3States[0]; bool sameState = true; for (int i = 1; i < NUMBER_MAX_SAME_STREET; i++) { if (firstState != last3States[i]) { sameState = false; } } if (sameState) { return(firstState); } else { return(StreetStates.Normal); } }