📄 layoutfactory.cs
字号:
using System;
using HRD.Core;
public abstract class AbstractLayoutFactory : ILayoutFactory
{
protected Mediator _mediator;
public Mediator mediator
{
set
{
_mediator = value;
}
}
public abstract Layout Create();
}
public class TwoStepLayoutFactory : AbstractLayoutFactory
{
#region ILayoutFactory 成员
public override Layout Create()
{
Layout l = new Layout();
l.blankPosition = new BlankPosition(new Position(0,4), new Position(2,4));
l.mediator = _mediator;
l.chessmen[0] = new VChessman(new Position(0,0));
l.chessmen[1] = new General(new Position(1,2));
l.chessmen[2] = new VChessman(new Position(3,0));
l.chessmen[3] = new VChessman(new Position(0,2));
l.chessmen[4] = new HChessman(new Position(1,0));
l.chessmen[5] = new VChessman(new Position(3,2));
l.chessmen[6] = new Soldier(new Position(1,1));
l.chessmen[7] = new Soldier(new Position(2,1));
l.chessmen[8] = new Soldier(new Position(1,4));
l.chessmen[9] = new Soldier(new Position(3,4));
return l;
}
#endregion
}
public class NoAnswerLayoutFactory : AbstractLayoutFactory
{
#region ILayoutFactory 成员
public override Layout Create()
{
Layout l = new Layout();
l.blankPosition = new BlankPosition(new Position(3,0), new Position(3,3));
l.mediator = _mediator;
l.chessmen[0] = new VChessman(new Position(2,0));
l.chessmen[1] = new General(new Position(0,2));
l.chessmen[2] = new VChessman(new Position(2,3));
l.chessmen[3] = new HChessman(new Position(0,0));
l.chessmen[4] = new HChessman(new Position(2,2));
l.chessmen[5] = new HChessman(new Position(0,4));
l.chessmen[6] = new Soldier(new Position(0,1));
l.chessmen[7] = new Soldier(new Position(1,1));
l.chessmen[8] = new Soldier(new Position(3,1));
l.chessmen[9] = new Soldier(new Position(3,4));
return l;
}
#endregion
}
public class LayoutFactory : AbstractLayoutFactory
{
#region ILayoutFactory 成员
public override Layout Create()
{
Layout l = new Layout();
l.blankPosition = new BlankPosition(new Position(1,4), new Position(2,4));
l.mediator = _mediator;
l.chessmen[0] = new VChessman(new Position(0,0));
l.chessmen[1] = new General(new Position(1,0));
l.chessmen[2] = new VChessman(new Position(3,0));
l.chessmen[3] = new VChessman(new Position(0,2));
l.chessmen[4] = new HChessman(new Position(1,2));
l.chessmen[5] = new VChessman(new Position(3,2));
l.chessmen[6] = new Soldier(new Position(0,4));
l.chessmen[7] = new Soldier(new Position(1,3));
l.chessmen[8] = new Soldier(new Position(2,3));
l.chessmen[9] = new Soldier(new Position(3,4));
return l;
}
#endregion
}
public class ComplexLayoutFactory : AbstractLayoutFactory
{
#region ILayoutFactory 成员
public override Layout Create()
{
Layout l = new Layout();
l.blankPosition = new BlankPosition(new Position(0,4), new Position(3,4));
l.mediator = _mediator;
l.chessmen[0] = new VChessman(new Position(0,1));
l.chessmen[1] = new General(new Position(1,0));
l.chessmen[2] = new VChessman(new Position(3,1));
l.chessmen[3] = new HChessman(new Position(1,2));
l.chessmen[4] = new HChessman(new Position(1,3));
l.chessmen[5] = new HChessman(new Position(1,4));
l.chessmen[6] = new Soldier(new Position(0,0));
l.chessmen[7] = new Soldier(new Position(3,0));
l.chessmen[8] = new Soldier(new Position(0,3));
l.chessmen[9] = new Soldier(new Position(3,3));
return l;
}
#endregion
}
public class OneStepLayoutFactory : AbstractLayoutFactory
{
#region ILayoutFactory 成员
public override Layout Create()
{
Layout l = new Layout();
l.blankPosition = new BlankPosition(new Position(1,4), new Position(2,4));
l.mediator = _mediator;
l.chessmen[0] = new VChessman(new Position(0,0));
l.chessmen[1] = new General(new Position(1,2));
l.chessmen[2] = new VChessman(new Position(3,0));
l.chessmen[3] = new VChessman(new Position(0,3));
l.chessmen[4] = new HChessman(new Position(1,0));
l.chessmen[5] = new VChessman(new Position(3,3));
l.chessmen[6] = new Soldier(new Position(1,1));
l.chessmen[7] = new Soldier(new Position(2,1));
l.chessmen[8] = new Soldier(new Position(0,2));
l.chessmen[9] = new Soldier(new Position(3,2));
return l;
}
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -