public override bool Move(StaticObject destiantion, StaticObject current, bool WakeUp) { if (destiantion.Object == null && destiantion.Symbol != '#') { destiantion.Object = this; destiantion.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } else if (destiantion.Object != null) { if (destiantion.Object.Symbol == 'z') { if (destiantion.Object.Move(destiantion, destiantion, true)) { destiantion.Object = this; destiantion.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } } return(false); }
public bool Sleep(StaticObject current) { this.Symbol = 'z'; current.Object = this; current.setDefaultSymbol(); return(true); }
public override bool Move(StaticObject destination, StaticObject current, bool wakeUp) { if (destination.Object == null && destination.Symbol != '#') { destination.Object = this; destination.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } return(false); }
public bool WakeUp(StaticObject current) { this.Symbol = '$'; current.setDefaultSymbol(); Random rnd = new Random(); int direction = rnd.Next(1, 5); Console.WriteLine(direction + "direction"); switch (direction) { case 1: if (current.NorthField.Object == null && current.NorthField.Symbol != '#') { current.NorthField.Object = this; current.NorthField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } else if (current.NorthField.Object != null) { if (current.NorthField.Object.Symbol == '@') { if (current.NorthField.Object.Move(current.NorthField.NorthField, current.NorthField, false)) { current.NorthField.Object = this; current.NorthField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } else if (current.NorthField.Object.Symbol == 'o' || current.NorthField.Object.Symbol == '0') { if (current.NorthField.Object.Move(current.NorthField.NorthField, current.NorthField, false)) { current.NorthField.Object = this; current.NorthField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } } break; case 2: if (current.EastField.Object == null && current.EastField.Symbol != '#') { current.EastField.Object = this; current.EastField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } else if (current.EastField.Object != null) { if (current.EastField.Object.Symbol == '@') { if (current.EastField.Object.Move(current.EastField.EastField, current.EastField, false)) { current.EastField.Object = this; current.EastField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } else if (current.EastField.Object.Symbol == 'o' || current.EastField.Object.Symbol == '0') { if (current.EastField.Object.Move(current.EastField.EastField, current.EastField, false)) { current.EastField.Object = this; current.EastField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } } break; case 3: if (current.SouthField.Object == null && current.SouthField.Symbol != '#') { current.SouthField.Object = this; current.SouthField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } else if (current.SouthField.Object != null) { if (current.SouthField.Object.Symbol == '@') { if (current.SouthField.Object.Move(current.SouthField.SouthField, current.SouthField, false)) { current.SouthField.Object = this; current.SouthField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } else if (current.SouthField.Object.Symbol == 'o' || current.SouthField.Object.Symbol == '0') { if (current.SouthField.Object.Move(current.SouthField.SouthField, current.SouthField, false)) { current.SouthField.Object = this; current.SouthField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } } break; case 4: if (current.WestField.Object == null && current.WestField.Symbol != '#') { current.WestField.Object = this; current.WestField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } else if (current.WestField.Object != null) { if (current.WestField.Object.Symbol == '@') { if (current.WestField.Object.Move(current.WestField.WestField, current.WestField, false)) { current.WestField.Object = this; current.WestField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } else if (current.WestField.Object.Symbol == 'o' || current.WestField.Object.Symbol == '0') { if (current.WestField.Object.Move(current.WestField.WestField, current.WestField, false)) { current.WestField.Object = this; current.WestField.setDefaultSymbol(); current.Object = null; current.setDefaultSymbol(); return(true); } } } break; } return(false); }