Example #1
0
            }//地图文件读取(关卡数-地图)

            public char[,] PosRead(string[] levelmap)
            {
                List <char[]> charmap = new List <char[]>();

                char[,] mappos = new char[26, 26];
                string[] array = new string[levelmap.Length - 2];
                for (int i = 0; i < array.Length; i++)
                {
                    array[i] = levelmap[i + 1];
                }

                int height = 0;

                foreach (var s in array)
                {
                    char[] a = new char[s.Length - 2];
                    for (int i = 0; i < a.Length; i++)
                    {
                        a[i] = s[i + 1];
                    }
                    charmap.Add(a); //char数组里面增加了一串横的坐标里的内容
                    int length = 0; //横坐标
                    for (length = 0; length < 24 && a.Length > length; length++)
                    {
                        mappos[height, length] = a[length];
                        if (a[length] == '#')
                        {
                            Wall wall = new Wall("□", 1001);
                            wall.SetPos(length, height);
                            Rogue.walls[MapPos(wall.x, wall.y)] = wall;
                        }
                        if (a[length] == 'o')
                        {
                            ElectricityDoor electricitydoor = new ElectricityDoor("×", 8);
                            electricitydoor.SetPos(length, height);
                            Rogue.electricitydoors[MapPos(electricitydoor.x, electricitydoor.y)] = electricitydoor;
                        }
                        if (a[length] == 'y')
                        {
                            Thorn thorn = new Thorn("◆", 5001);
                            thorn.SetPos(length, height);
                            Rogue.thorns[MapPos(thorn.x, thorn.y)] = thorn;
                        }
                        if (a[length] == 'w')
                        {
                            ElectricSwitch electricSwitch = new ElectricSwitch("※", 8);
                            electricSwitch.SetPos(length, height);
                            Rogue.electricSwitchs[MapPos(electricSwitch.x, electricSwitch.y)] = electricSwitch;
                        }
                        if (a[length] == 'u')
                        {
                            LongPole longPole = new LongPole("♂", 1);
                            longPole.SetPos(length, height);
                            Rogue.longpoles[MapPos(longPole.x, longPole.y)] = longPole;
                        }
                        if (a[length] == 'i')
                        {
                            Transfer transfer1 = new Transfer("¤", 1);
                            transfer1.SetPos(length, height);
                            Rogue.transfers[MapPos(transfer1.x, transfer1.y)] = transfer1;
                        }
                        if (a[length] == 'l')
                        {
                            Transfer transfer2 = new Transfer("§", 2);
                            transfer2.SetPos(length, height);
                            Rogue.transfers[MapPos(transfer2.x, transfer2.y)] = transfer2;
                        }
                        if (a[length] == ',')
                        {
                            Transfer transfer3 = new Transfer("◎", 1);
                            transfer3.SetPos(length, height);
                            Rogue.transfers[MapPos(transfer3.x, transfer3.y)] = transfer3;
                        }
                        if (a[length] == '.')
                        {
                            Transfer transfer4 = new Transfer("◎", 1);
                            transfer4.SetPos(length, height);
                            Rogue.transfers[MapPos(transfer4.x, transfer4.y)] = transfer4;
                        }
                        if (a[length] == 'p')
                        {
                            NPC oldman1 = new NPC("何炅", 1);
                            oldman1.SetPos(length, height);
                            Rogue.npcs[MapPos(oldman1.x, oldman1.y)] = oldman1;
                        }
                        if (a[length] == 'q')
                        {
                            NPC oldman2 = new NPC("恶魔", 2);
                            oldman2.SetPos(length, height);
                            Rogue.npcs[MapPos(oldman2.x, oldman2.y)] = oldman2;
                        }
                        if (a[length] == 'v')
                        {
                            NPC oldman3 = new NPC("撒贝宁", 3);
                            oldman3.SetPos(length, height);
                            Rogue.npcs[MapPos(oldman3.x, oldman3.y)] = oldman3;
                        }
                        if (a[length] == 'r')
                        {
                            Monster monster1 = new Monster("〓", 1, 5, 1);
                            monster1.SetPos(length, height);
                            Rogue.monsters[MapPos(monster1.x, monster1.y)] = monster1;
                        }
                        if (a[length] == '1')
                        {
                            Key key1 = new Key("Ⅰ", 1);
                            key1.SetPos(length, height);
                            Rogue.keys[MapPos(key1.x, key1.y)] = key1;
                        }
                        if (a[length] == '2')
                        {
                            Key key2 = new Key("Ⅱ", 2);
                            key2.SetPos(length, height);
                            Rogue.keys[MapPos(key2.x, key2.y)] = key2;
                        }
                        if (a[length] == '3')
                        {
                            Key key3 = new Key("Ⅲ", 3);
                            key3.SetPos(length, height);
                            Rogue.keys[MapPos(key3.x, key3.y)] = key3;
                        }
                        if (a[length] == '4')
                        {
                            Key key4 = new Key("Ⅳ", 4);
                            key4.SetPos(length, height);
                            Rogue.keys[MapPos(key4.x, key4.y)] = key4;
                        }
                        if (a[length] == '5')
                        {
                            Key key5 = new Key("Ⅴ", 5);
                            key5.SetPos(length, height);
                            Rogue.keys[MapPos(key5.x, key5.y)] = key5;
                        }
                        if (a[length] == '6')
                        {
                            Key key6 = new Key("Ⅵ", 6);
                            key6.SetPos(length, height);
                            Rogue.keys[MapPos(key6.x, key6.y)] = key6;
                        }
                        if (a[length] == '7')
                        {
                            Key key7 = new Key("Ⅶ", 7);
                            key7.SetPos(length, height);
                            Rogue.keys[MapPos(key7.x, key7.y)] = key7;
                        }
                        if (a[length] == 'a')
                        {
                            Door door1 = new Door("①", 1);
                            door1.SetPos(length, height);
                            Rogue.doors[MapPos(door1.x, door1.y)] = door1;
                        }
                        if (a[length] == 'b')
                        {
                            Door door2 = new Door("②", 2);
                            door2.SetPos(length, height);
                            Rogue.doors[MapPos(door2.x, door2.y)] = door2;
                        }
                        if (a[length] == 'c')
                        {
                            Door door3 = new Door("③", 3);
                            door3.SetPos(length, height);
                            Rogue.doors[MapPos(door3.x, door3.y)] = door3;
                        }
                        if (a[length] == 'd')
                        {
                            Door door4 = new Door("④", 4);
                            door4.SetPos(length, height);
                            Rogue.doors[MapPos(door4.x, door4.y)] = door4;
                        }
                        if (a[length] == 'e')
                        {
                            Door door5 = new Door("⑤", 5);
                            door5.SetPos(length, height);
                            Rogue.doors[MapPos(door5.x, door5.y)] = door5;
                        }
                        if (a[length] == 'f')
                        {
                            Door door6 = new Door("⑥", 6);
                            door6.SetPos(length, height);
                            Rogue.doors[MapPos(door6.x, door6.y)] = door6;
                        }
                        if (a[length] == 'g')
                        {
                            Door door7 = new Door("⑦", 7);
                            door7.SetPos(length, height);
                            Rogue.doors[MapPos(door7.x, door7.y)] = door7;
                        }
                        if (a[length] == 'h')
                        {
                            Monster monster10 = new Monster("★", 1, 5, 1);
                            monster10.SetPos(length, height);
                            Rogue.monsters[MapPos(monster10.x, monster10.y)] = monster10;
                        }
                        if (a[length] == 'j')
                        {
                            Monster monster11 = new Monster("☆", 1, 5, 1);
                            monster11.SetPos(length, height);
                            Rogue.monsters[MapPos(monster11.x, monster11.y)] = monster11;
                        }
                        if (a[length] == 'k')
                        {
                            Monster monster12 = new Monster("○", 1, 5, 1);
                            monster12.SetPos(length, height);
                            Rogue.monsters[MapPos(monster12.x, monster12.y)] = monster12;
                        }
                        if (a[length] == 't')
                        {
                            Monster monster13 = new Monster("●", 1, 5, 1);
                            monster13.SetPos(length, height);
                            Rogue.monsters[MapPos(monster13.x, monster13.y)] = monster13;
                        }
                        if (a[length] == 'm')
                        {
                            Monster monster14 = new Monster("◇", 1, 5, 1);
                            monster14.SetPos(length, height);
                            Rogue.monsters[MapPos(monster14.x, monster14.y)] = monster14;
                        }
                        if (a[length] == 'n')
                        {
                            Monster monster15 = new Monster("◆", 1, 5, 1);
                            monster15.SetPos(length, height);
                            Rogue.monsters[MapPos(monster15.x, monster15.y)] = monster15;
                        }
                    }
                    height++;
                }
                return(mappos);
            }