summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/automate/action.h
blob: 6cc37f69f2f0e784bd4b30f755f51da3e4b28fca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#ifndef action_h
#define action_h
// action.h
// buzz - Programme du robot Efrei Robotique I1-I2 2003
// Copyright (C) 2003 Nicolas Schodet

#include <string>

namespace Automate
{
    class Action
    {
      public:
	// Destructeur.
	virtual ~Action ();
	// Utilis�e une fois, lors de l'activation de l'action.
	virtual void start (void);
	// Execute l'action. Renvoie true si termin�e.
	virtual bool run (void);
	// Utilis�e une fois, lors de la d�sactivation de l'action.
	virtual void stop (void);
    };

    class ActionPrint : public Action
    {
	string m_s;
      public:
	// Constructeur.
	ActionPrint (string &s) : m_s (s) { }
	// Destructeur.
	~ActionPrint ();
	// Utilis�e une fois, lors de l'activation de l'action.
	void start (void);
    };

    class ActionMotorGoDistance : public Action
    {
	int m_d, m_a;
    public:
	ActionMotorGoDistance (int d, int a = -1) { m_d = d; m_a = a; }
	void start (void);
    };
    
    class ActionMotorTurnAngle : public Action
    {
	int m_d, m_a;
    public:
	ActionMotorTurnAngle (int d, int a = -1) { m_d = d; m_a = a; }
	void start (void);
    };

    class ActionServo : public Action
    {
	int m_pos;
    public:
	ActionServo (int pos) { m_pos = pos; }
	void start (void);
    };

    class ActionIa : public Action
    {
	int m_num;
    public:
	ActionIa (int num) { m_num = num; }
	void start (void);
    };

    class ActionIaVar : public Action
    {
	int m_num, m_var;
    public:
	ActionIaVar (int var, int num) { m_var = var; m_num = num; }
	void start (void);
    };
    
    class ActionInitialisation : public Action
    {
    	public:
	  // Constructeur
	  ActionInitialisation (void);
	  // Destructeur
	  ~ActionInitialisation () ;
	  void start (void);
    };

    class ActionRepererCouleur : public Action
    {
    	int m_capteur;
    	public:
	    // Constructeur
	    ActionRepererCouleur (int);
	    // Destructeur
	    ~ActionRepererCouleur () ;
	    void start (void);
    };

}

#endif // action_h