private void ButtonC_Click(object sender, EventArgs e) { operatorState = OperatorState.Single; numberClass.NumberValue = 0; numberClass.PreviousValue = 0; UpdateDisplay(); }
private void ButtonC_Click(object sender, EventArgs e) { operatorState = OperatorState.None; displayNumber.NumberValue = 0; previousNumber = 0; UpdateDisplay(); }
private void WrapHelper <TKey>(PartitionedStream <TResult, TKey> inputStream, IPartitionedStreamRecipient <TResult> recipient, QuerySettings settings) { int partitionCount = inputStream.PartitionCount; if (ParallelEnumerable.SinglePartitionMode) { Debug.Assert(partitionCount == 1); } // Create shared data. OperatorState <TKey> operatorState = new OperatorState <TKey>(); CountdownEvent sharedBarrier = new CountdownEvent(partitionCount); Debug.Assert(_indexedPredicate == null || typeof(TKey) == typeof(int)); Func <TResult, TKey, bool>?convertedIndexedPredicate = (Func <TResult, TKey, bool>?)(object?) _indexedPredicate; PartitionedStream <TResult, TKey> partitionedStream = new PartitionedStream <TResult, TKey>(partitionCount, inputStream.KeyComparer, OrdinalIndexState); for (int i = 0; i < partitionCount; i++) { partitionedStream[i] = new TakeOrSkipWhileQueryOperatorEnumerator <TKey>( inputStream[i], _predicate, convertedIndexedPredicate, _take, operatorState, sharedBarrier, settings.CancellationState.MergedCancellationToken, inputStream.KeyComparer); } recipient.Receive(partitionedStream); }
private void MemoryPressed(MemoryFunction memoryFunction) { operatorState = OperatorState.Single; switch (memoryFunction) { case MemoryFunction.MS: memoryClass.MemoryValue = numberClass.NumberValue; break; case MemoryFunction.MC: memoryClass.ClearMemory = 0; break; case MemoryFunction.MR: memoryClass.RevertMemory = 0; break; case MemoryFunction.Mplus: memoryClass.PlusMemory = 0; break; case MemoryFunction.Mminus: memoryClass.MinusMemory = 0; break; } label2.Text = memoryClass.MemoryValue.ToString(CultureInfo.InvariantCulture); }
public Lexer() { EmptyState = new EmptyState(this); NumberState = new NumberState(this); OperatorState = new OperatorState(this); CurrentState = EmptyState; }
public static void ChangeState <T>() where T : OperatorState { // Leave the current state if it is valid if (_state != null) { _state.OnExit(); } // Change the state _state = Activator.CreateInstance <T>(); _state.OnEnter(); }
/// <summary> /// 开始执行 /// </summary> public void Execute() { mState = OperatorState.OperatorState_Execute; try { // 执行操作 this.OnExecute(); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } }
/// <summary> /// 开始执行 /// </summary> public void Execute() { mState = OperatorState.OperatorState_Execute; try { // 执行操作 this.OnExecute(); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } }
private void ButtonDelete_Click(object sender, EventArgs e) { operatorState = OperatorState.Single; var displayLength = numberClass.StringValue.Length - 1; if (displayLength == 0) { numberClass.NumberValue = 0; } else { numberClass.StringValue = numberClass.StringValue.Substring(0, displayLength); } UpdateDisplay(); }
public ActionResult DeleteMember(string Account) { AjaxResult ar = new Globals.AjaxResult(); if (Account == string.Empty || Account == null) { ar.state = ResultType.error.ToString(); ar.message = "提交的賬號爲空"; return(Json(ar, JsonRequestBehavior.AllowGet)); } try { var member = _memberBLL.GetUserByAccount(Account); if (member == null) { ar.state = ResultType.error.ToString(); ar.message = "要刪除的賬戶不存在"; return(Json(ar, JsonRequestBehavior.AllowGet)); } OperatorState result = _memberBLL.DeleteMember(member); if (result == OperatorState.error) { ar.state = ResultType.error.ToString(); ar.message = "刪除賬號失敗"; } else if (result == OperatorState.success) { ar.state = ResultType.success.ToString(); ar.message = "刪除賬號成功"; _underlingManager.SubUnderlingList(member); } } catch (Exception ex) { LogHelper.writeLog_error(ex.Message); LogHelper.writeLog_error(ex.StackTrace); ar.state = ResultType.error; ar.message = "系統錯誤,刪除賬號失敗"; } return(Json(ar, JsonRequestBehavior.AllowGet)); }
private TKey _currentLowKey = default !; // The lowest key rejected by one of the other enumerators. //--------------------------------------------------------------------------------------- // Instantiates a new select enumerator. // internal TakeOrSkipWhileQueryOperatorEnumerator( QueryOperatorEnumerator <TResult, TKey> source, Func <TResult, bool>?predicate, Func <TResult, TKey, bool>?indexedPredicate, bool take, OperatorState <TKey> operatorState, CountdownEvent sharedBarrier, CancellationToken cancelToken, IComparer <TKey> keyComparer) { Debug.Assert(source != null); Debug.Assert(predicate != null || indexedPredicate != null); Debug.Assert(operatorState != null); Debug.Assert(sharedBarrier != null); Debug.Assert(keyComparer != null); _source = source; _predicate = predicate; _indexedPredicate = indexedPredicate; _take = take; _operatorState = operatorState; _sharedBarrier = sharedBarrier; _cancellationToken = cancelToken; _keyComparer = keyComparer; }
void Update() { if (playerScript.HP == 0) { mState = OperatorState.Quit; Debug.Log("play lose"); } else if (enemyScript.HP == 0) { mState = OperatorState.Quit; Debug.Log("play win"); } else { switch (mState) { case OperatorState.Player: if (!playerScript.isWaitPlayer) { StartCoroutine("UpdateLater"); StartCoroutine("WaitUI"); mState = OperatorState.Enemy; } break; case OperatorState.Enemy: if (enemyScript.isWaitPlayer) { playerScript.isWaitPlayer = true; StartCoroutine("WaitUI"); StartCoroutine("WaitAI"); mState = OperatorState.Player; } break; } } }
// Update is called once per frame void Update() { //如果敌我双方有一方生命值为0,则游戏结束 if (playerScript.HP == 0) { mState = OperatorState.Quit; Debug.Log("游戏失败"); } else if (enemyScript.HP == 0) { mState = OperatorState.Quit; Debug.Log("游戏胜利"); } else { switch (mState) { case OperatorState.Player: if (!playerScript.isWaitPlayer) { StartCoroutine("UpdateLater"); StartCoroutine("WaitUI"); mState = OperatorState.EnemyAI; } break; case OperatorState.EnemyAI: if (enemyScript.isWaitPlayer) { StartCoroutine("WaitAI"); playerScript.isWaitPlayer = true; mState = OperatorState.Player; mAnim.SetBool("Attack", false); mAnim.SetBool("Idle", true); } break; } } }
void Update() { switch(mState) { case OperatorState.Player: if(PlayerState==false) { GameObject.Find("Rover").SendMessage("SetRoverState"); PlayerState=true; mState=OperatorState.RoverAI; } break; case OperatorState.RoverAI: if(RoverState==false) { GameObject.Find("rock1").SendMessage("SetPlayerState"); GameObject.Find("rock2").SendMessage("SetPlayerState"); RoverState=true; mState=OperatorState.Player; } break; } }
private void NumberPressed(ButtonNumberType numberType) { string numberString = ""; switch (numberType) { case ButtonNumberType.Zero: numberString = "0"; break; case ButtonNumberType.One: numberString = "1"; break; case ButtonNumberType.Two: numberString = "2"; break; case ButtonNumberType.Three: numberString = "3"; break; case ButtonNumberType.Four: numberString = "4"; break; case ButtonNumberType.Five: numberString = "5"; break; case ButtonNumberType.Six: numberString = "6"; break; case ButtonNumberType.Seven: numberString = "7"; break; case ButtonNumberType.Eight: numberString = "8"; break; case ButtonNumberType.Nine: numberString = "9"; break; case ButtonNumberType.Dot: if (displayNumber.StringValue.Contains(",")) { return; } numberString = ","; break; default: Debug.Assert(false, "Fiks det"); break; } if (operatorState == OperatorState.Double) { previousNumber = displayNumber.NumberValue; displayNumber.StringValue = numberString; } else if (operatorState == OperatorState.Single) { displayNumber.StringValue = numberString; } else { if (displayNumber.StringValue == "0" && numberString == "0") { return; } displayNumber.StringValue += numberString; } operatorState = OperatorState.None; UpdateDisplay(); }
private void OperatorPressed(OperatorType type) { switch (type) { case OperatorType.Multiply: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; numberClass.NumberValue = CalculatorLogic.Multiplication(numberClass.NumberValue, numberClass.PreviousValue); break; case OperatorType.Minus: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; numberClass.NumberValue = CalculatorLogic.Substitution(numberClass.PreviousValue, numberClass.NumberValue); break; case OperatorType.Plus: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; numberClass.NumberValue = CalculatorLogic.Addition(numberClass.NumberValue, numberClass.PreviousValue); break; case OperatorType.Divide: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; numberClass.NumberValue = CalculatorLogic.Division(numberClass.PreviousValue, numberClass.NumberValue); break; case OperatorType.Percentage: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; numberClass.NumberValue = CalculatorLogic.Percentage(numberClass.PreviousValue, numberClass.NumberValue); break; case OperatorType.X2: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.XSquared(numberClass.NumberValue); break; case OperatorType.Half: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.XSquared(numberClass.NumberValue); break; case OperatorType.Squareroot: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.SquareRoot(numberClass.NumberValue); break; case OperatorType.PlusMinus: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.PlusMinus(numberClass.NumberValue); break; case OperatorType.Pi: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.Pi(); break; case OperatorType.Tan: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.Tan(numberClass.NumberValue); break; case OperatorType.Cos: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.Cos(numberClass.NumberValue); break; case OperatorType.Sin: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.Sin(numberClass.NumberValue); break; case OperatorType.Log: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.Log(numberClass.NumberValue); break; case OperatorType.TenSquared: operatorState = OperatorState.Single; numberClass.NumberValue = CalculatorLogic.TenSquared(numberClass.NumberValue); break; default: Debug.Assert(false, "Fiks det"); break; } numberClass.PreviousValue = numberClass.NumberValue; UpdateDisplay(); }
private void NumberPressed(ButtonNumberType numberType) { var numberString = "0"; switch (numberType) { case ButtonNumberType.Zero: numberString = "0"; break; case ButtonNumberType.One: numberString = "1"; break; case ButtonNumberType.Two: numberString = "2"; break; case ButtonNumberType.Three: numberString = "3"; break; case ButtonNumberType.Four: numberString = "4"; break; case ButtonNumberType.Five: numberString = "5"; break; case ButtonNumberType.Six: numberString = "6"; break; case ButtonNumberType.Seven: numberString = "7"; break; case ButtonNumberType.Eight: numberString = "8"; break; case ButtonNumberType.Nine: numberString = "9"; break; case ButtonNumberType.Dot: if (numberClass.StringValue == "0") { numberClass.StringValue += "0."; } if (numberClass.StringValue.Contains(".")) { return; } else { numberString = "."; } break; default: Debug.Assert(false, "Fiks det"); break; } switch (operatorState) { case OperatorState.None: if (numberClass.StringValue == "0" || Math.Abs(numberClass.NumberValue) < 0) { return; } numberClass.StringValue += numberString; break; case OperatorState.Single: numberClass.StringValue = numberString; break; case OperatorState.Double: numberClass.PreviousValue = numberClass.NumberValue; numberClass.StringValue = numberString; break; default: Debug.Assert(false, "Fiks det"); break; } operatorState = OperatorState.None; UpdateDisplay(); }
private void OperatorPressed(OperatorType type) { switch (type) { case OperatorType.Multiply: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; displayNumber.NumberValue = displayNumber.NumberValue * previousNumber; break; case OperatorType.Minus: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; displayNumber.NumberValue = previousNumber - displayNumber.NumberValue; break; case OperatorType.Plus: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; displayNumber.NumberValue = displayNumber.NumberValue + previousNumber; break; case OperatorType.Divide: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; displayNumber.NumberValue = previousNumber / displayNumber.NumberValue; break; case OperatorType.Percentage: if (operatorState == OperatorState.Double) { return; } operatorState = OperatorState.Double; displayNumber.NumberValue = previousNumber / 100 * displayNumber.NumberValue; break; case OperatorType.X2: operatorState = OperatorState.Single; displayNumber.NumberValue = displayNumber.NumberValue * displayNumber.NumberValue; break; case OperatorType.Half: operatorState = OperatorState.Single; displayNumber.NumberValue = 1 / displayNumber.NumberValue; break; case OperatorType.Squareroot: operatorState = OperatorState.Single; displayNumber.NumberValue = Math.Sqrt(displayNumber.NumberValue); break; case OperatorType.PlusMinus: operatorState = OperatorState.Single; if (displayNumber.NumberValue < 0) { displayNumber.NumberValue = displayNumber.NumberValue + displayNumber.NumberValue; } else { displayNumber.NumberValue = (displayNumber.NumberValue - displayNumber.NumberValue) - displayNumber.NumberValue; } break; default: Debug.Assert(false, "Fiks det"); break; } UpdateDisplay(); }
/// <summary> /// 结束 /// </summary> public void Finish() { // 结束 mState = OperatorState.OperatorState_Finish; this.OnFinish(); }
// Update is called once per frame void Update() { /*** * 监听到回合结束 * *从队列里获取下一个角色 * 设置回合开始 * 判定是否是用户回合 * 如果是用户回合 * 黑屏取消 * 如果是npc回合 * 设置黑屏 */ if (isRoundEnd) { playChara = this.getNextCharecter(); playChara.setActionPointrolled(true); // Debug.Log(playChara.getName() + " round this game"); isRoundEnd = false; if (playChara.isPlayer()) { if (this.roundList.Count == 0) { // Debug.Log("世界安静了。。。你是唯一的幸存者。。游戏结束"); } mState = OperatorState.Player; //解除黑屏 //解锁roll点 roundCount++; StartCoroutine("charaMove"); } else { if (playChara.isDead()) { Debug.Log(playChara.getName() + " : 死了"); isRoundEnd = true; } else { StartCoroutine("charaMove"); } } } if (!playChara.isDead()) { switch (mState) { //玩家回合 case OperatorState.Player: if (playChara.isRoundOver()) { this.setEndRound(playChara); isRoundEnd = true; mState = OperatorState.EnemyAI; // Debug.Log("wait ai move"); //开始黑屏 } break; //NPC 怪物回合 case OperatorState.EnemyAI: if (playChara.isWaitPlayer()) { // mState = OperatorState.Player; //解除黑屏 // Debug.Log("wait player Action"); } else { //开始黑屏 } if (playChara.isRoundOver()) { // Debug.Log("NPC 行动完毕了,"); this.setEndRound(playChara); isRoundEnd = true; // Debug.Log("ai done,wait next ai move"); } break; } } else { if (playChara.isPlayer()) { //game over Debug.Log("你已经死了, 不要怕这只是一个梦"); } else { Debug.Log("npc 死了"); isRoundEnd = true; } } }
/// <summary> /// 开始执行 /// </summary> public void Start() { mState = OperatorState.OperatorState_Start; this.OnStart(); }
// Update is called once per frame void Update() { /*** * 监听到回合结束 * *从队列里获取下一个角色 * 设置回合开始 * 判定是否是用户回合 * 如果是用户回合 * 黑屏取消 * 如果是npc回合 * 设置黑屏 */ if (isRoundEnd) { playChara = this.getNextCharecter(); Debug.Log(playChara.getName() + " round this game"); isRoundEnd = false; if (playChara.isPlayer()) { mState = OperatorState.Player; //解除黑屏 //解锁roll点 } else { StartCoroutine("charaMove"); } } if (!playChara.isDead()) { switch (mState) { //玩家回合 case OperatorState.Player: if (playChara.isRoundOver()) { this.setEndRound(playChara); isRoundEnd = true; mState = OperatorState.EnemyAI; Debug.Log("wait ai move"); //开始黑屏 } break; //NPC 怪物回合 case OperatorState.EnemyAI: if (playChara.isWaitPlayer()) { // mState = OperatorState.Player; //解除黑屏 Debug.Log("wait player Action"); } else { //开始黑屏 } if (playChara.isRoundOver()) { this.setEndRound(playChara); isRoundEnd = true; Debug.Log("ai done,wait next ai move"); } break; } } else { if (playChara.isPlayer()) { //game over } else { isRoundEnd = true; } } }
/// <summary> /// 开始执行 /// </summary> public void Start() { mState = OperatorState.OperatorState_Start; this.OnStart(); }
/// <summary> /// 结束 /// </summary> public void Finish() { // 结束 mState = OperatorState.OperatorState_Finish; this.OnFinish(); }
// Update is called once per frame void Update() { switch (currentState) { case OperatorState.InActivated: transform.forward = Vector3.right; if (isActivated) { currentState = OperatorState.Attacking; //ShowAttackRange(); } break; case OperatorState.Idle: break; case OperatorState.Attacking: Vector3 AttackRange = new Vector3(AttackLength, BasicLength, AttackWidth); EnemiesInRange = Physics.OverlapBox(AttackMiddlePos, AttackRange / 2, Quaternion.Euler(0, RotateYAngle, 0), WhatIsEnemy); BlockNumber = EnemiesInRange.Length; if (EnemiesInRange.Length != 0) { OperatorAni.SetBool("isAttacking", true); LeastDistance = 1000; for (int i = 0; i < EnemiesInRange.Length; i++) { float RemainDist = EnemiesInRange[i].GetComponent <EnemyController>().RemainDistance; if (RemainDist < LeastDistance) { LeastDistance = RemainDist; targetEnemy = EnemiesInRange[i]; } } } else { OperatorAni.SetBool("isAttacking", false); targetEnemy = null; } if (canAttack && targetEnemy != null) { canAttack = false; Attack(); StartCoroutine(AttackCD_Count()); } break; case OperatorState.Die: break; } }