rendered paste body#include <iostream>#include <conio.h>//#include <stdio.h>#include <stdlib.h>using namespace std;#define BALTA 2;#define JUODA 1;class lenta{ int **sp; int spalva; int kirtimai; int tikrinam(int, int); int kertam(int, int); int einam(int, int);public: lenta(); ~lenta(); void rodom(); int ejimas(); void keist_spalva() {if(spalva == 2) spalva = 1; else spalva = 2;}};lenta::lenta() { sp = new int* [8]; spalva = 1; kirtimai = 0; for(int i = 0; i < 8; i++) sp[i] = new int [8]; for(int i = 0; i < 8; i += 2){ sp[0][i] = 0; sp[0][i+1] = 1; sp[1][i] = 1; sp[1][i+1] = 0; sp[2][i] = 0; sp[2][i+1] = 1; sp[3][i] = 0; sp[3][i+1] = 0; sp[4][i] = 0; sp[4][i+1] = 0; sp[5][i] = 2; sp[5][i+1] = 0; sp[6][i] = 0; sp[6][i+1] = 2; sp[7][i] = 2; sp[7][i+1] = 0; }}void lenta::rodom() { cout << " "; for(char i = 'A'; i <= 'H'; i++) cout << i << ' '; cout << endl; cout << ' ' << char(201); for(int i = 0; i < 17; i++) cout << char(205); cout << char(187) << endl; for(int i = 0; i < 8; i++){ cout << i+1 << char(186) << ' '; for(int j = 0; j < 8; j++) { switch(sp[i][j]) { case 1 : cout << char(1); break; case 2 : cout << char(2); break; default : cout << char(177); } if(j < 7) cout << char(177); else cout << ' '; } cout << char(186); cout << endl; } cout << ' ' << char(200); for(int i = 0; i < 17; i++) cout << char(205); cout << char(188) << endl;}int lenta::ejimas() { for(int i = 0; i < 8; i++) for(int j = 0; j < 8; j++) if(sp[i][j] == spalva) if(tikrinam(i, j)) return 1; for(int i = 0; i < 8; i++) for(int j = 0; j < 8; j++) if(sp[i][j] == spalva) if(einam(i, j)) return 1; return 0;}int lenta::tikrinam(int i, int j) { if(spalva == 1) { if((i < 6) && (j < 6)) if((sp[i+1][j+1] == 2) && (sp[i+2][j+2] == 0)) { /* kirtimai++; if(tikrinam(i+2, j+2)) kirtimai++;*/ sp[i][j] = 0; sp[i+1][j+1] = 0; sp[i+2][j+2] = spalva; tikrinam(i+2, j+2); return 1; } if((i < 6) && (j > 1)) if((sp[i+1][j-1] == 2) && (sp[i+2][j-2] == 0)) { sp[i][j] = 0; sp[i+1][j-1] = 0; sp[i+2][j-2] = spalva; tikrinam(1+2, j-2); return 1; } } if(spalva == 2) { if((i > 1) && (j > 1)) if((sp[i-1][j-1] == 1) && (sp[i-2][j-2] == 0)) { sp[i][j] = 0; sp[i-1][j-1] = 0; sp[i-2][j-2] = spalva; tikrinam(i-2, j-2); return 1; } if((i > 1) && (j < 6)) if((sp[i-1][j+1] == 1) && (sp[i-2][j+2] == 0)) { sp[i][j] = 0; sp[i-1][j+1] = 0; sp[i-2][j+2] = spalva; tikrinam(i-2, j+2); return 1; } } return 0;}int lenta::einam(int i, int j) { if(spalva == 1) { if((i < 7) && (j < 7)) if(sp[i+1][j+1] == 0) { sp[i][j] = 0; sp[i+1][j+1] = spalva; return 1; } if((i < 7) && (j > 0)) if(sp[i+1][j-1] == 0) { sp[i][j] = 0; sp[i+1][j-1] = spalva; return 1; } } if(spalva == 2) { if((i > 0) && (j > 0)) if(sp[i-1][j-1] == 0) { sp[i][j] = 0; sp[i-1][j-1] = spalva; return 1; } if((i > 0) && (j < 7)) if(sp[i-1][j+1] == 0) { sp[i][j] = 0; sp[i-1][j+1] = spalva; return 1; } } return 0;}lenta::~lenta() { for(int i = 0; i < 8; i++) delete [] sp[i]; delete [] sp;}int main(){ int a, spalva; lenta s1; s1.rodom(); while((a = _getch()) != 27) if(a == 13) { if(s1.ejimas()) { s1.keist_spalva(); system("CLS"); s1.rodom(); } }}