//猪脚运动位移坐标计算 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; //} }
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); } }