示例#1
0
 /**
  * This method process the command given by the user and call the right action to be applied.
  * @param Array $command 
  * @param string $canvas_string 
  * @return string
  */
 public function process_command()
 {
     //Obj to handle messages
     $messages = new messages();
     if ($this->values_ok) {
         switch (strtoupper($this->command_array[0])) {
             //Create a Canvas
             case 'C':
                 if (count($this->command_array) == 3) {
                     $command = $this->command_array;
                     $this->canvas = new canvas($command[1], $command[2]);
                     $messages->set_message('general-ok-0');
                 } else {
                     $messages->set_message('general-error-0');
                     $messages->is_reload();
                 }
                 break;
                 //Print a Line
             //Print a Line
             case 'L':
                 if (!$this->canvas->get_canvas_state()) {
                     $messages->set_message('line-error-1');
                 } elseif (count($this->command_array) == 5) {
                     $command = $this->command_array;
                     $this->canvas->draw_line(array($command[1], $command[2]), array($command[3], $command[4]), $messages);
                     $messages->set_message('general-ok-0');
                 } else {
                     $messages->set_message('general-error-0');
                 }
                 break;
                 //Print a Rectangle
             //Print a Rectangle
             case 'R':
                 if (!$this->canvas->get_canvas_state()) {
                     $messages->set_message('rec-error-0');
                 } elseif (count($this->command_array) == 5) {
                     $command = $this->command_array;
                     $this->canvas->draw_rectangle(array($command[1], $command[2]), array($command[3], $command[4]));
                     $messages->set_message('general-ok-0');
                 } else {
                     $messages->set_message('general-error-0');
                 }
                 break;
                 //Bucket fill action
             //Bucket fill action
             case 'B':
                 if (!$this->canvas->get_canvas_state()) {
                     $messages->set_message('line-error-1');
                 } elseif (count($this->command_array) == 4) {
                     $command = $this->command_array;
                     $this->canvas->bucket_fill(array($command[1], $command[2]), $command[3]);
                     $messages->set_message('general-ok-0');
                 } else {
                     $messages->set_message('general-error-0');
                 }
                 break;
                 //Restart the app
             //Restart the app
             case 'Q':
                 $messages->set_message('general-ok-0');
                 $messages->is_reload();
                 break;
             default:
                 break;
         }
     } else {
         return false;
     }
     return $this->canvas->get_canvas_string($messages) . '<br/>' . $messages->get_current_message();
 }