/// <summary> /// 初始化所有传送门 /// </summary> /// <param name="Map">地图</param> public void InitializePortals(PMap Map) { foreach (PPortal Portal in Map.PortalList) { AddSubUI().InitializePortal(Portal); } }
public Form1() { InitializeComponent(); map = PMap.CreateGraphics(); string[] ports = SerialPort.GetPortNames(); cbxCom.Items.AddRange(ports); UART.ReadTimeout = 2000; //UART.DataReceived += new SerialDataReceivedEventHandler(data); UART.BaudRate = 115200; UART.Parity = Parity.None; UART.StopBits = StopBits.One; timer1.Interval = 300; timerForSentCoordinate.Interval = 400; //initial state of settings cbxLevel.Text = "Low"; cbxTime.Text = "None"; btnChay.Enabled = false; btnDung.Enabled = false; btnDung.BackColor = Color.FromArgb(33, 42, 52); btnTime.Enabled = false; btnTime.BackColor = Color.FromArgb(33, 42, 52); chbxAuto.Enabled = false; chbxMan.Enabled = false; cbxLevel.Enabled = false; cbxTime.Enabled = false; //initial state of controller btnback.Enabled = false; btnleft.Enabled = false; btnstop.Enabled = false; btnright.Enabled = false; btnstraight.Enabled = false; //initial state of panel P1.Hide(); P2.Hide(); P3.Hide(); P4.Hide(); P6.Hide(); P5.Show(); P8.Hide(); PMap.Hide(); P5.BringToFront(); picturemenu.Hide(); startX = PMap.Width / 2; startY = PMap.Height / 2; //startTmpX = PMap.Width / 2; startTmpY = PMap.Height / 2; //label1.Text = ""; }
/// <summary> /// 初始化所有格子 /// </summary> /// <param name="Map">地图</param> public void InitializeBlocks(PMap Map) { foreach (PBlock Block in Map.BlockList) { AddSubUI().InitializeBlock(Block); } }
public PStartGameOrder() : base("start_game", (string[] args, string IPAddress) => { if (!PNetworkManager.NetworkServer.Game.StartGameFlag) { if (PNetworkManager.NetworkServer.Game.Room.IsFull()) { PThread.Async(() => { PNetworkManager.NetworkServer.Game.StartGame(); }); } } }, (string[] args) => { string MapName = args[1]; int PlayerIndex = Convert.ToInt32(args[2]); PMap Map = PSystem.MapList.Find((PMap TempMap) => TempMap.Name.Equals(MapName)); if (Map != null) { PSystem.PlayerIndex = PlayerIndex; PNetworkManager.NetworkClient.GameStatus = new PGameStatus(Map, PSystem.CurrentMode); PNetworkManager.NetworkClient.GameStatus.StartGame(); PUIManager.AddNewUIAction("StartGame[Client]-初始化地图切换到MUI", () => { PUIManager.ChangeUI <PMapUI>(); }); } }) { }
public object Clone() { #region 制一个地图 PMap Copy = new PMap() { Name = Name, Length = Length, Width = Width, StartPointNumber = StartPointNumber }; #region 制格子(不包括跳转关系) foreach (PBlock Block in BlockList) { Copy.BlockList.Add(new PBlock() { Name = Block.Name, Index = Block.Index, X = Block.X, Y = Block.Y, StartPointIndex = Block.StartPointIndex, GetMoneyPassSolid = Block.GetMoneyPassSolid, GetMoneyStopSolid = Block.GetMoneyStopSolid, GetMoneyPassPercent = Block.GetMoneyPassPercent, GetMoneyStopPercent = Block.GetMoneyStopPercent, GetCardPass = Block.GetCardPass, GetCardStop = Block.GetCardStop, Price = Block.Price, CanPurchase = Block.CanPurchase, IsBusinessLand = Block.IsBusinessLand, BusinessType = Block.BusinessType, Lord = Block.Lord, HouseNumber = Block.HouseNumber }); } #endregion #region 制格子的跳转关系 foreach (PBlock Block in BlockList) { Copy.FindBlock(Block.Index).NextBlockList.AddRange(Block.NextBlockList.ConvertAll( (PBlock NextBlock) => Copy.FindBlock(NextBlock.Index))); Copy.FindBlock(Block.Index).PortalBlockList.AddRange(Block.PortalBlockList.ConvertAll( (PBlock NextBlock) => Copy.FindBlock(NextBlock.Index))); } #endregion #region 制传送门 foreach (PPortal Portal in PortalList) { Copy.PortalList.Add(new PPortal() { Index = Portal.Index, RotateAngle = Portal.RotateAngle, X = Portal.X, Y = Portal.Y }); } #endregion #endregion return(Copy); }
public OpCode ConversionFrom(PMap from) { if (from.Size < Size && IsSigned != from.IsSigned && Other != null && !from.IsFloat) { return(Other.Code); } return(Code); }
private static void RegisterPrimitive(int size, Type unsignedType, Type signedType, OpCode unsignedCode, OpCode signedCode) { var umap = new PMap(size, unsignedType, unsignedCode, false); var smap = new PMap(size, signedType, signedCode, true); umap.Other = smap; smap.Other = umap; _primitiveMappings.Add(unsignedType, umap); _primitiveMappings.Add(signedType, smap); }
public void InitializeMap(PMap Map) { Close(); PlayerGroup.InitializePlayers(); BlockGroup.InitializeBlocks(Map); PortalGroup.InitializePortals(Map); Background.position = new Vector3((Map.Width - 1.0f) * 5.0f, -0.1f, (Map.Length - 1.0f) * 5.0f); Background.localScale = new Vector3(Map.Width + 1.0f, 1.0f, Map.Length + 1.0f); Background.gameObject.GetComponent <MeshRenderer>().material.color = Config.DefaultMapBackgroundColor; HasInitialized = true; }
/// <summary> /// 建立单一服务器,用于全AI测试 /// </summary> /// <param name="GameMap">游戏地图</param> /// <param name="GameMode">游戏模式</param> public static void CreateSingleServer(PMap GameMap, PMode GameMode) { AbortClient(); CurrentHostType = PHostType.Server; PThread.Async(() => { _NetworkServer = new PServer() { maxConnectionNumber = GameMode.PlayerNumber, Game = new PGame(GameMap, GameMode) }; }); }
private void btnHistory_Click(object sender, EventArgs e) { P1.Hide(); P2.Hide(); P3.Hide(); P4.Hide(); P5.Hide(); PMap.Hide(); P7.Show(); P7.BringToFront(); lbltab.Text = "Report Page"; btnConnecting.BackColor = Color.FromArgb(41, 39, 40); btnConnecting.ForeColor = Color.DimGray; btnSetting.BackColor = Color.FromArgb(41, 39, 40); btnSetting.ForeColor = Color.DimGray; btnController.BackColor = Color.FromArgb(41, 39, 40); btnController.ForeColor = Color.DimGray; btnStatus.BackColor = Color.FromArgb(41, 39, 40); btnStatus.ForeColor = Color.DimGray; btnHome.BackColor = Color.FromArgb(41, 39, 40); btnHome.ForeColor = Color.DimGray; btnHistory.BackColor = Color.FromArgb(41, 39, 70); btnHistory.ForeColor = Color.Aquamarine; btnMap.BackColor = Color.FromArgb(41, 39, 40); btnMap.ForeColor = Color.DimGray; }
/// <summary> /// 新建一个游戏 /// </summary> /// <param name="_Map">原型地图(新建的游戏采用其复制品)</param> /// <param name="_GameMode">游戏模式</param> public PGame(PMap _Map, PMode _GameMode) : base(_Map, _GameMode) { Room = new PRoom(GameMode); PLogger.Log("新建游戏,模式:" + GameMode.Name); this._Map = _Map; GameMode.Open(this); Logic = new PGameLogic(this); Monitor = new PMonitor(this); TagManager = new PTagManager(); CardManager = new PCardManager(this); GameMode.Install(this); StartGameFlag = false; EndGameFlag = false; ReadyToStartGameFlag = true; PreparedList = new List <bool>(); }
/// <summary> /// 建立服务器,同时建立和它连接的客户端 /// </summary> /// <param name="GameMap">游戏地图</param> /// <param name="GameMode">游戏模式</param> public static void CreateServer(PMap GameMap, PMode GameMode) { AbortClient(); CurrentHostType = PHostType.Server; PThread.Async(() => { _NetworkServer = new PServer() { maxConnectionNumber = GameMode.PlayerNumber, Game = new PGame(GameMap, GameMode) }; Thread.Sleep(PNetworkConfig.ListenerInterval); try { _NetworkClient = new PClient(new TcpClient(PNetworkConfig.IP.ToString(), PNetworkConfig.ServerPort)); } catch (Exception e) { PLogger.Log("服务器客户端创建错误"); PLogger.Log(PNetworkConfig.IP.ToString()); PLogger.Log(e.ToString()); } CurrentNickname = PNetworkConfig.DefaultNickname; }); }
private async void Map_Loaded(object sender, RoutedEventArgs e) { errormessage.Text = ""; string apiKey = ""; //Create an HTTP client object HttpClient httpClient1 = new HttpClient(); Uri requestUri1 = new Uri("https://funcappformail.azurewebsites.net/api/GPSGetKey?code=DP9x6xuw5LrZ09paLdpRkaIXSu2Ad4sjX3nJL6C1WauW5UikOW7W1g=="); HttpStringContent stringContent = new HttpStringContent( "{ \"key\": \"key\"}", UnicodeEncoding.Utf8, "application/json"); try { HttpResponseMessage getResponse = await httpClient1.PostAsync(requestUri1, stringContent); if ((int)getResponse.StatusCode != 200) { errormessage.Text = getResponse.StatusCode.ToString(); } else { apiKey = await getResponse.Content.ReadAsStringAsync(); apiKey = apiKey.Remove(0, 1); apiKey = apiKey.Remove(apiKey.Length - 1, 1); } } catch (Exception ex) { if (ex.HResult.ToString("X") == "80072EE7") { errormessage.Text = "Error: " + ex.HResult.ToString("X") + " Message: check your internet connection"; } else { errormessage.Text = "Error: " + ex.HResult.ToString("X") + " Message: " + ex.Message; } } /////////////////////////////////////////////////////////////////////////// System.Diagnostics.Debug.Write("line 120 " + Globals._email); if (PMap.IsEnabled) { //PMap.Style = MapStyle; PMap.Style = MapStyle.Terrain; PMap.MapServiceToken = apiKey; System.Diagnostics.Debug.Write("line 132 " + Globals._email); HttpClient httpClient = new HttpClient(); Uri requestUri = new Uri("https://firsthellojunk.azurewebsites.net/api/FetchPatient?code=LBn9ZSPhn7U5ZsKYaC4ICiP5KX6v/tcpxj855db4Vh6p8lsR2FAHUA==&email=" + Globals._email + "&password=nopw"); try { HttpResponseMessage response = await httpClient.GetAsync(requestUri); if ((int)response.StatusCode != 200) { System.Diagnostics.Debug.Write("line 136 " + Globals._email); errormessage.Text = "patient info unavailable"; } else { var textResponse = await response.Content.ReadAsStringAsync(); var settings = textResponse.Trim('"').Split(','); var readsLatitude = settings[8].Split(' '); var readsLatitudeString = readsLatitude[readsLatitude.Length - 1]; var readsLongtitude = settings[9].Split(' '); var readsLongtitudeString = readsLongtitude[readsLongtitude.Length - 1]; System.Diagnostics.Debug.Write("line 148 " + readsLongtitudeString); BasicGeoposition location = new BasicGeoposition(); location.Latitude = double.Parse(readsLatitudeString, System.Globalization.CultureInfo.InvariantCulture); location.Longitude = double.Parse(readsLongtitudeString, System.Globalization.CultureInfo.InvariantCulture); Geopoint pointOfPosition = new Geopoint(location); MapLocationFinderResult result = await MapLocationFinder.FindLocationsAtAsync(pointOfPosition); if (result.Status == MapLocationFinderStatus.Success && result.Locations.Count > 0) { //create POI MapIcon myPOI = new MapIcon { Location = pointOfPosition, Title = "Patient's Location", NormalizedAnchorPoint = new Point(1.5, 1.0), ZIndex = 0 }; // Display an image of a MapIcon myPOI.Image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/pin.png")); // add to map and center it PMap.MapElements.Add(myPOI); PMap.Center = pointOfPosition; PMap.ZoomLevel = 10; MapScene mapScene = MapScene.CreateFromLocationAndRadius(new Geopoint(location), 500, 150, 70); await PMap.TrySetSceneAsync(mapScene); } else { errormessage.Text = "Not Found"; } } } catch (Exception ex) { errormessage.Text = "Location not found"; } } }
/// <summary> /// 新建一个游戏状态 /// </summary> /// <param name="_Map">原型地图(新建的游戏采用其复制品)</param> /// <param name="_GameMode">游戏模式</param> public PGameStatus(PMap _Map, PMode _GameMode) { Map = (PMap)_Map.Clone(); GameMode = _GameMode; }
public OpCode ConversionFrom(PMap from) { return(from.IsSigned ? FromSignedCode : FromUnsignedCode); }
public BinaryData Encode(PMap value) { return(Encode(value.Data, value.PageTrailer)); }