Пример #1
0
/*
 *  private static Data D9() {
 *      // ふきとばし。場所替え
 *      const string map = @"
 * .....
 * .....
 * ..~..
 * .....
 * .....
 * .....
 +
 +    ......
 +++++......
 +     ......
 + ";
 +
 +      var stairsLoc = new Loc(4, 14);
 +      var playerLoc = new Loc(1, 2);
 +
 +      var fobjs = new List<FieldObject>();
 +
 +      var fitems = new List<FieldItem>();
 +      //fitems.Add(FieldItemFactory.CreateHerb(new Loc(5, 4), 4));
 +
 +      var enemies = new List<Enemy>();
 +      enemies.Add(EnemyFactory.CreateEnemy(new Loc(4, 2)));
 +
 +
 +      return new Data(map, stairsLoc, playerLoc, fobjs, fitems, enemies);
 +  }
 */

    private static Data D9()
    {
        // TODO: 上下左右いずれの方向に進んでも全ての敵が回りにくるロジック
        // ふきとばし。場所替え
        // とびつきで
        const string map = @"
........
........
........
.~~~~~~.
.~....~.
.~....~.
.~....~.
.~~~~~~.
........
";

        var stairsLoc = new Loc(5, 4);
        var playerLoc = new Loc(0, 3);

        var fobjs = new List <FieldObject>();

        fobjs.Add(FieldObjectFactory.CreateNoticeBoard(new Loc(5, 3), "ゲームクリアです!! \n\n階段を降りると\n1Fに戻ります。"));

        var fitems = new List <FieldItem>();

        fitems.Add(FieldItemFactory.CreateWand(new Loc(2, 3), 1));
        fitems.Add(FieldItemFactory.CreateWand(new Loc(2, 4), 2));

        var enemies = new List <Enemy>();

        enemies.Add(EnemyFactory.CreateEnemy(new Loc(6, 5)));

        return(new Data(map, stairsLoc, playerLoc, fobjs, fitems, enemies));
    }
Пример #2
0
    private static Data D1()
    {
        const string map = @"
.......
.......
.......
.......
.......
.......
";

        var stairsLoc = new Loc(0, 3);
        var playerLoc = new Loc(2, 3);

        var fobjs = new List <FieldObject>();

        fobjs.Add(FieldObjectFactory.CreateNoticeBoard(new Loc(0, 4), "落ちているアイテムやワナを駆使して\n階段を目指してください。\nフロアを移動すると、\n所持アイテムはなくなります。\n\n画面右上の「ギブアップ」ボタンを押すと\n現在のフロアをやり直します。"));
        // fobjs.Add(FieldObjectFactory.CreateTrapHeal(new Loc(2, 4)));

        var fitems = new List <FieldItem>();

        // fitems.Add(FieldItemFactory.CreateWand(new Loc(2, 3), 3));
        // fitems.Add(FieldItemFactory.CreateWand(new Loc(3, 2), 0));
        // fitems.Add(FieldItemFactory.CreateWand(new Loc(3, 3), 1));
        // fitems.Add(FieldItemFactory.CreateWand(new Loc(3, 4), 2));


        fitems.Add(FieldItemFactory.CreateHerb(new Loc(2, 3), 0));
        var enemies = new List <Enemy>();

        return(new Data(map, stairsLoc, playerLoc, fobjs, fitems, enemies));
    }