public LevelSelectForm(ASCIILevelTable levelTable) { InitializeComponent(); mLevels = levelTable; UpdateSelectedLevelLabel(); int thumbSize = 3; int rows = 4; int columns = (int)Math.Ceiling((float)mLevels.Count / 4.0f); int spacing = 2; int edgeSpacing = 6; Size size = GetLargestSize(); for (int yi = 0; yi < columns; yi++) { for (int xi = 0; xi < rows; xi++) { int index = yi * rows + xi + 1; if (index >= mLevels.Count) { break; } Point location = new Point(edgeSpacing + (xi * size.Width * thumbSize) + (xi * spacing), edgeSpacing + (yi * size.Height * thumbSize) + (yi * spacing)); Panel pnl = new Panel(); pnl.Location = location; pnl.Size = new Size(size.Width * thumbSize, size.Height * thumbSize); pnl.BackgroundImage = mLevels[index].GetThumbnail(thumbSize); pnl.BackgroundImageLayout = ImageLayout.Center; pnl.Tag = index; pnl.MouseDown += new MouseEventHandler(pnl_MouseDown); string name = mLevels[index].Name.Replace('|', ' '); mainToolTip.SetToolTip(pnl, name); if (index == mSelectedLevel) { pnl.BorderStyle = BorderStyle.Fixed3D; } pnlLevels.Controls.Add(pnl); } } ClientSize = new Size(20 + (size.Width * thumbSize * rows) + (spacing * rows) + (2 * edgeSpacing), Size.Height); //ClientSize = new Size((size.Width * thumbSize * rows) + (spacing * rows) + (2 * edgeSpacing), // (size.Height * thumbSize * columns) + (spacing * columns) + (spacing * edgeSpacing)); }
public MainForm() { InitializeComponent(); for (int i = 0; i < (int)Difficulty.Count; i++) { ToolStripMenuItem item = new ToolStripMenuItem(); item.Text = ((Difficulty)i).ToString(); item.Click += new EventHandler(difficultyToolStripMenuItem_Click); difficultyToolStripMenuItem.DropDownItems.Add(item); } ((ToolStripMenuItem)difficultyToolStripMenuItem.DropDownItems[1]).Checked = true; //List<string> files = new List<string>(Directory.GetFiles("levels", "level*.txt")); //int fc = files.Count + 1; //for (int i = 1; i < fc; i++) { // int index = files.IndexOf(String.Format("levels\\level{0:00}.txt", i)); // if (index >= 0) { // mHighestLevel++; // files.RemoveAt(index); // } else { // break; // } //} mLevels = new ASCIILevelTable("data\\levels\\levels.txt"); mHighestLevel = mLevels.Count; snakeGame1.Images.Add("null", Image.FromFile("data\\media\\null.png")); snakeGame1.Images.Add("wall", Image.FromFile("data\\media\\wall.png")); snakeGame1.Images.Add("food", Image.FromFile("data\\media\\food.png")); snakeGame1.LoadASCIITable("data\\levels\\ascii.txt"); LoadIntroLevel(); //newToolStripMenuItem_Click(this, EventArgs.Empty); }