1 /*************************************************************************** 2 pipequeue.h - description 3 ------------------- 4 begin : Sat Sep 30 2000 5 copyright : (C) 2000 by Waldemar Baraldi 6 email : baraldi@lacasilla.com.ar 7 ***************************************************************************/ 8 9 /*************************************************************************** 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 ***************************************************************************/ 17 18 #ifndef PIPE_QUEUE_H 19 #define PIPE_QUEUE_H 20 21 #include "animatedcanvas.h" 22 #include "pipe.h" 23 #include "videomanager.h" 24 25 class PipeQueue : public AnimatedCanvas{ 26 27 public: 28 29 static const int MaxPipes=3; 30 31 PipeQueue(); 32 ~PipeQueue(); 33 34 int width(); 35 36 int height(); 37 38 /** Retorna el Pipe que se encuentra en la cabeza 39 de la cola y lo quita agregando luego uno por la cola.*/ 40 Pipe * getHead(); 41 42 /** Retorna el pipe en la posicion.*/ 43 Pipe * getPipe(int pos); 44 45 /** Asigna una probabilidad entre 1..100 de agregar restricciones 46 de direccion.*/ 47 void setRestrictionCoef(unsigned int coef); 48 49 /** Asigna una probabilidad entre 1..100 de agregar pipes fijos.*/ 50 void setFixedCoef(unsigned int coef); 51 52 bool isChanged(); 53 54 /** paint heredado.*/ 55 void paint(VideoManager * vm); 56 tick()57 void tick(){}; 58 59 protected: 60 61 void fillUp(); 62 63 Pipe * queue[MaxPipes]; 64 int index; 65 bool change; 66 unsigned int res_coef; 67 unsigned int fixed_coef; 68 bool filled; 69 70 Pipe * generatePipe(); 71 72 }; 73 74 #endif 75 76