Exemple #1
0
 /// <summary>
 /// Evalulate this object's term; if it's not null,
 /// execute the body. Repeat.
 /// </summary>
 public override void Execute()
 {
     while (_term.Eval() != null)
     {
         _body.Execute();
     }
 }
Exemple #2
0
        /// <summary>
        /// Return null if this term's subterms evaluate to
        /// different machines.
        /// </summary>
        /// <returns>null if this term's subterms evaluate to
        /// different machines. Otherwise return the
        /// machine.</returns>
        public override Machine Eval()
        {
            Machine m1 = _term1.Eval();
            Machine m2 = _term2.Eval();
            bool    b  = m1.Equals(m2);

            return(b ? m1 : null);
        }
 /// <summary>
 /// Wykonuje zawartoœæ "else" obiektu, jeœli wartoœci¹ terminu jest
 /// null. W przeciwnym razie wykonuje zawartoœæ g³ówn¹.
 /// </summary>
 public override void Execute()
 {
     if (_term.Eval() != null)
     {
         _body.Execute();
     }
     else
     {
         _elseBody.Execute();
     }
 }
Exemple #4
0
 /// <summary>
 /// Zwraca maszynê, do której odnosi siê zmienna w dostarczonym
 /// kontekœcie.
 /// </summary>
 /// <returns>maszynê, do której odnosi siê zmienna w dostarczonym
 /// kontekœcie</returns>
 public override Machine Eval()
 {
     return(_value.Eval());
 }
        /// <summary>
        /// Okreœla maszynê wskazywan¹ przez termin i w³¹cza j¹.
        /// </summary>
        public override void Execute()
        {
            Machine m = _term.Eval();

            m.StartUp();
        }
Exemple #6
0
        /// <summary>
        /// Evaluate this object's term to a machine and shut down
        /// that machine.
        /// </summary>
        public override void Execute()
        {
            Machine m = _term.Eval();

            m.ShutDown();
        }
        /// <summary>
        /// Zwraca null jeœli termin potomny dotyczy maszyny nieposiadaj¹cej
        /// materia³u.
        /// </summary>
        /// <returns>null jeœli termin potomny dotyczy maszyny nieposiadaj¹cej
        /// materia³u. W przeciwnym razie zwraca maszynê.</returns>
        public override Machine Eval()
        {
            Machine m = _term.Eval();

            return(m.HasMaterial() ? m : null);
        }
 /// <summary>
 /// Przekszta³ca terminy na konkretne maszyny i przenosi
 /// pojemnik miêdzy odpowiednimi maszynami.
 /// </summary>
 public override void Execute()
 {
     Robot.singleton.Carry(_from.Eval(), _to.Eval());
 }