Tableau d objet, creation dobjet commetn faire dans ce cas :

Tableau d objet, creation dobjet commetn faire dans ce cas : - C++ - Programmation

Marsh Posté le 15-09-2003 à 13:35:19    

j ai creer un petit jeux genre pong
 
voila ma class "ball"
 

Code :
  1. #ifndef SPACEOID_BALL_H
  2. #define SPACEOID_BALL_H
  3. #include "SPACEOID_SHIP.h"
  4. #include "GEOMETRY_DOS_POINT.h" //use a poitn to keep the direction  
  5. #include <string>
  6. using namespace std;
  7. class ball
  8. {
  9.     public :
  10.    
  11.     enum DIRECTION {left,right,up, down,none};
  12.    
  13.     ball(int x, int y, string c, int color,int lr ,int up);
  14.     //constructor,the ball is represented by a string
  15.    
  16.     ball(string c, int color);
  17.     //default constructor (position of theball : 0,0) direction: down , right
  18.    
  19.     void draw();
  20.     //draw the ball
  21.    
  22.     void change_color(int color);
  23.     //assign a new color to the ball
  24.    
  25.     void change_design(string design);
  26.     //assign a new desing to the ball
  27.    
  28.     void move();
  29.     //move the ball
  30.    
  31.     void erase();
  32.     //erase the ball
  33.    
  34.     void set_xcoord(const int xcoord);
  35.     //assign an xcoordinate the ball position
  36.    
  37.     void set_ycoord(const int ycoord);
  38.     //assign an ycoordinate the ball position
  39.    
  40.     int get_xcoord();
  41.     //return x
  42.    
  43.     int get_ycoord();
  44.     //return y
  45.    
  46.     void bounce(ship myship, int xmax, int xmin, int ymax, int ymin);
  47.     //bounce the ball with an angle of 45 degree (more simple)
  48.    
  49.     point ball_direction();
  50.     //return the ball direction
  51.    
  52.     private :
  53.    
  54.     int ball_color;
  55.     string ball_design;
  56.     int ball_xcoord;
  57.     int ball_ycoord;
  58.    
  59.     //direction
  60.     point movement; //( lr, up) = (x,y)
  61. };
  62. #endif


 
depuis le main j aimerai creer un tableau d objet ball
genre ball ball_array[3];
masi sa marche pas.
\
si par exemple, je voulais qu  a chaque fois que le joueur appuis T une nouvelle ball soit creer, comment faire ?
 
 :hello:

Reply

Marsh Posté le 15-09-2003 à 13:35:19   

Reply

Marsh Posté le 15-09-2003 à 14:01:17    

tiens ball* ball_Array[2]; marche
 :)

Reply

Marsh Posté le 15-09-2003 à 14:03:58    

Un truc du genre
 

Code :
  1. ball** tabBall = new ball*[3];
  2. tabBall[i] = new ball(........);
  3. delete tabBall[i];
  4. delete tabBall;


Reply

Marsh Posté le 15-09-2003 à 14:04:52    

xiluoc a écrit :

tiens ball* ball_Array[2]; marche
 :)  


 
Ben si tu regardais enfin lisait l'erreur que te sort ton compilo, tu comprendrait pkoi certainement (comem pas de constructeur trouve ou du genre)

Reply

Marsh Posté le 15-09-2003 à 14:11:05    

VisualC++ a écrit :


 
Ben si tu regardais enfin lisait l'erreur que te sort ton compilo, tu comprendrait pkoi certainement (comem pas de constructeur trouve ou du genre)


thks, c est al premiere fois que j utilise un tableau d objet  :D  

Reply

Marsh Posté le 15-09-2003 à 14:18:16    

VisualC++ a écrit :

Un truc du genre
 

Code :
  1. ball** tabBall = new ball*[3];
  2. tabBall[i] = new ball(........);
  3. delete tabBall[i];
  4. delete tabBall;


 


et si je veus utiliser la fonction draw
tabBall[i].draw();
ne marche pas, il veus un pointeur a la place  :cry:  

Reply

Marsh Posté le 15-09-2003 à 14:23:25    

xiluoc a écrit :


et si je veus utiliser la fonction draw
tabBall[i].draw();
ne marche pas, il veus un pointeur a la place  :cry:  
 


 
tain mais t'es vraiment un manche toi !
 
tabBall[i]->draw();
 
T'arrives meme pas a comprendre le code que t'ecris ??
 
 

Reply

Marsh Posté le 15-09-2003 à 14:49:45    

Il suffit de fournir a ta classe un constructeur PAR DEFAUT pour permettre l'initialisation d'un tableau statique. C'est quand même la base  :fou:  
 

Code :
  1. class ball
  2. {
  3.   // ....
  4.   ball() {};
  5. };

Reply

Marsh Posté le 15-09-2003 à 14:51:35    


 
t completement a la bourre, entre temps il est arrivé a d'autre aspects complexe et pointus du C++

Reply

Marsh Posté le 15-09-2003 à 14:52:15    

chrisbk a écrit :


 
tain mais t'es vraiment un manche toi !
 
tabBall[i]->draw();
 
T'arrives meme pas a comprendre le code que t'ecris ??
 
 
 


arf  
-> = *.
finalement j ai opter pour un vecteur de <ball>
 :whistle:

Reply

Marsh Posté le 15-09-2003 à 14:52:15   

Reply

Marsh Posté le 15-09-2003 à 14:55:41    

xiluoc a écrit :


arf  
-> = *.
finalement j ai opter pour un vecteur de <ball>
 :whistle:  


Code :
  1. void coulix()
  2. {
  3. balls.break();
  4. }

Reply

Marsh Posté le 15-09-2003 à 14:58:36    

chrisbk a écrit :


Code :
  1. void coulix()
  2. {
  3. balls.break();
  4. }




 
lol
[:alarmclock119]  

Reply

Marsh Posté le 15-09-2003 à 15:29:04    

Pour telecharger lexe:
 
coulix.serveftp.com
hfr
hfr
 
j en voie deja geuler au fond, ou i mesieur c est du mode text  :lol:  
promis pendant les vacances je met a allegro.

Reply

Marsh Posté le 15-09-2003 à 15:33:58    

chrisbk a écrit :


 
t completement a la bourre, entre temps il est arrivé a d'autre aspects complexe et pointus du C++
 


 
C ironique ou  :heink:  ?

Reply

Marsh Posté le 15-09-2003 à 15:36:42    

Joel F a écrit :


 
C ironique ou  :heink:  ?


 
juste legerement ironique

Reply

Marsh Posté le 15-09-2003 à 15:38:52    

:pt1cable:  tu m'as fait peur sur le coup

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed