#include<iostream>
using namespace std;
class Kostka
{
private:
int sciany[6];
public:
Kostka()
int pokaz();
{
sciany[0]=1;
sciany[1]=2;
sciany[2]=6;
sciany[3]=5;
sciany[4]=4;
sciacy[5]=3;
}
void odwroc(char litera)
{
int liczba;
if(litera=="N")
{
liczba=sciany[0];
sciany[0]=sciany[3];
sciany[3]=sciany[2];
sciany[2]=sciany[1];
sciany[5]=liczba;
}
else if(litera=="S")
{
liczba=sciany[0];
sciany[0]=sciany[1];
sciany[1]=sciany[2];
sciany[2]=sciany[3];
sciany[3]=liczba;
}
else if(litera=="E"){
liczba=sciany[0];
sciany[0]=sciany[5];
sciany[5]=sciany[2];
sciany[2]=sciany[4];
sciany[4]=liczba;
}
else if(litera=="W"){
liczba=sciany[0];
sciany[0]=sciany[4];
sciany[4]=sciany[2];
sciany[2]=sciany[5];
sciany[5]=liczba;
}
}
};
int Kostka:pokaz()
{
return sciany[0];
}
int main()
{
Kostka K;
char p;
cin>>p;
while(p
}
Napisz program symulujący poruszanie sześciennej kostki do gry po płaskim stole. Możesz założyć, że kostka nie śliga się ani nie skacze. Każdy ruch jest obrotem o 90 stopni w wybranym kierunku. W ustawieniu początkowym ścianka oznaczona numerem 1 zwrócona jest do góry, ścianka oznaczona numerem 2 na północ (N), zaś ścianka oznaczona numerem 3 na zachód (W), patrz rysunek. Dodatkowo kostka ma tę własność, że suma wartości dwóch przeciwległych ścianek wynosi 7.
Program powinien wczytać ze standardowego wejścia sekwencję ruchów w postaci N, S, E lub W, a następnie wydrukować na standardowe wyjście liczbę oczek znajdującą się na górnej ściance kostki.
Uwaga: Do rozwiązania zadania użyj przygotowanej przez siebie klasy symulującej zachowanie kostki.
Przykładowe wejście:
N S S S E E N
Przykładowe wyjście:
2
Co tu jeszcze poprawić?