what would the classes be

hey, i have some code here and im wondering what the classes are in it. Also what would the attributes and operations for each class be?
This is not my code but i will post it here
Thanks
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
#include<iostream>

using namespace std;

void display();

bool check(int a, int b);

int drop(int b, char player);

char place[6][7];//available for whole program

 

int main(){

    for(int a =0;a <= 5; a++){       //fill with whitespace

        for(int b = 0; b<=6; b++)    //

            place[a][b] = ' ';      //

    }                               //

    display();//Displays the board

    int hold;//Will house user row choice

    int hold2 = 0;//will hold drop value

    int charsPlaced = 0;//Number of peices dropped so can end game if a draw

    bool gamewon = false;//Will be changed to true when game is won and will exit while loop

    char player = 15;//start as player 2 will change back 2 player 1

    while(!gamewon){//will stop when game is won, ! means NOT makes the oppisite be checked

        if(hold2 != -1){//check if there was a error in the last drop

            if(player == 15){//if player 2 lasted dropped a piece so its player 1s turn

                cout<<"player 1 drop where?";

                player = 254;//char of players piece

            }

            else{

                cout<<"player 2 drop where?";

                player = 15;//char of player piece

            }

        }

        while(true){//will run untill 'break;'

            if(charsPlaced == 42) break;//if draw

            cin>>hold;//get user input

            hold--;//take off 1 to account for arrays starting at 0 not 1

            if(hold <=6 && hold>= 0) break;//if within valid range stop loop

            else cout<< "\nplease enter a value between 1 and 7 :";//ask for input and loop again

            if (cin.fail()) //catch a non number

            {                       //

                cin.clear();        //Stops cin trying to put its value in to hold

                char c;         //Try entering a non number without this, 2 see what this does

                cin>>c;           //

            }                       //Catch a non number

 

        }

        if(charsPlaced == 42) break;//if draw

        hold2 = drop(hold,player);//drop the player store the row in hold2

        if(hold2 == -1) cout<<"Derek says - Column is full\nPlease enter anothor number between 1 and 7:";//if error -1 row is full

        else{

            gamewon = check(hold2,hold);//check if game is won

            charsPlaced ++;//another character has been succesfully placed

            system("cls");//This clears the screen 
            display();//displayed updated board

        }

    }

    system("cls");//this clears the screen

    if(charsPlaced == 42){//if draw

        cout<<"Derek says - No winner, Game was draw\n";

        system("pause");

        return 0;

    }

    if(player == 15)//if won by player 2

        cout<<"Derek says - Gamewon by : player 2\n";

    else cout<<"Derek says - gamewon by : player 1\n";//Else won by player 1

    system("pause");//pauses before exit so players can see who won, works with windows

    return 0;//Exit application

}

void display(){

	int choice;

    cout<<"Press Q to Quit " << endl;
	cout<<"Press Nto start a New Game"<<endl;
	cout<<'\n'<<endl;
	

	cout<<" 1   2   3   4   5   6   7\n";

    for(int a = 0; a<= 5; a++)

    {

        for(int b =0; b <= 6; b++) cout<<char(218)<<char(196)<<char(191)<<" ";

        cout<<'\n';

        for(int b =0; b <= 6; b++) cout<<char(179)<<place[a][b]<<char(179)<<" ";

        cout<<'\n';

        for(int b =0; b <= 6; b++) cout<<char(192)<<char(196)<<char(217)<<" ";

        cout<<'\n';

    }

}

bool check(int a, int b){

    int vertical = 1;//(|)

    int horizontal = 1;//(-)

    int diagonal1 = 1;//(\)

    int diagonal2 = 1;//(/)

    char player = place[a][b];

    int i;//vertical

    int ii;//horizontal

    //check for vertical(|)

    for(i = a +1;place[i][b] == player && i <= 5;i++,vertical++);//Check down

    for(i = a -1;place[i][b] == player && i >= 0;i--,vertical++);//Check up

    if(vertical >= 4)return true;

    //check for horizontal(-)

    for(ii = b -1;place[a][ii] == player && ii >= 0;ii--,horizontal++);//Check left

    for(ii = b +1;place[a][ii] == player && ii <= 6;ii++,horizontal++);//Check right

    if(horizontal >= 4) return true;

    //check for diagonal 1 (\)

    for(i = a -1, ii= b -1;place[i][ii] == player && i>=0 && ii >=0; diagonal1 ++, i --, ii --);//up and left

    for(i = a +1, ii = b+1;place[i][ii] == player && i<=5 && ii <=6;diagonal1 ++, i ++, ii ++);//down and right

    if(diagonal1 >= 4) return true;

    //check for diagonal 2(/)

    for(i = a -1, ii= b +1;place[i][ii] == player && i>=0 && ii <= 6; diagonal2 ++, i --, ii ++);//up and right

    for(i = a +1, ii= b -1;place[i][ii] == player && i<=5 && ii >=0; diagonal2 ++, i ++, ii --);//up and left

    if(diagonal2 >= 4) return true;

    return false;

}

int drop(int b, char player){

    if(b >=0 && b<= 6)

    {

        if(place[0][b] == ' '){

            int i;

            for(i = 0;place[i][b] == ' ';i++)

                if(i == 5){place[i][b] = player;

            return i;}

            i--;

            place[i][b] =player;

            return i;

 

        }

        else{

            return -1;

        }

 

    }

    else{

        return -1;

    }

 

}

Last edited on
There aren't any classes in it.
ah, dam is there anyone willing to do a little work on it to do it with maybe a class or two?
Put the lines:

class x {};

and

class y{} ;

somewhere in the program. Voila.
Its a program full of functions but no classes! :)
noone to do some work on this to recreate it with a working game class and class for the board and user?
That's your job?
The timing of this makes it look awfully suspicious.
how does timing come into it? it doesn't need a ticker.
Topic archived. No new replies allowed.