Пример #1
0
        //猪脚运动位移坐标计算
        public void CharacterMove(Pikachu character, Move move)
        {
            int x = character.characterX;
            int y = character.characterY;

            switch (move)
            {
            case Move.up:
                character.characterY -= 1;
                break;

            case Move.back:
                character.characterY += 1;
                break;

            case Move.left:
                character.characterX -= 1;
                break;

            case Move.right:
                character.characterX += 1;
                break;
            }
            //杂货商人
            if (ViewData.ViewResource[character.characterY, character.characterX] == '4')
            {
                character.characterY = y;
                character.characterX = x;
                //new GameView().Dialogue("技能导师", "——嘻~冒险者,还没吃?那快来我这儿买点吃的吧~");
                new GameView().Dialogue("技能导师", "——嘻~冒险者,想学习最技术嘛,屠龙宝刀点击就送!!!~");
                new GameView().message(jineng);
                return;
            }
            //武器商人
            if (ViewData.ViewResource[character.characterY, character.characterX] == 'w')
            {
                character.characterY = y;
                character.characterX = x;
                new GameView().Dialogue("武器商人", "哼~刀剑无眼,小心你的手!这可不是给小孩子玩的玩具!");
                new GameView().message(wuqi);
                return;
            }
            //药品商人
            if (ViewData.ViewResource[character.characterY, character.characterX] == 'y')
            {
                character.characterY = y;
                character.characterX = x;
                new GameView().Dialogue("药品商人", "Oh~可怜的孩子~你看起来虚弱极了~快过来买点药水吧~");
                new GameView().message(yaoping);

                return;
            }
            //NPC指引
            if (ViewData.ViewResource[character.characterY, character.characterX] == 'n')
            {
                character.characterY = y;
                character.characterX = x;
                new GameView().Dialogue("NPC指引", "勇敢的年轻人  欢迎来到蛋蛋村~~~~~~~~~~~");
                return;
            }
            //宝箱
            if (ViewData.ViewResource[character.characterY, character.characterX] == '6')
            {
                character.characterY = y;
                character.characterX = x;
                new GameView().Dialogue("商人", "勇敢的年轻人 我这儿啥都有   你想购买点什么呢?");
                return;
            }
            //任务
            if (ViewData.ViewResource[character.characterY, character.characterX] == '3')
            {
                character.characterY = y;
                character.characterX = x;
                new GameView().Dialogue("奥特曼", "你居然来到这里了 ~ 哈哈  我这边有点小事情想找你帮帮忙~");
                new GameView().message(renwu);
                return;
            }
            ///判断是否有npc
            if (ViewData.ViewResource[character.characterY, character.characterX] != '0')
            {
                character.characterY = y;
                character.characterX = x;
                return;
            }
            ///
            //if (character.characterY < 2 || character.characterY > 17)
            //{
            //    character.characterY = y;
            //    return;
            //}
            //else if (character.characterX < 2 || character.characterX > 35)
            //{
            //    character.characterX = x;
            //    return;
            //}
        }
Пример #2
0
        public void Run()
        {
            model.initData(51, 51);
            model.MapX = 3;
            model.MapY = 11;
            //添加猪脚
            pk = new Pikachu('Y', 1, "皮卡丘", 111.1f, 51.1f, 11.1f, 51.1f, 29, 12);
            //添加怪物

            var sl = new Slime('&', 1, "史莱姆大哥", 111.1f, 51.1f, 11.1f, 51.1f, 15, 32);

            var sl2 = new Slime('&', 1, "史莱姆的父亲", 111.1f, 51.1f, 11.1f, 51.1f, 15, 34);

            model.AddBoss(sl);
            model.AddBoss(sl2);
            var rock  = new RockMon('$', 1, "岩石聚聚", 111.1f, 51.1f, 11.1f, 51.1f, 9, 5);
            var rock1 = new RockMon('$', 1, "岩石爸爸", 111.1f, 51.1f, 11.1f, 51.1f, 18, 21);
            var rock2 = new RockMon('$', 1, "岩石妈妈", 111.1f, 51.1f, 11.1f, 51.1f, 15, 34);
            var rock3 = new RockMon('$', 1, "岩石奶奶", 111.1f, 51.1f, 11.1f, 51.1f, 15, 34);

            model.AddBoss(rock);
            model.AddBoss(rock1);
            model.AddBoss(rock2);
            model.AddBoss(rock3);
            ///❀boss
            model.Addporp('i', 39, 36);
            //添加门
            //model.Addporp('i',39,36);
            //model.Addporp('i',39,37);
            //model.Addporp('i',39,38);

            run.sizeX = 121;
            run.sizeY = 31;
            run.ViewPlayer();


            while (true)
            {
                if (Console.KeyAvailable)
                {
                    var key = Console.ReadKey(true);
                    switch (key.Key)
                    {
                    case ConsoleKey.UpArrow:
                        model.MapX -= 1;
                        break;

                    case ConsoleKey.DownArrow:
                        model.MapX += 1;
                        break;

                    case ConsoleKey.LeftArrow:
                        model.MapY -= 1;
                        break;

                    case ConsoleKey.RightArrow:
                        model.MapY += 1;
                        break;

                    case ConsoleKey.W:
                        model.MapX -= 1;
                        orientation = Move.up;
                        model.CharacterMove(pk, Move.up);
                        break;

                    case ConsoleKey.S:
                        model.MapX += 1;
                        orientation = Move.back;
                        model.CharacterMove(pk, Move.back);
                        break;

                    case ConsoleKey.A:
                        model.MapY -= 1;
                        orientation = Move.left;
                        model.CharacterMove(pk, Move.left);
                        break;

                    case ConsoleKey.D:
                        model.MapY += 1;
                        orientation = Move.right;
                        model.CharacterMove(pk, Move.right);
                        break;

                    case ConsoleKey.Spacebar:
                        AttackAnimation(orientation, pk);
                        break;

                    default:
                        break;
                    }
                }
                //model.MapMove(Move.up, model.MapX, model.Mapy);
                //Thread.Sleep(211);
                run.Tooltip(pk.characterX, pk.characterY);
                run.RefreshGameView(ViewData.Viewsource, model.MapX, model.MapY, pk.characterX, pk.characterY);
            }
        }