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ę "