F
Furtano
Gast
Hi,
ich programmiere Schiffe-Versenken in C++ (später grafisch mit OpenGl).
Leider bin ich in der Objektorientierung neu und weiß nicht weiter.
Wie kann ich in der Klasse Shot überprüfen ob eines der erzeugten Schiffe der Klasse Ship getroffen wurde?
Ich hatte die Idee die Schiffe als Objekt-Stack an Shot zu übergeben aber er sagt man kann kein unbegrenztes Array übergeben.
Ich muss ja irgendwie SCHON auf die ganzen erzeugten Objekte zugreifen?
shot.c
ship.h
ich programmiere Schiffe-Versenken in C++ (später grafisch mit OpenGl).
Leider bin ich in der Objektorientierung neu und weiß nicht weiter.
Wie kann ich in der Klasse Shot überprüfen ob eines der erzeugten Schiffe der Klasse Ship getroffen wurde?
Ich hatte die Idee die Schiffe als Objekt-Stack an Shot zu übergeben aber er sagt man kann kein unbegrenztes Array übergeben.
Ich muss ja irgendwie SCHON auf die ganzen erzeugten Objekte zugreifen?
shot.c
PHP:
#include "shot.h"
#include "ship.h"
Shot::Shot(){
}
// Wurde ein Schiff getroffen?
// gehe alle Schiffe durch und überprüfe ob getroffen
// Parameter Ship stack[] geht so nicht ?!?!?!
void Shot::calcIsShipHit(int x, int y, Ship allShips[]){
}
ship.h
PHP:
#ifndef SHIP_H
#define SHIP_H
class Ship {
private:
// POSITION BEGINNT AN DER LINKEN OBEREN ECKE
int positionX;
int positionY;
int canonPower;
bool isEnemy;
// 0 = Schiff liegt horizontal
// 1 = Schiff liegt vertikal
bool parking;
// An welcher Stelle wurde das Schiff getroffen ?
bool whereHit[];
public:
// Konstruktor
Ship(int length);
void draw();
void destroy();
void shoot(int x, int y);
void setPositionX(int x);
int getPositionX();
void setPositionY(int y);
int getPositionY();
void setIsEnemy(bool side);
bool getIsEnemy();
void setParking (bool parking);
bool getParking();
void setWhereHit (int position);
bool getWhereHit (int position);
};
Zuletzt bearbeitet von einem Moderator: