Szachy pion - konik
Kod był wyświetlany 1715 razy.
    /*
  Name: Dwie figury koń i pionek
  Copyright: GPL GNU
  Author: Michał Kula
  Date: 11-11-10 20:06
  Description: 
Na 64-polowej szachownicy znajdują się dwie figury - koń i pionek, proszę znaleźć ich położenie 
(podać współrzędne obu figur) oraz podać, czy są one ustawione na jednej linii - poziomej lub pionowej,
a także sprawdzić, czy koń może zbić pionka. Szachownicę można przedstawić jako tablicę o rozmiarach 8x8,
puste pola będą zawierały 0, koń będzie oznaczony jako 3, pionek jako 1. Tablica z ustawieniem jest
wprowadzana do algorytmu, ustawienie jest generowane losowo (jest nam nieznane). Napisz program realizujący
ten problem. Wynik - odpowiedź na powyższe pytania oraz tablica przedstawiająca ustawienie figur.
*/
#include<iostream>
#include<iomanip>
#include<windows.h>
using namespace std;


int main()
{
   HANDLE konsola = GetStdHandle(STD_OUTPUT_HANDLE);
   int tab[8][9];
   char tab1[8]={'A','B','C','D','E','F','G','H'};
   int i,j,x=3,y=1,a=0,b=0,c=0,d=0,e=0,f=0;
   srand(time(NULL));
   for(i=0;i<8;i++)
   for(j=0;j<9;j++)
   tab[i][j]=0;
   j=9;
   
   for(i=0;i<8;i++)
   {
        j=j-1;
        tab[i][8]=j;
   }
   a=rand()%8;
   b=rand()%8;
   tab[a][b]=x;
   e=a;
   do
   {
        d=rand()%8;
        c=rand()%8;
   }
   while(d==b&&c==a);
   tab[c][d]=y;
   f=c;
   for(i=0;i<8;i++)
   {
        for(j=0;j<9;j++)
        {
            
            if(j==8)
            SetConsoleTextAttribute (konsola,11); 
            else
            SetConsoleTextAttribute (konsola,15); 
            if(j!=8)    
            {
                if(tab[i][j]==3||tab[i][j]==1)
                SetConsoleTextAttribute (konsola,10);
                else
                {    
                    if(j%2==1&&i%2==0)
                    SetConsoleTextAttribute (konsola,8);
                    
                    if(j%2==0&&i%2==1)
                    SetConsoleTextAttribute (konsola,8);
                    
                }
            }
            cout<<setw(2)<<tab[i][j];
        }
        cout<<endl;
   }
   for(i=0;i<8;i++)
   cout<<setw(2)<<tab1[i];
   cout<<endl<<endl;
   SetConsoleTextAttribute (konsola,15); 
   if(c==a)
   cout<<"Kon i pionek sa ustawione w lini poziomej";
   if(d==b)
   cout<<"Kon i pionek sa ustawione w lini pionowej";
   cout<<endl;
   switch(a)
   {
   case 0: a=8;break; 
   case 1: a=7;break;
   case 2: a=6;break;
   case 3: a=5;break;
   case 4: a=4;break;
   case 5: a=3;break;
   case 6: a=2;break;
   case 7: a=1;break;
   }
   switch(c)
   {
   case 0: c=8;break; 
   case 1: c=7;break;
   case 2: c=6;break;
   case 3: c=5;break;
   case 4: c=4;break;
   case 5: c=3;break;
   case 6: c=2;break;
   case 7: c=1;break;
   }
   cout<<"Kon stoi na polu "<<tab1[b]<<a<<endl<<endl;
   cout<<"Pionek stoi na polu "<<tab1[d]<<c<<endl<<endl;
    cout<<endl<<endl;
    if(tab[e-2][b-1]==1||tab[e-1][b-2]==1||tab[e-1][b+2]==1||tab[e-2][b+1]==1||
       tab[e+2][b-1]==1||tab[e+1][b-2]==1||tab[e+1][b+2]==1||tab[e+2][b+1]==1)
       cout<<"Kon bije pionka!!";
    cout<<endl<<endl;
    
    system("PAUSE");
}
    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT