Hier dann mal der komplette Quellcode.
So schmiert er ab:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//battleships.h
class Battleships{
public:
Battleships();
~Battleships();
void clear();
void drawEnemyField();
void drawOwnField();
void getCol();
void getRow();
void shoot();
bool runGame;
bool turn;
private:
char col;
char cols[10];
int row, i, x, y;
char fieldPlayer[10][10];
char fieldComputer[10][10];
void drawField(char player[10][10]);
};
|
|
C-/C++-Quelltext
|
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
|
//battleships.cpp
#include "battleships.h"
#include "constants.h"
#include <stdlib.h>
#include <iostream>
Battleships::Battleships(void){
runGame = true;
turn = PLAYER;
for( x = 0; x < 10; x++ ){
for( y = 0; y < 10; y++ ){
fieldPlayer[x][y] = '.';
fieldComputer[x][y] = '.';
}
}
for( i = 0; i < 10; i++ ){
cols[i] = 65+i;
}
}
Battleships::~Battleships(void){
}
void Battleships::clear(void){
system("CLS");
}
void Battleships::drawEnemyField(void){
for( y = 0; y < 10; y++ ){
for( x = 0; x < 10; x++ ){
std::cout << fieldComputer[x][y];
}
std::cout << std::endl;
}
std::cout << std::endl;
std::cout << std::endl;
}
void Battleships::drawOwnField(void){
drawField(fieldPlayer);
for( y = 0; y < 10; y++ ){
for( x = 0; x < 10; x++ ){
std::cout << fieldPlayer[x][y];
}
std::cout << std::endl;
}
std::cout << std::endl;
std::cout << std::endl;
}
void Battleships::drawField(char player[10][10]){
/* Write Col names */
for( i = 0; i < 10; i++ ){
std::cout << cols[i];
}
std::cout << std::endl;
}
void Battleships::getCol(){
std::cout << "Bitte Spalte eingeben: ";
std::cin >> col;
}
void Battleships::getRow(){
std::cout << "Bitte Reihe eingeben: ";
std::cin >> row;
}
void Battleships::shoot(){
system("PAUSE");
}
|
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//main.cpp
#include "constants.h"
#include "battleships.h"
int main(){
Battleships battleships;
while( battleships.runGame ){
battleships.clear();
battleships.drawEnemyField();
battleships.drawOwnField();
if( battleships.turn == PLAYER ){
battleships.getCol();
battleships.getRow();
battleships.shoot();
}
}
return 1;
}
|
|
C-/C++-Quelltext
|
1
2
3
|
//constants.h
const int PLAYER = 0;
const int COMPUTER = 1;
|
edit: Ich glaube ich habe gerade die Lösung gefunden. Ich habe mal ein "break" in die While-Schleife gesetzt, und jetzt scheint es zu funktionieren.
edit2: Jetzt funktioniert es auch ohne break. Das Problem scheint sich in Luft aufgelöst zu haben.