//constructor public static void init(MapEnum map_type, uint channel_max, uint rank_max, uint col_per_subrow, DDR3DRAM ddr3) { MemMap.map_type = map_type; MemMap.channel_max = channel_max; //bits chan_bits = (uint)Math.Log(channel_max, 2); rank_bits = (uint)Math.Log(rank_max, 2); bank_bits = (uint)Math.Log(ddr3.BANK_MAX, 2); col_bits = (uint)Math.Log(ddr3.COL_MAX, 2); if (col_per_subrow > 0) { col2_bits = (uint)Math.Log(col_per_subrow, 2); col1_bits = col_bits - col2_bits; } else { col2_bits = 0; } transfer_bits = (uint)Math.Log(64, 2); //64B transfer //mask, offset set_maskoffset(); }
private void buildButton_Click(object sender, RoutedEventArgs e) { try { String buildName = (String)buildsList.SelectedItem; int x = Int32.Parse(xField.Text); int y = Int32.Parse(yField.Text); MapEnum menum = null; MapObject mobj = null; try { menum = BuildType.VALUES.Where(type => type.getName() == buildName).First(); if (menum != null) { mobj = new Build((BuildType)menum); } } catch (Exception) { } try { menum = ReliefType.VALUES.Where(type => type.getName() == buildName).First(); if (menum != null) { mobj = new Relief((ReliefType)menum); } } catch (Exception) { } model.game.create(mobj, x, y); drawMap(); generateResources(); generateBuilds(); } catch (Exception) { } }
/// <summary> /// 坐标互转 /// </summary> /// <param name="lng">经度</param> /// <param name="lat">纬度</param> /// <param name="from">待转换的坐标类型</param> /// <param name="to">最终转换成的坐标类型</param> /// <returns></returns> public static Map ConvertAll(double lng, double lat, MapEnum from, MapEnum to) { //google 坐标转百度链接 //http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=&y= //gps坐标的type=0 //google坐标的type=2 //baidu坐标的type=4 string path = "http://api.map.baidu.com/ag/coord/convert?from=" + from.GetHashCode() + "&to=" + to.GetHashCode() + "&x=" + lng + "+&y=" + lat; //使用http请求获取转换结果、得到返回的结果 string res = HttpHelper.GET(path).ToString(); //处理结果 MapJson json = JsonHelper.JsonDeserialize <MapJson>(res); Map map = new Map(); if (json.X != null) { byte[] outputb = Convert.FromBase64String(json.X); map.X = Convert.ToDouble(Encoding.Default.GetString(outputb)); } if (json.Y != null) { byte[] outputb = Convert.FromBase64String(json.Y); map.Y = Convert.ToDouble(Encoding.Default.GetString(outputb)); } return(map); }
public void GameWin() { Time.timeScale = 0f; menuContainer.SetActive(true); menuOptions.SetActive(false); gameOverOptions.SetActive(false); gameWinOptions.SetActive(true); _musicScript.PlayVictoryMusic(); int lastMap = (int)MapEnum.Mountains; int currentMap = (int)currentMapEnum; if (currentMap < lastMap) { MapEnum nextMap = (MapEnum)(currentMap + 1); //to je jedno aka hodnota, ide iba o to aby tam bol ten kluc //potom map card v menu sa spyta ci to ten kluc obsahuje ak hej dovol zahrat danu mapu PlayerPrefs.SetInt(Enum.GetName(typeof(MapEnum), nextMap), 1); PlayerPrefs.Save(); } }
public TomeOfChaos Tome_FromYaml(IParser parser) { parser.Consume <MappingStart>(); (string k, string v) = parser.GetKVP(); if (k != "TopSeed") { throw new Exception($"Expected 'TopSeed', got '{k}'."); } var topSeed = v; var mapGenerators = new Dictionary <MapEnum, AbstractGenerator>(); var generators = new Dictionary <string, AbstractGenerator>(); string label = parser.GetScalar(); if (label != "Generators") { throw new Exception($"Expected 'Generators', got '{label}'."); } parser.Consume <MappingStart>(); while (!parser.TryConsume <MappingEnd>(out _)) { (k, v) = parser.GetKVP(); generators[k] = RngFromBase64(v); } label = parser.GetScalar(); if (label != "MapGenerators") { throw new Exception($"Expected 'MapGenerators', got '{label}'."); } parser.Consume <MappingStart>(); while (!parser.TryConsume <MappingEnd>(out _)) { (k, v) = parser.GetKVP(); MapEnum key = Enum.Parse <MapEnum>(k); mapGenerators[key] = RngFromBase64(v); } parser.Consume <MappingEnd>(); var tome = new TomeOfChaos(topSeed, generators, mapGenerators); return(tome); }
public static MainWindowDataModel Load() { if (File.Exists(DataPath)) { MainWindowDataModel model = DataSerializer.DeserializeItem(DataPath); ResourceList list = new ResourceList(); model.resources.ForEach(r => list.add(new Resource(ResourceType.VALUES.Where(type => type.getName() == r.resource).First(), r.count))); Map map = new Map(10, 10); model.map.ForEach(item => { MapEnum menum = null; MapObject mobj = null; try { menum = BuildType.VALUES.Where(type => type.getName() == item.build).First(); if (menum != null) { mobj = new Build((BuildType)menum); if (item.sleep) { mobj.sleep(); } if (item.recondition) { mobj.recondition(); } } } catch (Exception) { } try { menum = ReliefType.VALUES.Where(type => type.getName() == item.build).First(); if (menum != null) { mobj = new Relief((ReliefType)menum); } } catch (Exception) { } if (mobj != null) { map.set(mobj, item.x, item.y); } }); model.game = new Game(map, list); return(model); } return(new MainWindowDataModel()); }
//constructor public static void Init(MapEnum mapType, uint channelMax, uint rankMax, uint colPerSubrow, DDR3DRAM ddr3) { MapType = mapType; ChannelMax = channelMax; /* number of bits in index */ //channel _chanBits = (uint)Math.Log(channelMax, 2); //rank _rankBits = (uint)Math.Log(rankMax, 2); //bank _bankBits = (uint)Math.Log(ddr3.BANK_MAX, 2); if (mapType == MapEnum.ROW_BANK1_COL_BANK2_RANK_CHAN) { _bank2Bits = 3; _bank1Bits = _bankBits - 3; } //column _colBits = (uint)Math.Log(ddr3.COL_MAX, 2); if (colPerSubrow > 0) { _col2Bits = (uint)Math.Log(colPerSubrow, 2); _col1Bits = _colBits - _col2Bits; } else { _col2Bits = 0; } //row _subarrayBits = (uint)Math.Log(ddr3.SUBARRAYS_PER_BANK, 2); //transfer _transferBits = (uint)Math.Log(64, 2); //64B transfer /* bitmask and bitoffset for each index */ set_maskoffset(); }
private bool MapNameMatches(MapEnum map) { string enumName = map.ToString(); List <string> mapWords = new List <string>(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < enumName.Length; i++) { if (enumName[i] >= 'A' && enumName[i] <= 'Z') { if (sb.Length > 0) { mapWords.Add(sb.ToString()); } sb = new System.Text.StringBuilder(); sb.Append((char)(enumName[i] - 'A' + 'a')); } else { sb.Append(enumName[i]); } } if (sb.Length > 0) { mapWords.Add(sb.ToString()); } string lowercaseMapName = GameInfo.MapName.ToLower(); foreach (string mapWord in mapWords) { if (!lowercaseMapName.Contains(mapWord)) { return(false); } } return(true); }
public void OnStart(ResponseGameInfo gameInfo, ResponseData data, ResponsePing pingResponse, ResponseObservation observation, uint playerId, string opponentID) { ArchonMode = Settings.ArchonMode(); Observation = observation; GameInfo = gameInfo; foreach (MapEnum map in System.Enum.GetValues(typeof(MapEnum))) { if (MapNameMatches(map)) { System.Console.WriteLine("Setting map name to: " + map.ToString()); GameInfo.MapName = map.ToString(); Map = map; break; } } PlayerId = playerId; Data = data; if (!Settings.MapAllowed(GameInfo.MapName)) { DebugUtil.WriteLine("Tyr does not support the map " + GameInfo.MapName + ". If Tyr should accept this map as well, you can add the line 'map " + GameInfo.MapName + "' to the settings.txt file."); FileUtil.Log("Tyr does not support the map " + GameInfo.MapName + ". If Tyr should accept this map as well, you can add the line 'map " + GameInfo.MapName + "' to the settings.txt file."); System.Console.ReadLine(); throw new System.Exception("Tyr does not support the map " + GameInfo.MapName + ". If Tyr should accept this map as well, you can add the line 'map " + GameInfo.MapName + "' to the settings.txt file."); } GameVersion = pingResponse.GameVersion; OldMapData = SC2Util.IsVersionBefore("4.9.3"); DebugUtil.WriteLine("Game version: " + pingResponse.GameVersion); UnitTypes.LoadData(data); OpponentID = opponentID; MyRace = GameInfo.PlayerInfo[(int)Observation.Observation.PlayerCommon.PlayerId - 1].RaceActual; if (GameInfo.PlayerInfo[2 - (int)Observation.Observation.PlayerCommon.PlayerId].RaceActual == Race.NoRace) { EnemyRace = GameInfo.PlayerInfo[2 - (int)Observation.Observation.PlayerCommon.PlayerId].RaceRequested; } else { EnemyRace = GameInfo.PlayerInfo[2 - (int)Observation.Observation.PlayerCommon.PlayerId].RaceActual; } DebugUtil.WriteLine("MyRace: " + MyRace); DebugUtil.WriteLine("EnemyRace: " + EnemyRace); DebugUtil.WriteLine("Game started on map: " + GameInfo.MapName); FileUtil.Log("Game started on map: " + GameInfo.MapName); FileUtil.Log("Enemy race: " + EnemyRace); MapAnalyzer.Analyze(this); TargetManager.OnStart(this); BaseManager.OnStart(this); foreach (Plugin plugin in Plugins) { plugin.OnStart(); } Build = DetermineBuild(); Build.InitializeTasks(); Build.OnStart(this); FileUtil.Register("started " + EnemyRace + " " + Build.Name()); Managers.Add(UnitManager); Managers.Add(EnemyManager); Managers.Add(BaseManager); Managers.Add(TargetManager); Managers.Add(TaskManager); Managers.Add(EffectManager); Managers.Add(EnemyMineManager); Managers.Add(EnemyTankManager); Managers.Add(EnemyCycloneManager); Managers.Add(EnemyBansheesManager); if (GameInfo.PlayerInfo[(int)Observation.Observation.PlayerCommon.PlayerId - 1].RaceActual == Race.Protoss) { Managers.Add(NexusAbilityManager); } if (GameInfo.PlayerInfo[(int)Observation.Observation.PlayerCommon.PlayerId - 1].RaceActual == Race.Terran) { Managers.Add(OrbitalAbilityManager); } }
/// <summary> /// 转成百度坐标 /// </summary> /// <param name="lng">经度</param> /// <param name="lat">纬度</param> /// <param name="from">待转换的坐标类型</param> /// <returns></returns> public static Map Convert2BaiDu(double lng, double lat, MapEnum from) { return(ConvertAll(lng, lat, from, MapEnum.BAIDU)); }
public int MapRndNext(MapEnum map) => MapGenerators[map].Next();