コード例 #1
0
ファイル: check_win.c プロジェクト: martigan/Alcu
void		check_win(int last_x, int last_y, t_data *powf)
{
	char	p;

	p = powf->board[last_y * powf->col + last_x];
	if (check_up(p, last_x, last_y, powf)
		|| check_left(p, last_x, last_y, powf)
		|| check_up_left(p, last_x, last_y, powf)
		|| check_up_right(p, last_x, last_y, powf))
		powf->winner = p;
	powf->nmatch = 0;
}
コード例 #2
0
ファイル: main.cpp プロジェクト: lastab/BagChal
int check_possible_movement(int j,int k)
{
    int count=0;
        if( check_up(j,k)==0)
    {
        move_loc[count][0]=j;
        move_loc[count][1]=k-1;
  //      draw_target(move_loc[count][0],move_loc[count][1]);
        count++;
    }
        if( check_down(j,k)==0)
    {
        move_loc[count][0]=j;
        move_loc[count][1]=k+1;
    //    draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
        if( check_left(j,k)==0)
    {
        move_loc[count][0]=j-1;
        move_loc[count][1]=k;
      //  draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
        if( check_right(j,k)==0)
    {
        move_loc[count][0]=j+1;
        move_loc[count][1]=k;
        //draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
    if((j+k)%2==0)
    {
        if( check_up_left(j,k)==0)
    {
        move_loc[count][0]=j-1;
        move_loc[count][1]=k-1;
//        draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
        if( check_up_right(j,k)==0)
    {
        move_loc[count][0]=j+1;
        move_loc[count][1]=k-1;
  //      draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
        if( check_down_left(j,k)==0)
    {
        move_loc[count][0]=j+1;
        move_loc[count][1]=k+1;
    //    draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
        if( check_down_right(j,k)==0)
    {
        move_loc[count][0]=j-1;
        move_loc[count][1]=k+1;
      //  draw_target(move_loc[count][0],move_loc[count][1]);        
        count++;
    }
    }   
    return count;
}    
コード例 #3
0
ファイル: main.cpp プロジェクト: lastab/BagChal
int check_movement_ok(int j,int k,int m,int n)
{
  int count=0;
    int ok=0;  
        if( check_up(j,k)==0)
    {
        move_loc[count][0]=j;
        move_loc[count][1]=k-1;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_down(j,k)==0)
    {
        move_loc[count][0]=j;
        move_loc[count][1]=k+1;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_left(j,k)==0)
    {
        move_loc[count][0]=j-1;
        move_loc[count][1]=k;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_right(j,k)==0)
    {
        move_loc[count][0]=j+1;
        move_loc[count][1]=k;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
    if((j+k)%2==0)
    {
        if( check_up_left(j,k)==0)
    {
        move_loc[count][0]=j-1;
        move_loc[count][1]=k-1;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_up_right(j,k)==0)
    {
        move_loc[count][0]=j+1;
        move_loc[count][1]=k-1;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_down_left(j,k)==0)
    {
        move_loc[count][0]=j+1;
        move_loc[count][1]=k+1;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_down_right(j,k)==0)
    {
        move_loc[count][0]=j-1;
        move_loc[count][1]=k+1;
        if(move_loc[count][0]==m && move_loc[count][1]==n)
        ok=1;
        count++;
    }
    }           

    return ok;
}
コード例 #4
0
ファイル: main.cpp プロジェクト: lastab/BagChal
int check_possible_jump_movement(int j,int k)
{
    int count=0;
    if( check_up(j,k)==2 && check_up(j,k-1)==0)
    {
        jump_loc[count][0]=j;
        jump_loc[count][1]=k-2;        
//        draw_target(jump_loc[count][0],jump_loc[count][1]);
        count++;
    }
        if( check_down(j,k)==2 && check_down(j,k+1)==0)
    {
        jump_loc[count][0]=j;
        jump_loc[count][1]=k+2;        
  //      draw_target(jump_loc[count][0],jump_loc[count][1]);        
        count++;
    }
        if( check_left(j,k)==2 && check_left(j-1,k)==0)
    {
        jump_loc[count][0]=j-2;
        jump_loc[count][1]=k;        
    //    draw_target(jump_loc[count][0],jump_loc[count][1]);        
        count++;                
    }
        if( check_right(j,k)==2 && check_right(j+1,k)==0)
    {
        jump_loc[count][0]=j+2;
        jump_loc[count][1]=k;        
      //  draw_target(jump_loc[count][0],jump_loc[count][1]);        
        count++;
    }
    if((j+k)%2==0)
    {
        if( check_up_left(j,k)==2 && check_up_left(j-1,k-1)==0)
    {
        jump_loc[count][0]=j-2;
        jump_loc[count][1]=k-2;        
        //draw_target(jump_loc[count][0],jump_loc[count][1]);        
        count++;
    }
        if( check_up_right(j,k)==2  && check_up_right(j+1,k-1)==0)
    {
        jump_loc[count][0]=j+2;
        jump_loc[count][1]=k-2;        
//        draw_target(jump_loc[count][0],jump_loc[count][1]);
        count++;
    }
        if( check_down_left(j,k)==2 && check_down_left(j+1,k+1)==0)
    {
        jump_loc[count][0]=j+2;
        jump_loc[count][1]=k+2;        
  //      draw_target(jump_loc[count][0],jump_loc[count][1]);
        count++;
    }
        if( check_down_right(j,k)==2 && check_down_right(j-1,k+1)==0)
    {
        jump_loc[count][0]=j-2;
        jump_loc[count][1]=k+2;        
    //    draw_target(jump_loc[count][0],jump_loc[count][1]);        
        count++;
    }
    }
    return count;    
}
コード例 #5
0
ファイル: main.cpp プロジェクト: lastab/BagChal
int check_jump_movement_ok(int j,int k,int m,int n)
{
  int count=0;
    int ok=0;

    if( check_up(j,k)==2 && check_up(j,k-1)==0)
    {
        jump_loc[count][0]=j;
        jump_loc[count][1]=k-2;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_down(j,k)==2 && check_down(j,k+1)==0)
    {
        jump_loc[count][0]=j;
        jump_loc[count][1]=k+2;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_left(j,k)==2 && check_left(j-1,k)==0)
    {
        jump_loc[count][0]=j-2;
        jump_loc[count][1]=k;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;        
    }
        if( check_right(j,k)==2 && check_right(j+1,k)==0)
    {
        jump_loc[count][0]=j+2;
        jump_loc[count][1]=k;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;        
    }
    if((j+k)%2==0)
    {
        if( check_up_left(j,k)==2 && check_up_left(j-1,k-1)==0)
    {
        jump_loc[count][0]=j-2;
        jump_loc[count][1]=k-2;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_up_right(j,k)==2  && check_up_right(j+1,k-1)==0)
    {
        jump_loc[count][0]=j+2;
        jump_loc[count][1]=k-2;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_down_left(j,k)==2 && check_down_left(j+1,k+1)==0)
    {
        jump_loc[count][0]=j+2;
        jump_loc[count][1]=k+2;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;
    }
        if( check_down_right(j,k)==2 && check_down_right(j-1,k+1)==0)
    {
        jump_loc[count][0]=j-2;
        jump_loc[count][1]=k+2;        
        if(jump_loc[count][0]==m && jump_loc[count][1]==n)
        ok=1;
        count++;
    }
    }                          
    return ok;
}