2.8. Dragon Sprint 07

  • Assignment: Dragon Sprint 07

  • Complexity: easy

  • Time: 13 min

2.8.1. Functional Requirements

  1. Smok w trakcie gry może zmienić pozycję w jedną stronę (w prawo, w lewo, w górę, w dół) o zadaną wartość

  2. Smok w trakcie gry może zmienić pozycję horyzontalnie (w prawo i w lewo) o zadaną wartość

  3. Smok w trakcie gry może zmienić pozycję wertykalnie (w dół i w górę) o zadaną wartość

  4. Smok w trakcie gry może być jednocześnie przesuwany dookólnie (w prawo i w lewo i w dół i w górę) o zadaną wartość

2.8.2. Non-Functional Requirements

  1. Przyjmij górny lewy róg ekranu za punkt początkowy x=0 y=0

  2. Idąc w prawo dodajesz x

  3. Idąc w lewo odejmujesz x

  4. Idąc w górę odejmujesz y

  5. Idąc w dół dodajesz y

2.8.3. Use Case

  1. Stwórz smoka o nazwie "Wawelski"

  2. Stworzenie smoka bez nazwy podnosi błąd

  3. Smok przy tworzeniu ma losowe punkty życia

  4. Ustaw inicjalną pozycję smoka na x=50, y=100

  5. Pobierz aktualną pozycję

  6. Ustaw nową pozycję smoka na x=10, y=20

  7. Przesuń smoka w lewo o 10 i w dół o 20

  8. Przesuń smoka w lewo o 10 i w prawo o 15

  9. Przesuń smoka w prawo o 15 i w górę o 5

  10. Przesuń smoka w dół o 5

2.8.4. Tests

Feature: Dragon's position

Scenario: Dragon moves right
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position right by 1
     Then Position x is 11
      And Position y is 20

Scenario: Dragon moves left
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position left by 1
     Then Position x is 9
      And Position y is 20

Scenario: Dragon moves down
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position down by 1
     Then Position x is 10
      And Position y is 21

Scenario: Dragon moves up
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position up by 1
     Then Position x is 10
      And Position y is 19

Scenario: Dragon moves horizontal
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position right by 1
      And Changes position left by 2
     Then Position x is 9
      And Position y is 20

Scenario: Dragon moves vertical
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position down by 1
      And Changes position up by 2
     Then Position x is 10
      And Position y is 19

Scenario: Dragon moves omnidirectional
    Given Dragon is created with name "Wawelski"
      And Position x is 10
      And Position y is 20
     When Changes position right by 1
      And Changes position left by 2
      And Changes position down by 3
      And Changes position up by 4
     Then Position x is 9
      And Position y is 19

2.8.5. Acceptance Criteria

  1. Rozwiązanie jest rozwinięciem kodu z poprzedniego sprintu

  2. Rozwiązanie jest w katalogu dragon

  3. Rozwiązanie jest zapisane w lokalnym repozytorium (git commit)

  4. Rozwiązanie jest wypchnięta do centralnego repozytorium (git push)

2.8.6. Hints

  • To nie błąd: "lewo o 10 i w prawo o 15"

  • Pozycja końcowa powinna być: x=20, y=40

2.8.7. Solution

  • Zwróć uwagę, że to zepsuje Twoją zabawę i naukę

  • Solution