You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
986 B
C++
35 lines
986 B
C++
#ifndef _RULES_H
|
|
#define _RULES_H
|
|
|
|
#include <tqobject.h>
|
|
|
|
#include "vector.h"
|
|
#include "point.h"
|
|
#include "rules.h"
|
|
|
|
// Temple for rules engine plugins
|
|
class KueRulesEngine : public TQObject {
|
|
TQ_OBJECT
|
|
public:
|
|
KueRulesEngine(TQObject *parent = 0, const char *name = 0) : TQObject(parent, name) {}
|
|
virtual ~KueRulesEngine() {}
|
|
|
|
virtual void start() = 0;
|
|
|
|
signals:
|
|
// Emitting gameOver notifies the user of the result, stops the physics
|
|
// engine, and schedules us for deletion
|
|
void gameOver(const TQString &result);
|
|
void showMessage(const TQString &text);
|
|
|
|
protected slots:
|
|
// Called by physics engine when a billiard is sunk
|
|
virtual void billiardSunk(unsigned int ball, unsigned int pocket);
|
|
// Called by physics engine when a billiard is struck (by the cue ball or another billiard)
|
|
virtual void billiardHit(unsigned int ball1, unsigned int ball2);
|
|
// Called by the physics engine when all billiards have stopped moving
|
|
virtual void motionStopped();
|
|
};
|
|
|
|
#endif
|