Professional Documents
Culture Documents
hpp>
#include <iostream>
#include "utilityBox.h"
#include "save.h"
#include <fstream>
using namespace sf;
using namespace std;
int spritepositions[64]={
0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,
64,64,64,64,64,64,64,64,
64,64,64,64,64,64,64,64,
64,64,64,64,64,64,64,64,
64,64,64,64,64,64,64,64,
48,49,50,51,52,53,54,55,
56,57,58,59,60,61,62,63};
int board[64]={
-1,-2,-3,-4,-5,-3,-2,-1,
-6,-6,-6,-6,-6,-6,-6,-6,
0, 0, 0, 0,0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
6, 6, 6, 6, 6, 6, 6, 6,
1, 2, 3, 4, 5, 3, 2, 1};
class ChessBoard{
private:
const float WIDTH = 650;
const float HEIGTH = 650;
public:
void loadtextures(Texture texture[64]);
void loadboard(Texture texture[64],RectangleShape rectangle[64],Sprite
sprite[64]);
void MainFunctions(int u);
};
cap++;
}
}
}
for (int j = 0; j < 64; ++j){
if(turn%2!=0 and board[j]>0){
if (rectangle[j].getGlobalBounds().contains(pos.x,pos.y))
{
n=j;
firstpos=rectangle[j].getPosition();
v=spritepositions[j];
rectangle[n].setFillColor(sf::Color::Red);
if(spritepositions[n]!=64)
cap++;
}
}
}
}
if(cap!=0)
if (sf::Mouse::isButtonPressed(sf::Mouse::Left)){
for (int j = 0; j < 64; ++j){
//cout<<box.identifier(n,j,board[j],board)<<"=identity"<<endl;
if (rectangle[j].getGlobalBounds().contains(pos.x,pos.y)){
//if(n==8 and j==16 and board[n]==-6){
isMove=box.identifier(n,j,board[n],board);//<<"=identity"<<endl;
secondpos=rectangle[j].getPosition();
int spritepos=spritepositions[n];
//cout<<"shaheer"<<endl;
if(isMove){
turn++;
cc=q[j]=spritepositions[j];
if(j!=n){
sprite[spritepos].setPosition(secondpos);
sprite[cc].setPosition(100000000,100000000);
int suppos=spritepositions[j];
spritepositions[j]=spritepositions[n];
spritepositions[n]=64;
if(board[j]==-5 || board[j]==5){
save s;
window.close();
if(s.smain()){
ofstream out,out2;
out.open("spritepositions.txt");
out2.open("boardpositions.txt");
for(int i=0;i<64;i++){
out<<spritepositions[i]<<",";
out2<<board[i]<<",";
}
out.close();
out2.close();}
}
if(j<=63 and j>=56 and board[n]==-6){
board[j]=-4;
}
else if(j>=0 and j<=7 and board[n]==6){
board[j]=4;
}
else{
board[j]=board[n];
board[n]=0;}
n=j;}
}
int counter=0;
for (int i = 0; i < 8; ++i){
for (int j = 0; j < 8; ++j){
if((i+j) % 2 == 0)
rectangle[counter].setFillColor(sf::Color::White);
else
rectangle[counter].setFillColor(sf::Color::Blue);
counter++;
}
}
cap=0;
}
}
}
window.clear();
for (int j = 0; j < 64; ++j)
window.draw(rectangle[j]);
for (int j = 0; j < 65; j++){
if(q[j]==64)
window.draw(sprite[j]);
}
window.display();
}
}