Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //declare sum
- //player 0 is down, 1 is left, 2 is up, 3 if right
- //make extra checks for bottom line and far right column
- //cut the following code from line 94
- /*
- else{
- metab=possible[i-1][j];
- possible[i-1][j]=possible[i][j];
- possible[i][j]=metab;
- i=i+1;
- }
- */
- int path*;
- int posflag=1;
- path=(int*)malloc(players*sizeof(int));
- for(i=0;i<players;i++){
- path[i]=sumi*sumj;
- }
- do{
- for(i=0;i<sumi;i++){
- for(j=0;j<sumj;j++){
- possible[i][j]=array[i][j];
- }
- }
- do{
- sum=0;
- i=pcoord[turn][0];
- j=pcoord[turn][1];
- if(turn==0){
- do{
- if(possible[i-1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i-2][j]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i-1][i+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i-1][j]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab
- i=i-1;
- }
- }
- else if(possible[i][j-1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j-2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j-1]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab;
- j=j-1;
- }
- }
- else if(possible[i][j+1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j+2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j+1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j+1]='X';
- sum--;
- }
- else{
- metab=possible[i][j+1];
- possible[i][j+1]=possible[i][j];
- possible[i][j]=metab;
- j=j+1;
- }
- }
- else if(possible[i+1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i+2][j]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i+1][j]='X';
- sum--;
- }
- else{
- metab=possible[i+1][j];
- possible[i+1][j]=possible[i][j];
- possible[i][j]=metab;
- i=i+1;//change to corresponding i
- }
- }
- else{
- posflag=0;
- }
- }while((j!=2) && (posflag!=0));//this is for the player who begins down and goes up, the condition needs to be changed, likely using pcoord
- path[0]=sum;
- turn++;
- }
- else if(turn == 1){
- do{
- if(possible[i][j+1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j+2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j+1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j+1]='X';
- sum--;
- }
- else{
- metab=possible[i][j+1];
- possible[i][j+1]=possible[i][j];
- possible[i][j]=metab;
- j=j+1;
- }
- }
- else if(possible[i-1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i-2][j]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i-1][i+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i-1][j]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab
- i=i-1;
- }
- }
- else if(possible[i+1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i+2][j]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i+1][j]='X';
- sum--;
- }
- else{
- metab=possible[i+1][j];
- possible[i+1][j]=possible[i][j];
- possible[i][j]=metab;
- i=i+1;//change to corresponding i
- }
- }
- else if(possible[i][j-1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j-2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j-1]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab;
- j=j-1;
- }
- }
- else{
- posflag=0;
- }
- }while ((i!=sumi-1) && (posflag!=0));
- turn++;
- }
- else if(turn == 2){
- do{
- if(possible[i+1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i+2][j]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i+1][j]='X';
- sum--;
- }
- else{
- metab=possible[i+1][j];
- possible[i+1][j]=possible[i][j];
- possible[i][j]=metab;
- i=i+1;//change to corresponding i
- }
- }
- else if(possible[i-1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i-2][j]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i-1][i+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i-1][j]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab
- i=i-1;
- }
- }
- else if(possible[i][j-1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j-2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j-1]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab;
- j=j-1;
- }
- }
- else if(possible[i][j+1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j+2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j+1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j+1]='X';
- sum--;
- }
- else{
- metab=possible[i][j+1];
- possible[i][j+1]=possible[i][j];
- possible[i][j]=metab;
- j=j+1;
- }
- }
- else{
- posflag=0;
- }
- }while((j!=sumj-1) && (posflag!=0));
- turn++;
- }
- else if(turn == 3){
- do{
- if(possible[i][j-1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j-2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j-1]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab;
- j=j-1;
- }
- }
- else if(possible[i][j+1]=='.'){
- sum++;
- obcounter=0;
- if(possible[i][j+2]!='.'){
- obcounter++;
- }
- if(possible[i-1][j+1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i][j+1]='X';
- sum--;
- }
- else{
- metab=possible[i][j+1];
- possible[i][j+1]=possible[i][j];
- possible[i][j]=metab;
- j=j+1;
- }
- }
- else if(possible[i-1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i-2][j]!='.'){
- obcounter++;
- }
- if(possible[i-1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i-1][i+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i-1][j]='X';
- sum--;
- }
- else{
- metab=possible[i][j-1];
- possible[i][j-1]=possible[i][j];
- possible[i][j]=metab
- i=i-1;
- }
- }
- else if(possible[i+1][j]=='.'){
- sum++;
- obcounter=0;
- if(possible[i+2][j]!='.'){
- obcounter++;
- }
- if(possible[i+1][j-1]!='.'){
- obcounter++;
- }
- if(possible[i+1][j+1]!='.'){
- obcounter++;
- }
- if(obcounter==3){
- possible[i+1][j]='X';
- sum--;
- }
- else{
- metab=possible[i+1][j];
- possible[i+1][j]=possible[i][j];
- possible[i][j]=metab;
- i=i+1;//change to corresponding i
- }
- }
- else{
- posflag=0;
- }
- }while((i!=3) && (posflag!=0));
- turn=0;
- }
- }while(turn!=4);//maybe different condition
- //repeat for turns 1, 2, and 3
- }while(turn!=4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement