Exemplo n.º 1
0
 /// <summary>
 /// 初始化所有传送门
 /// </summary>
 /// <param name="Map">地图</param>
 public void InitializePortals(PMap Map)
 {
     foreach (PPortal Portal in Map.PortalList)
     {
         AddSubUI().InitializePortal(Portal);
     }
 }
Exemplo n.º 2
0
 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 = "";
 }
Exemplo n.º 3
0
 /// <summary>
 /// 初始化所有格子
 /// </summary>
 /// <param name="Map">地图</param>
 public void InitializeBlocks(PMap Map)
 {
     foreach (PBlock Block in Map.BlockList)
     {
         AddSubUI().InitializeBlock(Block);
     }
 }
Exemplo n.º 4
0
 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>();
         });
     }
 }) {
 }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 6
0
 public OpCode ConversionFrom(PMap from)
 {
     if (from.Size < Size && IsSigned != from.IsSigned && Other != null && !from.IsFloat)
     {
         return(Other.Code);
     }
     return(Code);
 }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
 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;
 }
Exemplo n.º 9
0
 /// <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)
         };
     });
 }
Exemplo n.º 10
0
 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;
 }
Exemplo n.º 11
0
 /// <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>();
 }
Exemplo n.º 12
0
 /// <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;
     });
 }
Exemplo n.º 13
0
        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";
                }
            }
        }
Exemplo n.º 14
0
 /// <summary>
 /// 新建一个游戏状态
 /// </summary>
 /// <param name="_Map">原型地图(新建的游戏采用其复制品)</param>
 /// <param name="_GameMode">游戏模式</param>
 public PGameStatus(PMap _Map, PMode _GameMode)
 {
     Map      = (PMap)_Map.Clone();
     GameMode = _GameMode;
 }
Exemplo n.º 15
0
 public OpCode ConversionFrom(PMap from)
 {
     return(from.IsSigned ? FromSignedCode : FromUnsignedCode);
 }
Exemplo n.º 16
0
 public BinaryData Encode(PMap value)
 {
     return(Encode(value.Data, value.PageTrailer));
 }