IEnumerator OppenentIn(PosState st) { yield return(new WaitForSeconds(0.5f)); startUI.SetActive(true); StartCoroutine(StartGame(st)); }
bool CheckVer(PosState state, int m, int n) { int omok = 1; //check up for (int i = m - 1; i >= 0; i--) { if (pan[i, n] == state) { omok++; } else { break; } } //check down for (int i = m + 1; i < 15; i++) { if (pan[i, n] == state) { omok++; } else { break; } } if (omok == 5) { return(true); } return(false); }
bool CheckHor(PosState state, int m, int n) { int omok = 1; //check left for (int i = n - 1; i >= 0; i--) { if (pan[m, i] == state) { omok++; } else { break; } } //check right for (int i = n + 1; i < 15; i++) { if (pan[m, i] == state) { omok++; } else { break; } } if (omok == 5) { return(true); } return(false); }
public OilPuddleDescriptor(Vector2 pos, float length, float width, PosState state = PosState.Transitional) { Position = pos; State = state; Length = length; Width = width; }
private void newgame() { win = false; state = new PosState[7, 6]; turn = PosState.Player1; updateButtons(); }
//record pos public void recordPosition(Vector3 pos, float time) { PosState posState = new PosState(); posState._pos = pos; posState._time = time; _posList.Add(posState); }
private bool CheckOMOK(PosState state, int m, int n) { if (CheckVer(state, m, n) || CheckHor(state, m, n) || CheckDiagonal1(state, m, n) || CheckDiagonal2(state, m, n)) { return(true); } return(false); }
IEnumerator StartGame(PosState st) { yield return(new WaitForSeconds(1.0f)); if (st == PosState.Black) { GameSingleton.Instance.ChangeMyTurn(); } }
public int CountPlant() { var res = 0; for (int i = 0; i < PosState.Length; i++) { if (PosState.ToCharArray()[i] == '#') { res += i + Shift; } } return(res); }
void Drop_click(object sender, EventArgs e) { if (win) { return; } int x = Convert.ToInt32(((Button)sender).Name); for (int y = 5; y >= 0; y--) { if (state[x, y] == PosState.Neutral) { if (turn == PosState.Player1) { state[x, y] = PosState.Player1; turn = PosState.Player2; } else if (turn == PosState.Player2) { state[x, y] = PosState.Player2; turn = PosState.Player1; } updateButtons(); break; } } switch (checkwin()) { case PosState.Neutral: break; case PosState.Player1: //MessageBox.Show("Player 1 wins!"); win = true; break; case PosState.Player2: //MessageBox.Show("Player 2 wins!"); win = true; break; } }
// Use this for initialization void Start() { for (int i = 0; i < 14; i++) { // long_temp +=0.00056; //가로 , 경도 for (int j = 0; j < 5; j++) { _posstate[i, j] = new PosState(); //배열 하나 하나 초기화가 되지 않았기 때에 다시 한번 초기화 lat_temp -= 0.00045; //세로 , 위도 _posstate[i, j]._lat = 37.205484 - (0.00056 * (j + 1)); _posstate[i, j]._long = 127.350302 + (0.00045 * (i + 1)); _posstate[i, j].monster_num = UnityEngine.Random.Range(0, 7); //몬스터의 범위 } long_temp = 127.350302; lat_temp = 37.205484; } StartCoroutine(ResetPos()); }
// ↙ :this direction bool CheckDiagonal2(PosState state, int m, int n) { int omok = 1; //check top right int j = n + 1; for (int i = m - 1; i >= 0 && j < 15; i--) { if (pan[i, j] == state) { omok++; j++; } else { break; } } //check bottom left j = n - 1; for (int i = m + 1; i < 15 && j >= 0; i++) { if (pan[i, j] == state) { omok++; j--; } else { break; } } if (omok == 5) { return(true); } return(false); }
protected override void OnOpen() { lock (users) { int cnt = users.Count; for (int i = 0; i < cnt; i++) { if (users[i].oppenent == null) { users[i].oppenent = this; oppenent = users[i]; //make stage stage = new OmokState(); stage.ResetPan(); oppenent.stage = stage; //setState oppenent.myState = PosState.Black; myState = PosState.White; //setting start_op Start start = new Start(); start.state = oppenent.myState; string str = JsonConvert.SerializeObject(start); oppenent.Send(str); //setting start_this start.state = myState; str = JsonConvert.SerializeObject(start); Send(str); break; } } users.Add(this); } }
public void SetPositionState() { NumberOfConnectedSides = 0; NumberOfNullSides = 0; // Set the N and C; Use the number of "C" Connect side and "N" Null sides to determine the Peg State for(int s = 0; s < 6; s++) { if(side[s] == 'C') { NumberOfConnectedSides++; } if(side[s] == 'N') { NumberOfNullSides++; } } // Us switch(NumberOfConnectedSides) { case 0: posState = PosState.IsoPeg; break; case 1: if(side[0] == 'N' && side[3] == 'C') { posState = PosState.EndPeg; }else if(side[1] == 'N' && side[4] == 'C') { posState = PosState.EndPeg; }else if(side[2] == 'N' && side[5] == 'C') { posState = PosState.EndPeg; }else if(side[0] == 'C' && side[3] == 'N') { posState = PosState.EndPeg; }else if(side[1] == 'C' && side[4] == 'N') { posState = PosState.EndPeg; }else if(side[2] == 'C' && side[5] == 'N') { posState = PosState.EndPeg; }else { posState = PosState.ReadyPeg; } break; case 2: if(NumberOfNullSides < 3) { if(side[0] == 'C' && side[3] == 'C') { posState = PosState.AlignPeg; }else if(side[1] == 'C' && side[4] == 'C') { posState = PosState.AlignPeg; }else if(side[2] == 'C' && side[5] == 'C') { posState = PosState.AlignPeg; }else { posState = PosState.ReadyPeg; } }else { if((side[0] == 'C' && side[2] == 'C') || (side[0] == 'C' && side[4] == 'C') ) { posState = PosState.TurnPeg; }else if((side[1] == 'C' && side[3] == 'C') || (side[1] == 'C' && side[5] == 'C')) { posState = PosState.TurnPeg; }else { posState = PosState.ReadyPeg; } } break; default: posState = PosState.ReadyPeg; break; } }
protected override void OnMessage(MessageEventArgs e) //유저로부터 메시지를 받은 경우 { lock (users) { Code code = JsonConvert.DeserializeObject <Code>(e.Data); switch (code.code) { case 2: //play Play play = JsonConvert.DeserializeObject <Play>(e.Data); if (!stage.SetStone(myState, play.m, play.n)) { oppenent.Send(e.Data); } else { End end = new End(); end.winner = myState; end.m = play.m; end.n = play.n; string str = JsonConvert.SerializeObject(end); Send(str); oppenent.Send(str); } break; case 5: //replay replay = true; if (oppenent.replay == true) { stage.ResetPan(); //setState PosState save = myState; myState = oppenent.myState; oppenent.myState = save; //setting start_op Start start = new Start(); start.state = oppenent.myState; string str = JsonConvert.SerializeObject(start); oppenent.Send(str); //setting start_this start.state = myState; str = JsonConvert.SerializeObject(start); Send(str); replay = false; oppenent.replay = false; } break; case 7: //giveup { GiveUp giveUp = new GiveUp(); giveUp.winner = oppenent.myState; string str = JsonConvert.SerializeObject(giveUp); Send(str); oppenent.Send(str); break; } } } }
//初始化数据 //distance 物体移动距离,当为0的时候,移动的是屏幕的外面,否则移动确定的距离 public static void MoveComponet(bool ison, GameObject objNeedMove, Toggle controlBtn, DoTweenMoveDirection direction, float duration = 1, float distance = 0, Action fcHide = null, Action fcShow = null) { Vector3 objLocalPosition = objNeedMove.transform.localPosition; //需要移动物体的位置 if (!poseDit.ContainsKey(objNeedMove)) //判断是否字典已经保存该物体各方向的移动状态 { PosState directionState; directionState = new PosState(objLocalPosition.x, objLocalPosition.y);////移动方式为移动固定距离 poseDit.Add(objNeedMove, directionState); } PosState dirState = poseDit[objNeedMove];//获取物体各方向移动状态 RectTransform rectTransform = objNeedMove.transform.GetComponent <RectTransform>(); float w = rectTransform.rect.width; //控件宽度 float h = rectTransform.rect.height; //控件高度 float x1 = objNeedMove.transform.localPosition.x; //物体当前坐标X轴离中心点的偏移量 float y1 = objNeedMove.transform.localPosition.y; //物体当前坐标Y轴离中心点的偏移量 float x2 = Screen.width / 2 + w / 2; //屏幕宽度+物体宽度 float y2 = Screen.height / 2 + h / 2; //屏幕高度+物体高度 //以中心点为(0,0) 一四象限坐标为正,二三象限坐标为负 switch (direction) { case DoTweenMoveDirection.Up: if (0 == distance) { distance = y2 - y1; //物体在指定方向上需要移动的距离 } Vector3 vuHide = new Vector3(objLocalPosition.x, objLocalPosition.y + distance, objLocalPosition.z); Vector3 vuShow = new Vector3(objLocalPosition.x, dirState.YOriginal, objLocalPosition.z); ShowOrHideObj(objNeedMove, controlBtn, ison, vuHide, vuShow, duration, fcHide, fcShow); break; case DoTweenMoveDirection.Down: if (0 == distance) { distance = -y2 - y1; } else { distance = -distance; } Vector3 vdHide = new Vector3(objLocalPosition.x, objLocalPosition.y + distance, objLocalPosition.z); Vector3 vdShow = new Vector3(objLocalPosition.x, dirState.YOriginal, objLocalPosition.z); ShowOrHideObj(objNeedMove, controlBtn, ison, vdHide, vdShow, duration, fcHide, fcShow); break; case DoTweenMoveDirection.Left: if (0 == distance) { distance = -x2 - x1; } else { distance = -distance; } Vector3 vlHide = new Vector3(objLocalPosition.x + distance, objLocalPosition.y, objLocalPosition.z); Vector3 vlShow = new Vector3(dirState.XOriginal, objLocalPosition.y, objLocalPosition.z); ShowOrHideObj(objNeedMove, controlBtn, ison, vlHide, vlShow, duration, fcHide, fcShow); break; case DoTweenMoveDirection.Right: if (0 == distance) { distance = x2 - x1; } Vector3 vrHide = new Vector3(objLocalPosition.x + distance, objLocalPosition.y, objLocalPosition.z); Vector3 vrShow = new Vector3(dirState.XOriginal, objLocalPosition.y, objLocalPosition.z); ShowOrHideObj(objNeedMove, controlBtn, ison, vrHide, vrShow, duration, fcHide, fcShow); break; } }
public bool SetStone(PosState state, int m, int n) { pan[m, n] = state; return(CheckOMOK(state, m, n)); }
/// <summary> /// Returns the string presentation of the object /// </summary> /// <returns>String presentation of the object</returns> public override string ToString() { var sb = new System.Text.StringBuilder(); sb.Append("class PositionResponse {\n"); sb.Append(" Account: ").Append(Account.ToString()).Append("\n"); sb.Append(" Symbol: ").Append(Symbol.ToString()).Append("\n"); sb.Append(" Currency: ").Append(Currency.ToString()).Append("\n"); sb.Append(" Underlying: ").Append(Underlying.ToString()).Append("\n"); sb.Append(" QuoteCurrency: ").Append(QuoteCurrency.ToString()).Append("\n"); sb.Append(" Commission: ").Append(Commission.ToString()).Append("\n"); sb.Append(" InitMarginReq: ").Append(InitMarginReq.ToString()).Append("\n"); sb.Append(" MaintMarginReq: ").Append(MaintMarginReq.ToString()).Append("\n"); sb.Append(" RiskLimit: ").Append(RiskLimit.ToString()).Append("\n"); sb.Append(" Leverage: ").Append(Leverage.ToString()).Append("\n"); sb.Append(" CrossMargin: ").Append(CrossMargin.ToString()).Append("\n"); //sb.Append(" DeleveragePercentile: ").Append(DeleveragePercentile.ToString()).Append("\n"); sb.Append(" RebalancedPnl: ").Append(RebalancedPnl.ToString()).Append("\n"); sb.Append(" PrevRealisedPnl: ").Append(PrevRealisedPnl.ToString()).Append("\n"); sb.Append(" PrevUnrealisedPnl: ").Append(PrevUnrealisedPnl.ToString()).Append("\n"); sb.Append(" PrevClosePrice: ").Append(PrevClosePrice.ToString()).Append("\n"); sb.Append(" OpeningTimestamp: ").Append(OpeningTimestamp.ToString()).Append("\n"); sb.Append(" OpeningQty: ").Append(OpeningQty.ToString()).Append("\n"); sb.Append(" OpeningCost: ").Append(OpeningCost.ToString()).Append("\n"); sb.Append(" OpeningComm: ").Append(OpeningComm.ToString()).Append("\n"); sb.Append(" OpenOrderBuyQty: ").Append(OpenOrderBuyQty.ToString()).Append("\n"); sb.Append(" OpenOrderBuyCost: ").Append(OpenOrderBuyCost.ToString()).Append("\n"); sb.Append(" OpenOrderBuyPremium: ").Append(OpenOrderBuyPremium.ToString()).Append("\n"); sb.Append(" OpenOrderSellQty: ").Append(OpenOrderSellQty.ToString()).Append("\n"); sb.Append(" OpenOrderSellCost: ").Append(OpenOrderSellCost.ToString()).Append("\n"); sb.Append(" OpenOrderSellPremium: ").Append(OpenOrderSellPremium.ToString()).Append("\n"); sb.Append(" ExecBuyQty: ").Append(ExecBuyQty.ToString()).Append("\n"); sb.Append(" ExecBuyCost: ").Append(ExecBuyCost.ToString()).Append("\n"); sb.Append(" ExecSellQty: ").Append(ExecSellQty.ToString()).Append("\n"); sb.Append(" ExecSellCost: ").Append(ExecSellCost.ToString()).Append("\n"); sb.Append(" ExecQty: ").Append(ExecQty.ToString()).Append("\n"); sb.Append(" ExecCost: ").Append(ExecCost.ToString()).Append("\n"); sb.Append(" ExecComm: ").Append(ExecComm.ToString()).Append("\n"); sb.Append(" CurrentTimestamp: ").Append(CurrentTimestamp.ToString()).Append("\n"); sb.Append(" CurrentQty: ").Append(CurrentQty.ToString()).Append("\n"); sb.Append(" CurrentCost: ").Append(CurrentCost.ToString()).Append("\n"); sb.Append(" CurrentComm: ").Append(CurrentComm.ToString()).Append("\n"); sb.Append(" RealisedCost: ").Append(RealisedCost.ToString()).Append("\n"); sb.Append(" UnrealisedCost: ").Append(UnrealisedCost.ToString()).Append("\n"); sb.Append(" GrossOpenCost: ").Append(GrossOpenCost.ToString()).Append("\n"); sb.Append(" GrossOpenPremium: ").Append(GrossOpenPremium.ToString()).Append("\n"); sb.Append(" GrossExecCost: ").Append(GrossExecCost.ToString()).Append("\n"); sb.Append(" IsOpen: ").Append(IsOpen.ToString()).Append("\n"); sb.Append(" MarkPrice: ").Append(MarkPrice.ToString()).Append("\n"); sb.Append(" MarkValue: ").Append(MarkValue.ToString()).Append("\n"); sb.Append(" RiskValue: ").Append(RiskValue.ToString()).Append("\n"); sb.Append(" HomeNotional: ").Append(HomeNotional.ToString()).Append("\n"); sb.Append(" ForeignNotional: ").Append(ForeignNotional.ToString()).Append("\n"); sb.Append(" PosState: ").Append(PosState.ToString()).Append("\n"); sb.Append(" PosCost: ").Append(PosCost.ToString()).Append("\n"); sb.Append(" PosCost2: ").Append(PosCost2.ToString()).Append("\n"); sb.Append(" PosCross: ").Append(PosCross.ToString()).Append("\n"); sb.Append(" PosInit: ").Append(PosInit.ToString()).Append("\n"); sb.Append(" PosComm: ").Append(PosComm.ToString()).Append("\n"); sb.Append(" PosLoss: ").Append(PosLoss.ToString()).Append("\n"); sb.Append(" PosMargin: ").Append(PosMargin.ToString()).Append("\n"); sb.Append(" PosMaint: ").Append(PosMaint.ToString()).Append("\n"); sb.Append(" PosAllowance: ").Append(PosAllowance.ToString()).Append("\n"); sb.Append(" TaxableMargin: ").Append(TaxableMargin.ToString()).Append("\n"); sb.Append(" InitMargin: ").Append(InitMargin.ToString()).Append("\n"); sb.Append(" MaintMargin: ").Append(MaintMargin.ToString()).Append("\n"); sb.Append(" SessionMargin: ").Append(SessionMargin.ToString()).Append("\n"); sb.Append(" TargetExcessMargin: ").Append(TargetExcessMargin.ToString()).Append("\n"); sb.Append(" VarMargin: ").Append(VarMargin.ToString()).Append("\n"); sb.Append(" RealisedGrossPnl: ").Append(RealisedGrossPnl.ToString()).Append("\n"); sb.Append(" RealisedTax: ").Append(RealisedTax.ToString()).Append("\n"); sb.Append(" RealisedPnl: ").Append(RealisedPnl.ToString()).Append("\n"); sb.Append(" UnrealisedGrossPnl: ").Append(UnrealisedGrossPnl.ToString()).Append("\n"); sb.Append(" LongBankrupt: ").Append(LongBankrupt.ToString()).Append("\n"); sb.Append(" ShortBankrupt: ").Append(ShortBankrupt.ToString()).Append("\n"); sb.Append(" TaxBase: ").Append(TaxBase.ToString()).Append("\n"); sb.Append(" IndicativeTaxRate: ").Append(IndicativeTaxRate.ToString()).Append("\n"); sb.Append(" IndicativeTax: ").Append(IndicativeTax.ToString()).Append("\n"); sb.Append(" UnrealisedTax: ").Append(UnrealisedTax.ToString()).Append("\n"); sb.Append(" UnrealisedPnl: ").Append(UnrealisedPnl.ToString()).Append("\n"); sb.Append(" UnrealisedPnlPcnt: ").Append(UnrealisedPnlPcnt.ToString()).Append("\n"); sb.Append(" UnrealisedRoePcnt: ").Append(UnrealisedRoePcnt.ToString()).Append("\n"); //sb.Append(" SimpleQty: ").Append(SimpleQty.ToString()).Append("\n"); //sb.Append(" SimpleCost: ").Append(SimpleCost.ToString()).Append("\n"); //sb.Append(" SimpleValue: ").Append(SimpleValue.ToString()).Append("\n"); //sb.Append(" SimplePnl: ").Append(SimplePnl.ToString()).Append("\n"); //sb.Append(" SimplePnlPcnt: ").Append(SimplePnlPcnt.ToString()).Append("\n"); //sb.Append(" AvgCostPrice: ").Append(AvgCostPrice.ToString()).Append("\n"); //sb.Append(" AvgEntryPrice: ").Append(AvgEntryPrice.ToString()).Append("\n"); //sb.Append(" BreakEvenPrice: ").Append(BreakEvenPrice.ToString()).Append("\n"); //sb.Append(" MarginCallPrice: ").Append(MarginCallPrice.ToString()).Append("\n"); //sb.Append(" LiquidationPrice: ").Append(LiquidationPrice.ToString()).Append("\n"); //sb.Append(" BankruptPrice: ").Append(BankruptPrice.ToString()).Append("\n"); sb.Append(" Timestamp: ").Append(Timestamp.ToString()).Append("\n"); sb.Append(" LastPrice: ").Append(LastPrice.ToString()).Append("\n"); sb.Append(" LastValue: ").Append(LastValue.ToString()).Append("\n"); sb.Append("}\n"); return(sb.ToString()); }