Exemplo n.º 1
0
 // constructor
 public Map_Level(int level)
 {
     map = loadMap(level);
     //setVisible();
     leftView  = new coord();
     rightView = new coord();
     frontView = new coord();
     setView();
 }
Exemplo n.º 2
0
        // function to load a level from a file
        private Map <coord> loadMap(int l)
        {
            String tempString = "level" + l + ".txt";

            try
            {
                reader = new StreamReader(tempString); //sets a stream reader to the selected file
                Console.WriteLine("opened:" + tempString);
                tempString = reader.ReadLine();
                Console.WriteLine("tempString line one:" + tempString);
                String[] tempArr  = tempString.Split(',');
                String[] tempCord = tempArr[2].Split('/');
                currentLocation = new location(int.Parse(tempCord[0]) - 1, int.Parse(tempCord[1]) - 1, int.Parse(tempCord[2]));
                int         x    = int.Parse(tempArr[0]);
                int         y    = int.Parse(tempArr[1]);
                Map <coord> lMap = new Map <coord>(x, y);
                string[]    tArr = new string[x];

                Console.WriteLine("Made lMap Height: " + lMap.Height + " Length: " + lMap.Length);


                for (int i = 0; i < y; i++)
                {
                    tempString = reader.ReadLine();
                    tArr       = tempString.Split(',');
                    for (int j = 0; j < x; j++)
                    {
                        //tempCord = tArr[j - 1].Split('/');
                        tempCord = tArr[j].Split('/');
                        if (int.Parse(tempCord[0]) == 1)
                        {
                            lMap[i, j] = new coord(true, int.Parse(tempCord[1]), int.Parse(tempCord[2]), int.Parse(tempCord[3]));
                        }
                        else
                        {
                            lMap[i, j] = new coord(false, int.Parse(tempCord[1]), int.Parse(tempCord[2]), int.Parse(tempCord[3]));
                        }
                    }
                    Console.WriteLine();
                }
                reader.Close();
                return(lMap);
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR ERROR ERROR ERROR ERROR");
                Console.WriteLine(e);
                return(null);
            }
        }
Exemplo n.º 3
0
        // function returns the coords in front and to the sides of a location
        public void setView()
        {
            Console.WriteLine();
            for (int l = 0; l < 5; l++)
            {
                for (int k = 0; k < 5; k++)
                {
                    Console.Write(map[l, k].Vis + " ");
                }

                Console.WriteLine();
            }
            Console.WriteLine();
            //setVisible();
            map[Loc.X, Loc.Y].Vis = true;
            bool[,] tVis          = Vis;
            int[,] tTile          = Tiles;
            int[,] tStory         = Story;
            int[,] tImage         = Image;
            Console.WriteLine("enter set view.");
            Console.WriteLine("Loc.X: " + Loc.X + " Loc.Y: " + Loc.Y);
            Console.WriteLine("Image[Loc.X - 1, Loc.Y]: " + Image[Loc.X - 1, Loc.Y] + " Image[Loc.X, Loc.Y + 1]: " + Image[Loc.X, Loc.Y + 1] + " Image[Loc.X + 1, Loc.Y]: " + Image[Loc.X + 1, Loc.Y]);
            Console.WriteLine("Image[Loc.X - 1, Loc.Y]: " + Image[Loc.X - 1, Loc.Y] + " Image[Loc.X, Loc.Y - 1]: " + Image[Loc.X, Loc.Y - 1] + " Image[Loc.X + 1, Loc.Y]: " + Image[Loc.X + 1, Loc.Y]);

            Console.WriteLine("Image[Loc.X, Loc.Y - 1]: " + Image[Loc.X, Loc.Y - 1] + " Image[Loc.X + 1, Loc.Y]: " + Image[Loc.X + 1, Loc.Y] + " Image[Loc.X + 1, Loc.Y]: " + Image[Loc.X + 1, Loc.Y]);
            Console.WriteLine("Image[Loc.X, Loc.Y - 1]: " + Image[Loc.X, Loc.Y - 1] + " Image[Loc.X - 1, Loc.Y]: " + Image[Loc.X - 1, Loc.Y] + " Image[Loc.X + 1, Loc.Y]: " + Image[Loc.X + 1, Loc.Y]);
            int i = 1;

            if (Loc.Z % 2 > 0)
            {
                i = -1;
            }
            try
            {
                Console.WriteLine("Loc.X: " + Loc.X + " Loc.Y: " + Loc.Y);
                Console.WriteLine("Loc.Z: " + Loc.Z + " i: " + i);
                if (Loc.Z > 2)
                {
                    map[Loc.X + i, Loc.Y].Vis = true;
                    map[Loc.X, Loc.Y + i].Vis = true;
                    map[Loc.X - i, Loc.Y].Vis = true;
                    RightView = new coord(tVis[Loc.X, Loc.Y + i], tImage[Loc.X, Loc.Y + i], tStory[Loc.X, Loc.Y + i], tTile[Loc.X, Loc.Y + i]);
                    FrontView = new coord(tVis[Loc.X + 1, Loc.Y], tImage[Loc.X + 1, Loc.Y], tStory[Loc.X + 1, Loc.Y], tTile[Loc.X + 1, Loc.Y]);
                    LeftView  = new coord(tVis[Loc.X, Loc.Y - i], tImage[Loc.X, Loc.Y - i], tStory[Loc.X, Loc.Y - i], tTile[Loc.X, Loc.Y - i]);



                    Console.WriteLine("right view: x: " + (Loc.X + i) + " y: " + (Loc.Y));
                    Console.WriteLine("Front view: x: " + (Loc.X) + " y: " + (Loc.Y + i));
                    Console.WriteLine("left view: x: " + (Loc.X - i) + " y: " + (Loc.Y));
                    Console.WriteLine("left view map[Loc.X - i, Loc.Y].Image: " + map[Loc.X - i, Loc.Y].Image);
                    Console.WriteLine("LeftView.image: " + LeftView.Image);



                    //Console.WriteLine("right view map[Loc.X + i, Loc.Y].Image: " + map[Loc.X + i, Loc.Y].Image);
                    //Console.WriteLine("RightView.image: " + RightView.Image);
                    //Console.WriteLine("LeftView.image: " + LeftView.Image);
                    //RightView.Image = map[Loc.X + 1, Loc.Y].Image;
                    //Console.WriteLine("RightView.image: " + RightView.Image);
                    //Console.WriteLine("LeftView.image: " + LeftView.Image);
                    //FrontView.Image = map[Loc.X, Loc.Y + i].Image;
                    //LeftView.Image = map[Loc.X - i, Loc.Y].Image;
                    //Console.WriteLine("RightView.image: " + RightView.Image);
                    //Console.WriteLine("LeftView.image: " + LeftView.Image);
                    //LeftView.Story = map[Loc.X - i, Loc.Y].Story;
                    //RightView.Story = map[Loc.X + 1, Loc.Y].Story;
                    //FrontView.Story = map[Loc.X, Loc.Y + i].Story;
                    //Console.WriteLine("RightView.image: " + RightView.Image);
                    //Console.WriteLine("LeftView.image: " + LeftView.Image);
                }
                else
                {
                    RightView = new coord(tVis[Loc.X - i, Loc.Y], tImage[Loc.X - i, Loc.Y], tStory[Loc.X - i, Loc.Y], tTile[Loc.X - i, Loc.Y]);
                    FrontView = new coord(tVis[Loc.X, Loc.Y + i], tImage[Loc.X, Loc.Y + i], tStory[Loc.X, Loc.Y + i], tTile[Loc.X, Loc.Y + i]);
                    LeftView  = new coord(tVis[Loc.X + i, Loc.Y], tImage[Loc.X + i, Loc.Y], tStory[Loc.X + i, Loc.Y], tTile[Loc.X + i, Loc.Y]);
                    Console.WriteLine("right view: x: " + (Loc.X) + " y: " + (Loc.Y - i));
                    Console.WriteLine("Front view: x: " + (Loc.X + i) + " y: " + (Loc.Y));
                    Console.WriteLine("left view: x: " + (Loc.X) + " y: " + (Loc.Y + i));
                    map[Loc.X, Loc.Y - i].Vis = true;
                    map[Loc.X + i, Loc.Y].Vis = true;
                    map[Loc.X, Loc.Y + i].Vis = true;
                }

                Console.WriteLine();
                for (int l = 0; l < 5; l++)
                {
                    for (int k = 0; k < 5; k++)
                    {
                        Console.Write(map[l, k].Vis + " ");
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();
            }
            catch (Exception e)
            {
                Console.WriteLine("SetView Error: " + e);
            }
        }