// Добавление новой части змеи private void Add_new_Block() { S_Body_Block New_Body_Block = m_Snake.Tail; m_Snake.Tail = new S_Tail(m_Snake.Tail.Last_Position, m_Snake.Tail.Direction, New_Body_Block); m_Board.Set_Points_Value(false, m_Snake.Tail.Location); }
public S_Snake(E_Direction a_start_direction, params S_Location[] a_start_locations) { // В начале игры змейка выстраивается в линию // На данный момент решено что число начальных блоков строго равно четырем, поэтому этот код не обрабатывается через цикл, а кол-во не вынесено константным значением m_head = new S_Head(a_start_locations[0], a_start_direction); S_Body_Block BB1 = new S_Body_Block(a_start_locations[1], a_start_direction, m_head); S_Body_Block BB2 = new S_Body_Block(a_start_locations[2], a_start_direction, BB1); m_tail = new S_Tail(a_start_locations[3], a_start_direction, BB2); }
public S_Tail(S_Location a_Location, E_Direction a_Direction, S_Body_Block a_Next_Body_Block = null) : base(a_Location, a_Direction, a_Next_Body_Block) { }
public S_Body_Block(S_Location a_Location, E_Direction a_Direction, S_Body_Block a_Next_Body_Block = null) : base(a_Location) { m_Direction = a_Direction; m_Next_Block = a_Next_Body_Block; }