Quick actions

cmd+k|ctrl+k

Navigation

Languages

item 5 (ana)

Snippet info

Language

C

Visibility

public

Author

trabalhoapc

Created

2019-07-03T22:58:18Z

Updated

2019-07-05T12:31:56Z

#include<stdio.h>
void atirar(int mat[10][10], int linha, int coluna)
{
    if(mat[linha][coluna]==-1||mat[linha][coluna]==0)
        mat[linha][coluna]=-2;

    if(mat[linha][coluna]==1)
        mat[linha][coluna]=10;

    if(mat[linha][coluna]==2)
        mat[linha][coluna]=20;

    if(mat[linha][coluna]==3)
        mat[linha][coluna]=30;

}
int calculaPontuacao(int mat[10][10], int linha, int coluna){

    if(mat[linha][coluna] == 10){
        mat[linha][coluna] = 50;
        return 2;
    }

    if(linha <= 9 && coluna < 9 && mat[linha][coluna] == 20 && mat[linha][coluna + 1] == 20)
    {
        mat[linha][coluna] = 50;
        mat[linha][coluna + 1] = 50;
        return 4;
    }

    if(linha < 9 && coluna <= 9 && mat[linha][coluna] == 20 && mat[linha + 1][coluna] == 20)
    {
        mat[linha][coluna] = 50;
        mat[linha + 1][coluna] = 50;
        return 4;
    }

    if(linha > 0 && coluna <= 9 && mat[linha][coluna] == 20 && mat[linha - 1][coluna] == 20)
    {
        mat[linha][coluna] = 50;
        mat[linha - 1][coluna] = 50;
        return 4;
    }

    if(linha >= 0 && coluna > 0 && mat[linha][coluna] == 20 && mat[linha][coluna - 1] == 20)
    {
        mat[linha][coluna] = 50;
        mat[linha][coluna - 1] = 50;
        return 4;
    }

    if(mat[linha][coluna] == 30 && mat[linha][coluna+1] == 30 && mat[linha][coluna + 2]==30 && coluna >= 7)
    {
        mat[linha][coluna] = 50;
        mat[linha][coluna+1] = 50;
        mat[linha][coluna+2] = 50;
        return 7;
    }

    if(mat[linha][coluna] == 30 && linha <= 7 && mat[linha + 1][coluna] == 30 && mat[linha + 2][coluna] == 30)
    {
        mat[linha][coluna]=50;
        mat[linha+1][coluna]=50;
        mat[linha+2][coluna]=50;
        return 7;
    }

    if(mat[linha][coluna] == 30 && (coluna < 9 || coluna > 0) && mat[linha][coluna+1]==30 && mat[linha][coluna-1]==30)
    {
        mat[linha][coluna]=50;
        mat[linha][coluna+1]=50;
        mat[linha][coluna-1]=50;
        return 7;
    }

    if(mat[linha][coluna] == 30 && (linha < 9 || linha > 0) && mat[linha+1][coluna]==30 && mat[linha-1][coluna]==30)
    {
        mat[linha][coluna]=50;
        mat[linha+1][coluna]=50;
        mat[linha-1][coluna]=50;
        return 7;
    }

    if((coluna <= 9 || coluna >= 0) && mat[linha][coluna-1]==30 && mat[linha][coluna-2]==30 && mat[linha][coluna]==30)
    {
        mat[linha][coluna]=50;
        mat[linha][coluna-1]=50;
        mat[linha][coluna-2]=50;
        return 7;
    }

    if((linha <= 9 || linha >= 0) && mat[linha-1][coluna]==30 && mat[linha-2][coluna]==30 && mat[linha][coluna] == 30)
    {
        mat[linha][coluna]=50;
        mat[linha-1][coluna]=50;
        mat[linha-2][coluna]=50;
        return 7;
    }

    return 0;
    }

int main(){
    int mat[10][10];
    int i, j, linha, coluna;
    for(i=0; i<10; i++){
        for(j=0; j<10; j++){
          scanf("%d", &mat[i][j]);
        }
    }
  linha=0;
  coluna =2;

    atirar(mat, linha, coluna);

    int p=calculaPontuacao(mat, linha, coluna);
    printf("%d\n", p);

    for(linha = 0; linha <10; linha++)
    {
        for(coluna = 0; coluna < 10; coluna++)
            printf("%d ", mat[linha][coluna]);
            
        printf("\n");
    }

    return 0;
}
INFO