Exemplo n.º 1
0
    IEnumerator OppenentIn(PosState st)
    {
        yield return(new WaitForSeconds(0.5f));

        startUI.SetActive(true);
        StartCoroutine(StartGame(st));
    }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
 }
Exemplo n.º 5
0
 private void newgame()
 {
     win   = false;
     state = new PosState[7, 6];
     turn  = PosState.Player1;
     updateButtons();
 }
Exemplo n.º 6
0
    //record pos
    public void recordPosition(Vector3 pos, float time)
    {
        PosState posState = new PosState();

        posState._pos  = pos;
        posState._time = time;
        _posList.Add(posState);
    }
Exemplo n.º 7
0
 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);
 }
Exemplo n.º 8
0
    IEnumerator StartGame(PosState st)
    {
        yield return(new WaitForSeconds(1.0f));

        if (st == PosState.Black)
        {
            GameSingleton.Instance.ChangeMyTurn();
        }
    }
Exemplo n.º 9
0
        public int CountPlant()
        {
            var res = 0;

            for (int i = 0; i < PosState.Length; i++)
            {
                if (PosState.ToCharArray()[i] == '#')
                {
                    res += i + Shift;
                }
            }
            return(res);
        }
Exemplo n.º 10
0
        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;
            }
        }
Exemplo n.º 11
0
    // 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());
    }
Exemplo n.º 12
0
        //  ↙ :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);
        }
Exemplo n.º 13
0
        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);
            }
        }
Exemplo n.º 14
0
    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;

        }
    }
Exemplo n.º 15
0
        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;
        }
    }
Exemplo n.º 17
0
 public bool SetStone(PosState state, int m, int n)
 {
     pan[m, n] = state;
     return(CheckOMOK(state, m, n));
 }
Exemplo n.º 18
0
        /// <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());
        }