public override Dictionary <IPos, ILand> MakeLands(int _N) { Dictionary <string, IPos> pm = GenerateBasicMap(_N); Dictionary <IPos, ILand> landsDict = new Dictionary <IPos, ILand>(); float[,] elevation = NoiseGrid(_N); float[,] temperature = NoiseGrid(_N); MapUtil.TransformMapMinMax(ref elevation, MapUtil.dNormalize); MapUtil.TransformMapMinMax(ref temperature, MapUtil.dNormalize); foreach (IPos p in pm.Values) { float elev = elevation[(int)p.gridLoc.x(), (int)p.gridLoc.y()]; float temp = temperature[(int)p.gridLoc.x(), (int)p.gridLoc.y()]; Dictionary <string, float> _val = new Dictionary <string, float>() { { "elevation", elev }, { "temperature", temp } }; ILand newLand = LandFactory.CreateLand(p, _val, game.landType); landsDict[p] = newLand; } return(landsDict); }
public void Landing(Point initialPoint, Direction initialDirection, ILand roverLand) { this.CurrentPosition = initialPoint; this.FacingDirection = initialDirection; this.RoverLand = roverLand; _logger.AddLog(string.Format("Landed on: {0} {1}, Facing: {2}", this.CurrentPosition.X, this.CurrentPosition.Y, this.FacingDirection.GetDescription())); }
void DrawTerrainUpdate() { foreach (IPos p in game.map.lands.Keys) { if (!goMap.ContainsKey(p)) { goMap[p] = InstantiateGo(pfTile, p.mapLoc, Color.white); goMap[p].GetComponentInChildren <Clickable>().setPos(p); } Renderer r = goMap[p].GetComponentInChildren <Renderer>(); ILand thisLand = game.map.lands[p]; r.material.color = thisLand.GetColor(); } }
public Dictionary <IPos, ILand> InitializeLandsFromMidpointDisplacement(int _N, Dictionary <string, IPos> pm) { Dictionary <IPos, ILand> landsDict = new Dictionary <IPos, ILand>(); float[,] elevation = NoiseGrid(_N); MapUtil.TransformMapMinMax(ref elevation, MapUtil.dNormalize); foreach (IPos p in pm.Values) { Dictionary <string, float> _val = new Dictionary <string, float>() { { "elevation", elevation[(int)p.gridLoc.x(), (int)p.gridLoc.y()] } }; ILand newLand = LandFactory.CreateLand(p, _val, game.landType); landsDict[p] = newLand; } return(landsDict); }
static void Main(string[] args) { ILand land = CreateLand(); ICommandExecutor commandExecutor = new CommandExecutor(); List <Discovery> lstDiscovery = new List <Discovery>(); string read = Console.ReadLine(); while (!String.IsNullOrEmpty(read)) { IRover rover = CreateRover(land, read); List <ICommand> lstCommands = CreateCommands(); lstDiscovery.Add(new Discovery(rover, lstCommands, commandExecutor)); read = Console.ReadLine(); } lstDiscovery.ForEach(item => Console.WriteLine(item.ToString())); Console.ReadLine(); }
public void LandVehicle(ILand landvehicle) { landvehicle.Drive(); }
public CustomerController(ICustomer <Customer> _Repositories, ILand <Land> _LandRepositories) { CustomerRepositories = _Repositories; LandRepositories = _LandRepositories; }
public Rover(Face face, Position position, ILand land) { Face = face; Position = position; Land = land; }
public Rover(ILand land, string coordinate) { Land = land; SetLocation(coordinate); }
private ILand[,] SmartLayout(ILand[,] innerMap, String[] map, String landType, int landSquare) { for (int i = 0; i < landSquare; i++) { int position = Generator.Generator.GenerateRandomValue(0, map.Length); string [] sep = map[position].Split(new Char[] { ';' }); int positionX = int.Parse(sep[0]); int positionY = int.Parse(sep[1]); switch (position % 4) { case 0: if (positionX != 0) positionX -= 1; break; case 1: if (positionX != (_width - 1)) positionX += 1; break; case 2: if (positionY != 0) positionY -= 1; break; case 3: if (positionY != (_height - 1)) positionY += 1; break; } if (innerMap[positionX, positionY].ToString() == landType) continue; switch (landType) { case "Ground": _innerMap[positionX, positionY] = new Ground(); break; case "Mountain": _innerMap[positionX, positionY] = new Mountain(); break; case "Water": _innerMap[positionX, positionY] = new Water(); break; } var buffer = map; map = new string[map.Length + 1]; buffer.CopyTo(map, 0); map[map.Length - 1] = positionX.ToString(CultureInfo.InvariantCulture) + ';' + positionY.ToString(CultureInfo.InvariantCulture); } return innerMap; }
public Farm(ILand land, IGovernmentSubsidy governmentSubsidy) { }
static IRover CreateRover(ILand land, string read) { string[] v = read.Split(' '); return(new Rover(new Face(v[2][0]), new Position(int.Parse(v[0]), int.Parse(v[1])), land)); }
private void GetData() { LandDatumNoEnableControl(); if (ds != null) { gy = null; this.gridViewLand.FocusedRowChanged -= new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gridViewLand_FocusedRowChanged); if (ds.Tables.Count == 1) { ds.Tables[0].Clear(); this.gridControlGy.DataSource = ds.Tables[0].DefaultView; this.gridViewLand.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gridViewLand_FocusedRowChanged); } } else { ds = new DataSet(); } if (double.TryParse(this.txtQph.Text.ToString(), out this.qph)) { string landtype; SearchLandDatumValue(this.qph, out landtype); invokeThread = new Thread(new ThreadStart(StartMethod)); invokeThread.Start(); } else { LandDatumEnableControl(); } }
private void StartMethod() { beforeTime = DateTime.Now; li.Qph = this.qph.ToString(); // mapper.Write(li, @"c:\aaa.xls",excelFileName); // mapper.Write(li, excelFileName, true); try { //===================== if (!string.IsNullOrEmpty(li.Type)) { if (li.Type == "工业") { gy = new LandGy(); if (this.landDatumValue.gyszys.Count == 1) { #region 工业具体条件 ArrayList[] al = new ArrayList[11]; ArrayList tmpal = new ArrayList(); tmpal.Clear(); int j = 0; for (int i = 1; i < 56; i++) { tmpal.Add(this.landDatumValue.gyszys.Rows[0][string.Format("s{0}", i + 1)].ToString()); if (i % 5 == 0 && i != 0) { al[j] = new ArrayList(); for (int t = 0; t < 5; t++) { al[j].Add(tmpal[t]); } tmpal.Clear(); j++; } } ((LandGy)gy).Range_Jttj_1 = al[0]; ((LandGy)gy).Range_Jttj_2 = al[1]; ((LandGy)gy).Range_Jttj_3 = al[2]; ((LandGy)gy).Range_Jttj_4 = al[3]; ((LandGy)gy).Range_Jttj_5 = al[4]; ((LandGy)gy).Range_Jttj_6 = al[5]; ((LandGy)gy).Range_Jttj_7 = al[6]; ((LandGy)gy).Range_Jttj_8 = al[7]; ((LandGy)gy).Range_Jttj_9 = al[8]; ((LandGy)gy).Range_Jttj_10 = al[9]; ((LandGy)gy).Range_Jttj_11 = al[10]; #endregion #region 工业具体修正系数 ArrayList[] al1 = new ArrayList[11]; ArrayList tmpal1 = new ArrayList(); tmpal1.Clear(); int j1 = 0; for (int i = 1; i < 56; i++) { tmpal1.Add(this.landDatumValue.gyszxs.Rows[0][string.Format("s{0}", i + 1)].ToString()); if (i % 5 == 0 && i != 0) { al1[j1] = new ArrayList(); for (int t = 0; t < 5; t++) { al1[j1].Add(tmpal1[t]); } tmpal1.Clear(); j1++; } } ((LandGy)gy).Range_Xzxs_1 = al1[0]; ((LandGy)gy).Range_Xzxs_2 = al1[1]; ((LandGy)gy).Range_Xzxs_3 = al1[2]; ((LandGy)gy).Range_Xzxs_4 = al1[3]; ((LandGy)gy).Range_Xzxs_5 = al1[4]; ((LandGy)gy).Range_Xzxs_6 = al1[5]; ((LandGy)gy).Range_Xzxs_7 = al1[6]; ((LandGy)gy).Range_Xzxs_8 = al1[7]; ((LandGy)gy).Range_Xzxs_9 = al1[8]; ((LandGy)gy).Range_Xzxs_10 = al1[9]; ((LandGy)gy).Range_Xzxs_11 = al1[10]; #endregion #region 修正项名称 ArrayList tmpalxz = new ArrayList(); tmpalxz.Clear(); tmpalxz.AddRange(new string[] { "1、区域因素_交通条件_道路通达度", "2、区域因素_交通条件_离港口距离", "3、区域因素_基础设施_供电保证率", "4、区域因素_基础设施_供水保证率", "5、区域因素_基础设施_排水状况", "6、区域因素_产业聚集程度","7、区域因素_城市规划状况","8、个别因素_宗地面积","9、个别因素_地形条件","10、个别因素_地质状况与地基承载力","11、个别因素_宗地形状"}.ToList<string>()); if (tmpalxz.Count != 11) throw new Exception("工业修正需要11项"); ((LandGy)gy).Range_Xz = tmpalxz; #endregion #region 修正项等级 eg:优,良... ArrayList tmpalxzsz = new ArrayList(); tmpalxzsz.Clear(); tmpalxzsz.AddRange(new string[] { "优", "较优", "一般", "较劣", "劣" }.ToList<string>()); if (tmpalxzsz.Count != 5) throw new Exception("工业修正项等级需要5项"); ((LandGy)gy).Range_Xzsz = tmpalxzsz; #endregion } } else if (li.Type == "商住") { gy = new LandSz(); if (this.landDatumValue.szszys.Count == 1) { #region 商住具体条件 ArrayList[] al = new ArrayList[23]; ArrayList tmpal = new ArrayList(); tmpal.Clear(); int j = 0; for (int i = 1; i < 116; i++) { tmpal.Add(this.landDatumValue.szszys.Rows[0][string.Format("s{0}", i + 1)].ToString()); if (i % 5 == 0 && i != 0) { al[j] = new ArrayList(); for (int t = 0; t < 5; t++) { al[j].Add(tmpal[t]); } tmpal.Clear(); j++; } } ((LandSz)gy).Range_Jttj_1 = al[0]; ((LandSz)gy).Range_Jttj_2 = al[1]; ((LandSz)gy).Range_Jttj_3 = al[2]; ((LandSz)gy).Range_Jttj_4 = al[3]; ((LandSz)gy).Range_Jttj_5 = al[4]; ((LandSz)gy).Range_Jttj_6 = al[5]; ((LandSz)gy).Range_Jttj_7 = al[6]; ((LandSz)gy).Range_Jttj_8 = al[7]; ((LandSz)gy).Range_Jttj_9 = al[8]; ((LandSz)gy).Range_Jttj_10 = al[9]; ((LandSz)gy).Range_Jttj_11 = al[10]; ((LandSz)gy).Range_Jttj_12 = al[11]; ((LandSz)gy).Range_Jttj_13 = al[12]; ((LandSz)gy).Range_Jttj_14 = al[13]; ((LandSz)gy).Range_Jttj_15 = al[14]; ((LandSz)gy).Range_Jttj_16 = al[15]; ((LandSz)gy).Range_Jttj_17 = al[16]; ((LandSz)gy).Range_Jttj_18 = al[17]; ((LandSz)gy).Range_Jttj_19 = al[18]; ((LandSz)gy).Range_Jttj_20 = al[19]; ((LandSz)gy).Range_Jttj_21 = al[20]; ((LandSz)gy).Range_Jttj_22 = al[21]; ((LandSz)gy).Range_Jttj_23 = al[22]; #endregion #region 商住具体修正系数 ArrayList[] al1 = new ArrayList[23]; ArrayList tmpal1 = new ArrayList(); tmpal1.Clear(); int j1 = 0; for (int i = 1; i < 116; i++) { tmpal1.Add(this.landDatumValue.szszxs.Rows[0][string.Format("s{0}", i + 1)].ToString()); if (i % 5 == 0 && i != 0) { al1[j1] = new ArrayList(); for (int t = 0; t < 5; t++) { al1[j1].Add(tmpal1[t]); } tmpal1.Clear(); j1++; } } ((LandSz)gy).Range_Xzxs_1 = al1[0]; ((LandSz)gy).Range_Xzxs_2 = al1[1]; ((LandSz)gy).Range_Xzxs_3 = al1[2]; ((LandSz)gy).Range_Xzxs_4 = al1[3]; ((LandSz)gy).Range_Xzxs_5 = al1[4]; ((LandSz)gy).Range_Xzxs_6 = al1[5]; ((LandSz)gy).Range_Xzxs_7 = al1[6]; ((LandSz)gy).Range_Xzxs_8 = al1[7]; ((LandSz)gy).Range_Xzxs_9 = al1[8]; ((LandSz)gy).Range_Xzxs_10 = al1[9]; ((LandSz)gy).Range_Xzxs_11 = al1[10]; ((LandSz)gy).Range_Xzxs_12 = al1[11]; ((LandSz)gy).Range_Xzxs_13 = al1[12]; ((LandSz)gy).Range_Xzxs_14 = al1[13]; ((LandSz)gy).Range_Xzxs_15 = al1[14]; ((LandSz)gy).Range_Xzxs_16 = al1[15]; ((LandSz)gy).Range_Xzxs_17 = al1[16]; ((LandSz)gy).Range_Xzxs_18 = al1[17]; ((LandSz)gy).Range_Xzxs_19 = al1[18]; ((LandSz)gy).Range_Xzxs_20 = al1[19]; ((LandSz)gy).Range_Xzxs_21 = al1[20]; ((LandSz)gy).Range_Xzxs_22 = al1[21]; ((LandSz)gy).Range_Xzxs_23 = al1[22]; #endregion #region 修正项名称 ArrayList tmpalxz = new ArrayList(); tmpalxz.Clear(); tmpalxz.AddRange(new string[] { "1、区域因素_繁华程度_商服中心距离", "2、区域因素_交通条件_道路通达度" ,"3、区域因素_基本设施状况_供电保证率","4、区域因素_基本设施状况_供水保证率","5、区域因素_基本设施状况_排水状况","6、区域因素_基本设施状况_公园距离","7、区域因素_基本设施状况_体育场馆距离", "8、区域因素_基本设施状况_中学距离","9、区域因素_基本设施状况_小学距离","10、区域因素_基本设施状况_幼儿园距离","11、区域因素_环境优劣度_治安状况","12、区域因素_环境优劣度_绿化状况","13、区域因素_环境优劣度_大气污染","14、区域因素_环境优劣度_噪声污染","15、区域因素_人口状况_人口密度","16、区域因素_城市规划_城市规划状况","17、个别因素_临街状况","18、个别因素_临街深度","19、个别因素_宽深比","20、个别因素_宗地面积","21、个别因素_宗地形状","22、个别因素_地形条件","23、个别因素_地质状况与地基承载力"}.ToList<string>()); if (tmpalxz.Count != 23) throw new Exception("商住修正需要23项"); ((LandSz)gy).Range_Xz = tmpalxz; #endregion #region 修正项等级 eg:优,良... ArrayList tmpalxzsz = new ArrayList(); tmpalxzsz.Clear(); tmpalxzsz.AddRange(new string[] { "优", "较优", "一般", "较劣", "劣" }.ToList<string>()); if (tmpalxzsz.Count != 5) throw new Exception("商住修正项等级需要5项"); ((LandSz)gy).Range_Xzsz = tmpalxzsz; #endregion } } else if (li.Type == "住宅") { gy = new LandZz(); if (this.landDatumValue.zzszys.Count == 1) { #region 住宅具体条件 ArrayList[] al = new ArrayList[19]; ArrayList tmpal = new ArrayList(); tmpal.Clear(); int j = 0; for (int i = 1; i < 96; i++) { tmpal.Add(this.landDatumValue.zzszys.Rows[0][string.Format("s{0}", i + 1)].ToString()); if (i % 5 == 0 && i != 0) { al[j] = new ArrayList(); for (int t = 0; t < 5; t++) { al[j].Add(tmpal[t]); } tmpal.Clear(); j++; } } ((LandZz)gy).Range_Jttj_1 = al[0]; ((LandZz)gy).Range_Jttj_2 = al[1]; ((LandZz)gy).Range_Jttj_3 = al[2]; ((LandZz)gy).Range_Jttj_4 = al[3]; ((LandZz)gy).Range_Jttj_5 = al[4]; ((LandZz)gy).Range_Jttj_6 = al[5]; ((LandZz)gy).Range_Jttj_7 = al[6]; ((LandZz)gy).Range_Jttj_8 = al[7]; ((LandZz)gy).Range_Jttj_9 = al[8]; ((LandZz)gy).Range_Jttj_10 = al[9]; ((LandZz)gy).Range_Jttj_11 = al[10]; ((LandZz)gy).Range_Jttj_12 = al[11]; ((LandZz)gy).Range_Jttj_13 = al[12]; ((LandZz)gy).Range_Jttj_14 = al[13]; ((LandZz)gy).Range_Jttj_15 = al[14]; ((LandZz)gy).Range_Jttj_16 = al[15]; ((LandZz)gy).Range_Jttj_17 = al[16]; ((LandZz)gy).Range_Jttj_18 = al[17]; ((LandZz)gy).Range_Jttj_19 = al[18]; #endregion #region 住宅具体修正系数 ArrayList[] al1 = new ArrayList[19]; ArrayList tmpal1 = new ArrayList(); tmpal1.Clear(); int j1 = 0; for (int i = 1; i < 96; i++) { tmpal1.Add(this.landDatumValue.zzszxs.Rows[0][string.Format("s{0}", i + 1)].ToString()); if (i % 5 == 0 && i != 0) { al1[j1] = new ArrayList(); for (int t = 0; t < 5; t++) { al1[j1].Add(tmpal1[t]); } tmpal1.Clear(); j1++; } } ((LandZz)gy).Range_Xzxs_1 = al1[0]; ((LandZz)gy).Range_Xzxs_2 = al1[1]; ((LandZz)gy).Range_Xzxs_3 = al1[2]; ((LandZz)gy).Range_Xzxs_4 = al1[3]; ((LandZz)gy).Range_Xzxs_5 = al1[4]; ((LandZz)gy).Range_Xzxs_6 = al1[5]; ((LandZz)gy).Range_Xzxs_7 = al1[6]; ((LandZz)gy).Range_Xzxs_8 = al1[7]; ((LandZz)gy).Range_Xzxs_9 = al1[8]; ((LandZz)gy).Range_Xzxs_10 = al1[9]; ((LandZz)gy).Range_Xzxs_11 = al1[10]; ((LandZz)gy).Range_Xzxs_12 = al1[11]; ((LandZz)gy).Range_Xzxs_13 = al1[12]; ((LandZz)gy).Range_Xzxs_14 = al1[13]; ((LandZz)gy).Range_Xzxs_15 = al1[14]; ((LandZz)gy).Range_Xzxs_16 = al1[15]; ((LandZz)gy).Range_Xzxs_17 = al1[16]; ((LandZz)gy).Range_Xzxs_18 = al1[17]; ((LandZz)gy).Range_Xzxs_19 = al1[18]; #endregion #region 修正项名称 ArrayList tmpalxz = new ArrayList(); tmpalxz.Clear(); tmpalxz.AddRange(new string[] { "1、区域因素_繁华程度_商服中心距离", "2、区域因素_交通条件_道路通达度", "3、区域因素_基本设施状况_供电保证率", "4、区域因素_基本设施状况_供水保证率", "5、区域因素_基本设施状况_排水状况", "6、区域因素_基本设施状况_公园距离", "7、区域因素_基本设施状况_体育场馆距离", "8、区域因素_基本设施状况_中学距离", "9、区域因素_基本设施状况_小学距离", "10、区域因素_基本设施状况_幼儿园距离", "11、区域因素_环境优劣度_治安状况", "12、区域因素_环境优劣度_绿化状况", "13、区域因素_环境优劣度_大气污染", "14、区域因素_环境优劣度_噪声污染", "15、个别因素_城市规划", "16、个别因素_宗地面积", "17、个别因素_宗地形状", "18、个别因素_地形条件", "19、个别因素_地质条件" }.ToList<string>()); if (tmpalxz.Count != 19) throw new Exception("住宅修正需要19项"); ((LandZz)gy).Range_Xz = tmpalxz; #endregion #region 修正项等级 eg:优,良... ArrayList tmpalxzsz = new ArrayList(); tmpalxzsz.Clear(); tmpalxzsz.AddRange(new string[] { "优", "较优", "一般", "较劣", "劣" }.ToList<string>()); if (tmpalxzsz.Count != 5) throw new Exception("住宅修正项等级需要5项"); ((LandZz)gy).Range_Xzsz = tmpalxzsz; #endregion } } else { } mapper.Write(gy, @"c:\tmp.xls", excelFileName); //===================== //try //{ // if (gy != null) // { // mapper.Read(gy, excelFileName); // } //} //catch (Exception ex) //{ // throw new Exception(ex.Message.ToString()); //} } this.Invoke(new invokeDelegate(UpdateUI)); } finally { //取消杀excel进程 //afterTime = DateTime.Now; //KillExcel.KillExcelProcess(beforeTime, afterTime); } //try //{ //} //catch(Exception ex) //{ // throw new Exception(ex.Message.ToString()); //} }