Power of Thor – omówienie zadania z CodinGame – programowanie gry

Szczegółowe omówienie zadania Power of Thor:

Link do powyższego omówienia zadania Power of Thor:
https://youtu.be/yUh6XdlGm14?t=1775

Podsumowanie rozwiązania:
https://youtu.be/yUh6XdlGm14?t=4191

Legenda związana z zadaniem:
https://youtu.be/yUh6XdlGm14?t=1711
oraz
https://youtu.be/yUh6XdlGm14?t=1940

——-
Link do treści zadania Power of Thor:
https://www.codingame.com/ide/puzzle/power-of-thor-episode-1

Zadanie Power of Thor wymaga jedynie użycia warunków w wybranym języku programowania – if w C++.
Rozwiązanie sprowadza się do rozpatrzenia różnych położeń Thora i źródła mocy i wydania odpowiednich instrukcji w którą stronę ma poruszać sie Thor.

Zadanie Power of Thor pochodzi z platformy CodinGame.
CodinGame to miejsce gdzie uczymy się programować bawiąc się grami.
Kodować możemy używając dowolnego języka programowania.

Jednocześnie CodinGame tworzy dla nas gotowe CV które jest dostępne dla potencjalnych pracodawców:
https://youtu.be/yUh6XdlGm14?t=3702

——–
Jak się uczyć na podstawie tego zadania?
https://youtu.be/QgLyXYmFQeU?t=2019
Pamiętaj by zajrzeć max 1 raz – wtedy się rozwijasz:
https://youtu.be/pkLXuuOe_qA?t=3625

——-
Kod C++ programu Power of Thor, który jest omówiony w powyższym filmie i który otrzymuje 100%


#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

/**
 * Auto-generated code below aims at helping you parse
 * the standard input according to the problem statement.
 * ---
 * Hint: You can use the debug stream to print initialTX and initialTY, if Thor seems not follow your orders.
 **/

int main()
{
    int lightX; // the X position of the light of power
    int lightY; // the Y position of the light of power
    int initialTX; // Thor's starting X position
    int initialTY; // Thor's starting Y position
    int act_Thor_x, act_Thor_y;
    cin >> lightX >> lightY >> initialTX >> initialTY; cin.ignore();
    act_Thor_x = initialTX;
    act_Thor_y = initialTY;

    // game loop
    while (1) {
        int remainingTurns; // The remaining amount of turns Thor can move. Do not remove this line.
        cin >> remainingTurns; cin.ignore();
//Przypadki gdy Thor musi i na skos
        if ( (act_Thor_x>lightX) && (act_Thor_y<lightY)  ) {
            cout << "SW" << endl;
            --act_Thor_x;
            ++act_Thor_y;
            continue;
        }
        if ( (act_Thor_x>lightX) && (act_Thor_y>lightY)  ) {
            cout << "NW" << endl;
            --act_Thor_x;
            --act_Thor_y;
            continue;
        }
        if ( (act_Thor_x<lightX) && (act_Thor_y>lightY)  ) {
            cout << "NE" << endl;
            ++act_Thor_x;
            --act_Thor_y;
            continue;
        }
        if ( (act_Thor_x<lightX) && (act_Thor_y<lightY)  ) {
            cout << "SE" << endl;
            ++act_Thor_x;
            ++act_Thor_y;
            continue;
        }
//Przypadki gdy Thor jest na linii swiatla (na linii wspolrzednych)
        if ( act_Thor_x > lightX  ) {
            cout << "W" << endl;
            --act_Thor_x;
            continue;
        }
        if ( act_Thor_y > lightY  ) {
            cout << "N" << endl;
            --act_Thor_y;
            continue;
        }
        if ( act_Thor_x < lightX  ) {
            cout << "E" << endl;
            ++act_Thor_x;
            continue;
        }
    
        cout << "S" << endl;
        ++act_Thor_y;
           // Write an action using cout. DON'T FORGET THE "<< endl"
        // To debug: cerr << "Debug messages..." << endl;


        // A single line providing the move to be made: N NE E SE S SW W or NW

    }
}
Kod C++ programu Power of Thor, który jest omówiony w powyższym filmie i który otrzymuje 100%

 

 

 

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz