public Position GetThirdPosition(Step <PendulumState> step, GameState mutableGS, GameState currentGS) { PendulumState state = step.RootStep.State; int x = state.FilledBlock.LeftX - 1; int y = state.FilledBlock.TopY - 1; return(new Position(x, y)); }
public void AfterFirstPosition(Step <PendulumState> step, GameState mutableGS, GameState currentGS) { Position yourPos = mutableGS.YourCell.Position; PendulumState rootState = step.RootStep.State; Block filledBlock = rootState.FilledBlock; rootState.FilledBlock.LeftX = yourPos.X; if (filledBlock.TopY > yourPos.Y) { filledBlock.TopY = yourPos.Y; } }
public Position GetFirstPosition(Step <PendulumState> step, GameState mutableGS, GameState currentGS) { PendulumState state = step.RootStep.State; if (state.Level % 2 == 1) { // Going left: int x = state.FilledBlock.LeftX - 1; int y = state.FilledBlock.TopY - 1; return(new Position(x, y)); } else { // Going right: int x = state.FilledBlock.RightX + 1; int y = state.FilledBlock.TopY - 1; return(new Position(x, y)); } }