예제 #1
0
        protected override Game Replace(int value)
        {
            var game = new ImmutableGame(this);

            game.field.valuesByPoint[GetLocation(value)] = 0;
            game.field.valuesByPoint[GetLocation(0)]     = value;

            game.field.pointsByValue[0]     = GetLocation(value);
            game.field.pointsByValue[value] = GetLocation(0);

            return(game);
        }
예제 #2
0
 private ImmutableGame(ImmutableGame game)
 {
     size  = game.size;
     field = new Field(game.field);
 }