Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Idi(int &x, int &y, Pravci orijentacija, int korak) {
- if (status) {
- switch (orijentacija) {
- case Pravci::Sjever:
- if (korak < 0) {
- if (static_cast<long long int>(y) + korak < std::numeric_limits<int>::min())
- y = std::numeric_limits<int>::min();
- else y += korak;
- } else {
- if (static_cast<long long int>(y) + korak > std::numeric_limits<int>::max())
- y = std::numeric_limits<int>::max();
- else y += korak;
- }
- break;
- case Pravci::Istok:
- if (korak < 0) {
- if (static_cast<long long int>(x) + korak < std::numeric_limits<int>::min())
- x = std::numeric_limits<int>::min();
- else x += korak;
- } else {
- if (static_cast<long long int>(x) + korak > std::numeric_limits<int>::max())
- x = std::numeric_limits<int>::max();
- else x += korak;
- }
- break;
- case Pravci::Jug:
- if (korak < 0) {
- if (static_cast<long long int>(y) - korak > std::numeric_limits<int>::max())
- y = std::numeric_limits<int>::max();
- else y -= korak;
- } else {
- if (static_cast<long long int>(y) - korak < std::numeric_limits<int>::min())
- y = std::numeric_limits<int>::min();
- else y -= korak;
- }
- break;
- case Pravci::Zapad:
- if (korak < 0) {
- if (static_cast<long long int>(x) - korak > std::numeric_limits<int>::max())
- x = std::numeric_limits<int>::max();
- else x -= korak;
- } else {
- if (static_cast<long long int>(x) - korak < std::numeric_limits<int>::min())
- x = std::numeric_limits<int>::min();
- else x -= korak;
- }
- break;
- }
- } else return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement