コード例 #1
0
    public AChessman GetChessMan(string chess)
    {
        AChessman res = null;

        if (!mCache.ContainsKey(chess))
        {
            switch (chess)
            {
            case "black":
                res = new BlackChessman();
                break;

            case "white":
                res = new WhiteChessman();
                break;

            default:
                break;
            }
            mCache[chess] = res;
        }
        else
        {
            res = mCache[chess];
        }

        return(res);
    }
コード例 #2
0
    static void Main(string[] args)
    {
        FiveChessmanFactory factory = FiveChessmanFactory.GetInstance();

        AChessman chess = null;

        chess = factory.GetChessMan("white");
        chess.point(2, 2);

        chess = factory.GetChessMan("black");
        chess.point(1, 1);

        chess = factory.GetChessMan("white");
        chess.point(1, 3);

        chess = factory.GetChessMan("black");
        chess.point(3, 1);

        chess = factory.GetChessMan("white");
        chess.point(2, 1);

        chess = factory.GetChessMan("black");
        chess.point(2, 3);

        chess = factory.GetChessMan("white");
        chess.point(1, 2);

        chess = factory.GetChessMan("black");
        chess.point(3, 2);

        chess = factory.GetChessMan("white");
        chess.point(3, 3);

        Console.WriteLine("平局");

        Console.ReadKey();
    }