Baza funkcji eTraktora - adrianj93/ProjektKCK GitHub Wiki

1.Pole_startowe - wraca na pole z którego startuje(czyli swój hangar) (na poczatku rozgrywki domyślnie traktor nie posiada współrzędnych pola startowego.

 Interpretacje:

* Ustaw pole startowe - Reakcja: "Podaj współrzędne pola startowego" , po podaniu współrzędnych system
  zapisze je jako pole startowe po czym zwróci komunikat "Zapisałem współrzędne pola startowego" , taka  
  reakcja nastąpi w przypadku pierwszego ustawiania pola startowego , gdy jednak ustawimy juz pole
  startowe i podamy ponownie ten komunikat system zareaguje pytaniem "Czy zmienić istniejące juz pole 
  startowe , Tak/Nie" po wpisaniu odpowiedzi system albo zareaguje tak jak w przypadku *Ustaw pole 
  startowe i nadpisze stare , lub zostawi stare współrzędne.

  Inne możliwości:

     * Podaj Pole startowe - tak samo jak w  *Ustaw pole startowe. 

* Jedz na pole startowe - Reakcja: w przypadku gdy system nie ma podanych współrzędnych pola startowego
  odpowiedz będzie " Niestety nie mam współrzędnych pola startowego , ustawić je teraz? , Tak/Nie" , w
  przypadku "Tak" uruchomi się komenda *Ustaw pole startowe , w przypadku "Nie" nic się nie stanie. W 
  przypadku kiedy system posiada współrzędne pola startowego Traktor pojedzie na wyznaczone pole 
  komunikując początek podróży i jej koniec np."Ruszyłem z pola 22x34" , "Dotarłem na pole 10x10(Pole 
  Dolecowe)"
  
  Uwaga : To polecenie wykona się pod warunkiem ze będzie odpowiednia ilość paliwa w zbiorniku , co 
          system uprzednio sprawdzi i wyda odpowiednie komendy jeśli takowy warunek nie będzie 
          spełniony "Nie ma wystarczająco paliwa"

  Inne możliwości:

     * Wracaj na pole startowe
     * Rusz sie na pole startowe
     * Porusz sie na pole startowe
     * Ruszaj na pole startowe

* Pole startowe-  Reakcja: system spyta się "Ustaw czy jedz ? , Ustaw/Jedz" , Gdy odpowiemy "Ustaw" 
  wykona się komenda *Ustaw Pole startowe a w przypadku odpowiedzi "Jedz" wykona się komenda *Jedz na 
  pole startowe.

2. Jedz - eTraktor jedzie w określone pole

    Uwaga : To polecenie wykona się pod warunkiem ze będzie odpowiednia ilość paliwa w zbiorniku , co 
          system uprzednio sprawdzi i wyda odpowiednie komendy jeśli takowy warunek nie będzie 
          spełniony "Nie ma wystarczająco paliwa"

  Interpretacje:

   * Jedz - Reakcja: system odpowie "Podaj kierunek i ilość pól lub dokładny cel według współrzędnych"
     co do kierunku możliwości są : w lewo , w prawo , prosto , w tył/do tyłu. Po podaniu odpowiedzi 
     kierunku oraz ilości pól jakie ma się poruszyć , traktor pojedzie w określone pole komunikując
     początek i koniec trasy , np "Ruszyłem pola 22x34" , "Pojechałem 10 pól w lewo" ," Dotarłem na
     pole 32x34" , "Straciłem 10% paliwa". Jeśli podana ilość pól będzie przekraczała plansze na której
     porusza się traktor zareaguje komunikatem "Koniec planszy , niestety mogłem poruszyć się tylko "n"
     pól i zatrzymałem się na ostatnim dozwolonym polu 22x100" Podobna reakcja będzie w przypadku braku
     paliwa podczas wykonywanej komendy , Traktor zatrzyma się gdy skończy mu się paliwo komunikując 
     "Koniec paliwa , niestety mogłem poruszyć się tylko "n" pól i zatrzymałem się na polu 50x10 , 
      potrzebne jest dotankowanie"
     * Inne możliwości:
       *porusz sie
       *rusz sie
       *ruszaj

     Możemy też podać komendy takie jak:
     * w lewo   * lewo    * rusz sie w lewo   * porusz sie w lewo     * ruszaj w lewo  * jedz w lewo
     * w prawo  * prawo   * rusz sie w prawo  * Porusz sie w prawo    * ruszaj w prawo * jedz w prawo
     * prosto   * rusz prosto   * porusz sie prosto   * ruszaj prosto  * jedz prosto
     * do przodu  * rusz do przodu   * porusz sie do przodu   * ruszaj do przodu   * jedz do przodu
     * w tyl  * rusz sie w tyl   * porusz sie w tyl    * ruszaj w tyl  * jedz w tyl
     * do tylu  * rusz sie do tylu   * porusz sie do tylu   *  ruszaj sie do tylu  * jedz do tylu

     Reakcja : Traktor spyta się o ilość pól jakie ma się poruszyć. Po ich podaniu , odpowie :
               "Zrozumiałem" , po czym pojedzie o odpowiednią ilość pól w odpowiednim kierunku
               komunikując koniec i początek podroży tak jak w przykładach powyżej.


     Dodatkowo : Po podaniu jakiejkolwiek komendy związanej system sprawdzi czy Traktor posiada paliwo

3. Szybko - eTraktor szybciej się porusza , lecz szybciej traci paliwo(do ustalenia jakie to będą wartości)

Interpretacje:

Traktor będzie miał dwa tryby prędkości , jeden zwykły (domyślny) zużywający normalną dawkę paliwa , 
oraz tryb szybszy w którym będzie się poruszać 2 razy szybciej ale i będzie na to potrzebować 2 razy
więcej paliwa.
  Komendy:
  * szybciej
  * szybko
  * poruszaj sie szybciej
  * jedz szybciej
Będą odpowiadały za włączenie trybu szybszego , co system zakomunikuje w sposób następujący 
"Uruchomiony został tryb szybszej jazdy ,  traktor porusza sie 2 razy szybciej , lecz spala 2 razy
wiecej". W przypadku gdy tryb szybszej jazdy jest już aktywny i spróbujemy wykonać polecenie ponownego
jego uruchomienia ujrzymy komunikat "Tryb szybszej jazdy jest już aktywny".

  Komendy:
  * wolniej
  * wolno
  * poruszaj sie wolniej
  * jedz wolno
Będą odpowiadały za włączenie trybu wolniejszego , co system zakomunikuje w sposób następujący 
"Uruchomiony został tryb jazdy z normalna prędkością" W przypadku gdy tryb normalnej jazdy jest już
aktywny i spróbujemy wykonać polecenie ponownego jego uruchomienia ujrzymy komunikat "Tryb normalnej
jazdy jest już aktywny".

4. Lokalizacja - eTraktor zwraca pozycję w której się aktualnie znajduję

Interpretacje:
 
Komendy:
  * gdzie jestes
  * gdzie
  * lokalizacja   * podaj lokalizacje   * podaj swoja lokalizacje
  * pozycja   * podaj pozycje   * podaj swoja pozycje
Reakcja:
 Traktor odczyta swoją pozycje zwracając komunikat "Lokalizuje swoją pozycje" po odczytaniu odpowie , 
 " Znajduje się na polu 25x20" 

Dodatkowo : po każdej komendzie związanej z ruchem traktor będzie zapisywać swoją aktualną lokacje
            tak aby sprawnie działały powyższe komendy.

5. Pora_dnia - eTraktor sprawdza jaka jest pora dnia

Interpretacje:

   Komendy:
   * sprawdz pore dnia
   * pora dnia
   * jaka jest pora dnia

   Reakcja:
   Traktor będzie przechowywać informacje losowaną raz na rozgrywkę o tym czy jest dzień i noc. Na 
   powyższe komendy odpowie "Odczytuje porę dnia" a następnie "Jest dzień" lub "Jest noc". 

6. Swiatla - eTraktor włącza system oświetlenia pola ( gdy jest noc )

 Interpretacje:

   Komendy:
   * swiatlo
   * wlacz swiatlo

   Reakcja:
   Traktor odczyta czy jest dzień czy noc aktualnie. Gdy będzie dzień zwróci komunikat " Jest dzień , 
   światła nie są potrzebne" , jeśli będzie noc zwróci komunikat " Światła zostały włączone". Jeśli
   światła będą włączone i napiszemy komendę włączającą światła system zwróci komunikat " Światła są
   już włączone". Światła automatycznie się wyłączą po skończonej pracy w danym dniu.

7. Zasoby - Pobiera odpowiednie zasoby do uprawy odpowiednich sektorów

 Interpretacje:

   Komendy:
   *pobierz zasoby
   *uzupełnij zasoby
   *zasób 
   *weź zasoby

   Reakcja:
   Traktor na powyższe komendy zareaguje pytaniem "Który zasób wybrać ?" oczekując odpowiedzi w postaci
   nazwy zasobu dostępnego w handarze , gdy traktor otrzyma odpowiedz jaki zasób wybrać zapyta 
   "W jakiej ilości ?". Podamy mu jakąś liczbę na co odpowie "Załadowałem 'nazwa zasobu' w 'liczba'
   sztukach" . Przed tą jednak czynnością sprawdzi czy ma miejsce w zbiorniku na zasoby i czy podana 
   wartość nie przekracza tej pojemności , jeśli taka sytuacja wystąpi zwróci komunikat " Nie udało sie
   załadować całości zasobów , załadowałem aż do pełnego zbiornika w ilości 'liczba'.

8. Zbiornik - Stan poszczególnych zbiorników

Interpretacje:

   Komendy:
   *zbiornik zbiorów
   *stan zbiornika zbiorów
   *sprawdź zbiornik zbiorów

   Reakcja:
   Traktor zwróci komunikat o stanie zbiornika ze zbiorami " W zbiorniku traktora znajdują się 20 
   sztuki takiego zbioru i 30 sztuk innego zbioru a w zbiorniku głównym w hangarze znajduję się 100 
   sztuk jeszcze innego zbioru"
   

   Komendy:
   *zbiornik paliwa
   *stan zbiornika paliwa
   *sprawdź zbiornik paliwa

   Reakcja:
   Traktor zwróci komunikat o stanie zbiornika z paliwem " Zbiornik pełny w 90%" , jeśli będzie poniżej
   20% , doda również ze niezbędne jest szybkie dotankowanie.
   

   Komendy:
   *zbiornik zasobów
   *stan zbiornika zasobów
   *sprawdź zbiornik zasobów

   Reakcja:
   Traktor zwróci komunikat o stanie zbiornika z zasobami " W zbiorniku znajdują się 4 sztuki takiego 
   zasobu i 6 sztuk innego zasobu"

   Na komendę "zbiornik" spyta sie " O jaki zbiornik Ci chodzi ?" po odpowiedzi :
   zasoby , zasobami - zareaguje jak na komendy o stanie zbiornika z zasobami
   paliwa , paliwo - zareaguje jak na komendy o stanie paliwa.

9. Siej - zasiewa pola podane w nawiasie

 Interpretacje:

   Komendy:
   * Siej
   * Zasiewaj 

   Reakcja:
   Do każdego sektora będą przypisane zasoby jakie potrzebuje Traktor , po powyższych komendach porówna 
   zbiór niezbędny do danego sektora z tymi które Traktor ma w zbiorniku z zasobami , jeśli w zbiorniku
   nie będzie tego zasobu zwróci komunikat " Nie posiadasz odpowiedniego zasobu 'nazwa zasobu' , 
   uzupełnić Tak/Nie" Jeśli odpowiesz 'Tak' zareaguje jak na komendę "uzupełnij zasoby" , jeśli 
   odpowiedz 'Nie' zwróci komunikat " W takim razie nie mogę nic zasiać" . W przypadku kiedy posiada
   odpowiednie zasoby rozpocznie sianie komunikując o tym kiedy rozpoczął i skończył prace  
   "Zacząłem siać" , "Skończyłem siać". 

10. Nawadniaj - eTraktor nawadnia dany sektor , lub tez włącza system nawadniający(na całe pole)

  Interpretacje:

   Komendy:
   * Nawadniaj
   * Podlej

   Reakcja: 
   System sprawdzi czy pole nie jest nawodnione lub czy nie padał już dziś deszcz. Domyślnie aby
   uprawa sukcesywnie się rozwijała potrzeba jednego nawodnienia na dzień. Jeśli nawodnienie nastąpiło 
   już w tym dniu lub jeśli padało wówczas zwróci komunikat " Nawodnienie nie jest konieczne , pole 
   jest już wystarczająco nawodnione na dziś" . Jeśli pole nie jest nawodnione wtedy Traktor zapyta się
   "Nawodnić całe pole czy wybrany sektor ?" Po odpowiedzi nawodni podany sektor komunikując przy tym
   początek i koniec swojej pracy " Zacząłem nawadnianie 3 sektora" , "Skończyłem nawadnianie , 3
   sektor jest nawodniony" lub nawodni całe pole analogicznie komunikując.

   Komendy:
   * Nawadniaj sektor
   * Podlej sektor

   Reakcja: 
   Traktor zareaguje tak samo jak w przypadku powyżej odnośnie nawadniania sektorów.

   Komendy:
   * Nawadniaj pole
   * Podlej pole

   Reakcja: 
   Traktor zareaguje tak samo jak w przypadku powyżej odnośnie nawadniania całego pola.

11. Pogoda - eTraktor sprawdza pogodę (moze ona wpłynąć na to czy zbiory będą możliwe do zrealizowania)

  Interpretacje:

   Komendy:
   * Sprawdź pogodę
   * Pogoda
   * Jaka jest pogoda
   * Czy padało dziś ?
   
  Reakcja : 
  System będzie przechowywał informacje o stanie pogody w aktualnym momencie , oraz informacje czy już
  padało w danym dniu. Na komendy powyżej system zareaguję odpowiedzią " W tym momencie jest
  słonecznie" , jeśli już padało w tym dniu doda komunikat " Padał dziś deszcz o godzinie np.6:30 ,
  pole jest nawodnione" 

12. Postep - eTraktor mówi ile procent pracy wykonał

  Interpretacje:

   Komendy:
   * Postęp
   * Jak praca ?
   * Jak idzie ?
   * Ile już zrobiłeś ?
 
   Reakcja:
   Każda praca którą będzie wykonywać traktor będzie się dało w każdej chwili przedstawić w procentach
   wykonania na daną chwile. Gdy się będzie poruszać będzie podawał jaki procent drogi przejechał 
   np. " Przejechałem 50 % dystansu" , lub gdy będzie nawadniał pole , odpowiednia zmienna będzie
   zliczała procent pola już nawodnionego i to właśnie będzie podawał w odpowiedzi np " Nawodniłem już
   20 % pola".

13. Przeszkoda

  Gdy napotka przeszkodę:
  Jeśli jechał w trybie szybszego ruchu przeszkoda niszczy mu 2 razy więcej wytrzymałości niż w trybie
  zwykłym. W trybie zwykłym traktor przeszkoda zabiera mu 1 punkt wytrzymałości , traktor komunikuje
  " Napotkałem przeszkodę , straciłem 1 punkt wytrzymałości" następnie pyta się "Usunąć przeszkodę czy
  ominąć ?"
  
  Odpowiedz: usuń , usuń przeszkodę - usuwa przeszkodę komunikując "Usunąłem przeszkodę i wykonuje 
                                      dalszą prace" 

  Odpowiedz: omiń , omiń przeszkodę - Omija przeszkodę komunikując "Ominąłem przeszkodę i wykonuje 
                                      dalszą prace"

14. Pomoc

 Interpretacje:

   Komendy:
   * Pomoc
   * Potrzebuje pomocy
   * Pomocy
   * Potrzebna pomoc
 
   Reakcja:
   System zareaguje pytaniem "Jakiej pomocy potrzeba ? Paliwo/Uszkodzenie/Zasoby ?" 
 * Jeśli wpiszemy "Paliwo" zostanie wysłany pojazd przechowujący paliwo który podjedzie do naszego
   Traktora i dotankuje go do pełna komunikując przy tym wszystko " Wysłany został pojazd tankujący" , 
   " Pojazd tankujący zatankował Traktor" , " Zbiornik z paliwem jest pełen".
 * Jeśli wpiszemy "Uszkodzenie" zostanie wysłany pojazd naprawiający który podjedzie do naszego
   Traktora i naprawi go komunikując przy tym wszystko " Wysłany został pojazd naprawczy" , 
   " Pojazd naprawczy naprawił Traktor" , " Wytrzymałość traktora jest pełna".
 * Jeśli wpiszemy "Zasoby" zostanie wysłany pojazd z zasobami który określi na jakim sektorze traktor
   pracuje i jakiego typu zasobów mu brakuje i te własnie u niego uzupełni komunikując " Wysłany został 
   pojazd z zasobami" , "Pojazd z zasobami uzupełnił zasoby Traktora".

 Komendy:
   * Pomoc paliwo
   * Brak paliwa
   * Paliwo
   * Nie ma paliwa
 
   Reakcja:
   Traktor zareaguje tak samo jak w przypadku powyżej odnośnie paliwa.

 Komendy:
   * Pomoc uszkodzenie
   * Brak wytrzymałości
   * Uszkodzenie
   * Nie ma wytrzymałości
 
   Reakcja:
   Traktor zareaguje tak samo jak w przypadku powyżej odnośnie uszkodzenia.

 Komendy:
   * Pomoc zasoby
   * Brak zasobów
   * Zasoby
   * Nie mam zasobów
 
   Reakcja:
   Traktor zareaguje tak samo jak w przypadku powyżej odnośnie zasobów.

15. Zbieraj - Zbiera plony z całego pola lub danego sektora.

   Komendy:
   * Zbieraj
   * Zbierz
   * Zbieraj plony
   * Zbierz plony
 
   Reakcja:
   System spyta na początku " Zebrać plony z całego pola czy z danego sektora ?" , Jeśli odpowiemy
   "całe" lub "całe pole" traktor wykona prace na całym polu , jeśli podany numer sektora lub kilka
   sektorów analogicznie wykona prace dla tych sektorów. 
   Aby plony mogły być zebrane muszą być zasiane i podlane przynajmniej 3 razy , wtedy będą uznawane
   za gotowe do zebrania. System sprawdzi czy warunek konieczny jest spełniony. Jeśli tak , wykona
   on swoją prace wedle wskazań , jeśli zaś nie jest spełniony , system zakomunikuje " Plony nie są
   jeszcze gotowe do zebrania , potrzeba jeszcze n podlań"
   Jeśli podczas zbierania plonów zaistnieje taka sytuacja ze zbiornik eTraktora będzie pełen , wzróci
   komunikat "Wstrzymałem prace w 30% , zbiornik na plony(zbiory) jest pełen , konieczny jest
   wyładunek" , następnie na komendy:

   * Wyładuj
   * Wyładuj plony
   * Wyładuj zbiory 

   Reakcja:
   Traktor wróci do hangaru , wyładuje plony i wróci dalej do pracy , wszystkie te czynności kolejno
   zakomunikuje "Wracam do hangaru w celu wyładunku" , "Wyładowałem plony , zbiornik jest pusty" 
   "Wracam do dalszej pracy zbierania"

   Po skończonej pracy traktor będzie zwracać komunikat "Skończyłem prace".

16. Handel zbiorami - Sprzedaż zbiorów

   Komendy:
   * Sprzedaj
   * Sprzedaj zbiory

   Reakcja: 
   System spyta się "Jakie zbiory chcesz sprzedać" po udzieleniu odpowiedzi w formie typu zbioru , 
   system zapyta się " W jakiej ilości ?" . Jeśli istnieje taka ilość danego zbioru w zbiorniku , 
   nastąpi sprzedanie co system zakomunikuje " Sprzedałeś właśnie 'rodzaj' zbiór w ilości n za 200g" ,
   jeśli nie ma takiej ilości w zbiorniku system zwróci komunikat " Niestety nie ma takiej ilości 
   'rodzaj zbioru' w zbiorniku , jest tylko 'wartość tego zbioru' "

   Komendy:
   *Pokaz dostepne zbiory
   *Dostepne zbiory
   *Stan magazynu

   Reakcja:
   System pobierze dane z magazynu z zasobami , zwroci wartosc komunikujac " W magazynie jest 5 typow
   zbiorów , 20 sztuk 1 , 30 sztuk 2 itd."

17. Reakcja na wpisanie czegoś spoza wiedzy Traktora.

Jeśli traktor otrzyma komendę wykraczającą poza jego możliwości odpowie " Niestety nie rozumiem , podaj
inną komendę "