//locate current position on a map grid, return false if out of the map public override PosXY GetPositionXY(int x, int y) { var result = new PosXY(); if ((x >= 0) && (y >= 0) && (x < glb_settings.get_map_dim_parameter_x() * glb_settings.get_map_box_size()) && (y < glb_settings.get_map_dim_parameter_y() * glb_settings.get_map_box_size())) { result.PosX = x / glb_settings.get_map_box_size(); result.PosY = y / glb_settings.get_map_box_size(); } return(result); }
private void btn_start_Click(object sender, EventArgs e) { //initialise global settings object glb_settings.set_map_dim_parameters(Convert.ToInt32(txt_global_x.Text), Convert.ToInt32(txt_global_y.Text)); Board frm = new Board(); //pass global variables class to the 2nd form frm.glb_settings = glb_settings; //temp board dimentions in pxls int x = glb_settings.get_map_dim_parameter_x() * glb_settings.get_map_box_size() + glb_settings.get_map_menu_offset() + glb_settings.get_map_box_size(); int y = glb_settings.get_map_dim_parameter_y() * glb_settings.get_map_box_size() + 2 * glb_settings.get_map_box_size(); //set dynamic board size frm.SetDesktopBounds(0, 0, x, y); frm.ShowDialog(); }
public override void DrawGrid() { //set color var c = Color.Black; var pen = new System.Drawing.Pen(c); //draw actual grid for (int i = 0; i <= glb_settings.get_map_dim_parameter_x(); i++) { graph.DrawLine(pen, i * glb_settings.get_map_box_size(), 0, i * glb_settings.get_map_box_size(), glb_settings.get_map_dim_parameter_y() * glb_settings.get_map_box_size()); } for (int j = 0; j <= glb_settings.get_map_dim_parameter_y(); j++) { graph.DrawLine(pen, 0, j * glb_settings.get_map_box_size(), glb_settings.get_map_dim_parameter_x() * glb_settings.get_map_box_size(), j * glb_settings.get_map_box_size()); } }