public Form1() { IntPtr SaveFilter = SetUnhandledExceptionFilter(IntPtr.Zero); InitializeComponent(); SetUnhandledExceptionFilter(SaveFilter); // set position this.Left = 100; this.Top = 100; // assign update delegate updateMethod = update; // setup icons iconSuccess = loadRes("success.png"); iconFailure = loadRes("failure.png"); iconUnknown = loadRes("unknown.png"); line = loadRes("line.bmp"); pictureLine.Image = line; // setup mazes bitmapMazeRedEmpty = loadRes("red_maze_empty.png"); getScan(bitmapMazeRedEmpty, mazeRedEmpty); bitmapMazeLightblueEmpty = loadRes("lightblue_maze_empty.png"); getScan(bitmapMazeLightblueEmpty, mazeLightblueEmpty); bitmapMazeBrownEmpty = loadRes("brown_maze_empty.png"); getScan(bitmapMazeBrownEmpty, mazeBrownEmpty); // setup picture init boxes pictureInitBoxes.AddMultiple(pictureInit32Bit, pictureInitFoundGame, pictureInitLocated, pictureFrameRate); // reset reset(); // catch close event FormClosing += new FormClosingEventHandler(ClosingEvent); // checkboxes checkBoxAutoPlay.Checked = (bool)settings["Autoplay"]; checkBoxVisualizer.Checked = (bool)settings["Visualizer"]; // error check highscore if (((int)settings["Highscore"]) % 10 != 0) { settings["Highscore"] = 0; settings.Save(); } // ai selection comboBoxAI.AutoCompleteSource = AutoCompleteSource.ListItems; comboBoxAI.AutoCompleteMode = AutoCompleteMode.SuggestAppend; comboBoxAI.Items.Add(new AIItem("None", null)); //comboBoxAI.Items.Add(new AIItem("RandomPac (Orig)", typeof(Pacman.Implementations.RandomPac))); //comboBoxAI.Items.Add(new AIItem("SmartPac (Orig)", typeof(Pacman.Implementations.SmartPac))); //comboBoxAI.Items.Add(new AIItem("SmartDijkstraPac (Orig)", typeof(Pacman.Implementations.SmartDijkstraPac))); foreach (string s in Directory.GetFiles(@"../Controllers/")) { if (Path.GetExtension(s) == ".dll") { string path = Path.GetFullPath(s); Assembly dll = Assembly.LoadFile(path); Type[] types = dll.GetTypes(); foreach (Type t in types) { if (t.BaseType == typeof(BasePacman)) { comboBoxAI.Items.Add(new AIItem(t.ToString(), t)); } } } } foreach (object o in comboBoxAI.Items) { AIItem i = o as AIItem; if (i.ToString() == (string)settings["SelectedAI"]) { comboBoxAI.SelectedItem = i; break; } } }
private void comboBoxAI_SelectedIndexChanged(object sender, EventArgs e) { selectedAI = (AIItem)comboBoxAI.SelectedItem; settings["SelectedAI"] = comboBoxAI.SelectedItem.ToString(); settings.Save(); }