SZCZEGÓ Ł OWY SPIS TRE Ś CI
PODZI Ę KOWANIA
WPROWADZENIE
Czym są mody Minecrafta?
Czym jest ComputerCraft?
Jak korzystać z tej książki
Co zawiera książka?
Uzyskiwanie pomocy
Zasoby w sieci
Co już wiesz .
PIERWSZE KROKI W COMPUTERCRAFCIE
Wypisanie wszystkich plików za pomocą
Łączenie ła
Odczytywanie naciśniętego klawisza za pomocą funkcji
Koń
bloków z za pomocą funkcji compare
Programy uruchomieniowe i funkcja shell.run(
już umiesz
Projektowanie programu do uprawy drzew
Pisanie programu farmtrees
Rodzaje drzew w Minecrafcie
adowanie fragmentów świata w Minecrafcie
Ładowanie modułów za pomocą funkcji os.loadAPI( )
Sprawdzanie istnienia plików za pomocą funkcji fs.exists( )
Wybieranie sadzonek w ekwipunku ż
Sadzenie drzewa .
Sprawdzanie bloków i czekanie, aż drzewo urośnie
Wychodzenie z pętli za pomocą instrukcji break
Uruchamianie innych programów za pomocą funkcji shell.run( )
Obsługa przedmiotów za pomocą funkcji żółwia drop
Ponowne pisanie kodu, gdy brakuje mączki kostnej
Co już umiesz
9
BUDOWANIE GENERATORA BRUKU
Projekty generatora bruku
Obsługa pieców .
Tworzenie czytelnego kodu za pomocą stałych
Wrzucanie bruku do pieców
Zaokrąglanie liczb za pomocą math.floor( ) i math.ceil(
Obliczanie ilości bruku do każdego pieca
Zbieranie kamieni z pieców
Wytwarzanie kamiennych cegie
Cofanie żółwia do początkowego położenia
Tworzenie budynku fabryki
BUDOWANIE
Liczenie przedmiotów w ekwipunku za pomocą funkcji
countInventory( )
i umieszczanie bloku
Projektowanie algorytmu budowy ścian
Pisanie funkcji buildWall( )
Korzystanie z danych
Obliczanie całkowitej liczby bloków potrzebnych
Pisanie funkcji buildRoom( )
Wywoływanie funkcji sweepFunc( )
Ustalanie za pomocą operatora modulo, czy liczba jest parzysta, czy nieparzysta .
Drogi dla szerokości parzystej i nieparzystej
Pisanie funkcji buildFloor( )
Pisanie programu buildFloor
Uruchamianie programu buildFloor
Tworzenie wzorzystej podłogi
Pisanie funkcji placeCheckerboard( )
Wywoływanie funkcji sweepField( )
Konfigurowanie pola pszenicy
Projektowanie algorytmu uprawy pszenicy
Rozszerzanie modułu hare
Konfiguracja programu farmwheat
Wskazówki dotyczące automatyzacji innych rodzajów upraw
Uprawa
kurzych jajek
ZESTAWIENIE FUNKCJI
API fs (File System – system plików)
API io (Input/Output)
API API
API os (system operacyjny)
shell
string
textutils
turtle
Funkcje budowania
Funkcje tankowania
ekwipunku
Funkcje przemieszczania
Funkcje percepcji
Funkcje związane z narzędziami
Funkcje Lua
ZASADY
SKOROWIDZ

Rysunek 8.1. Zautomatyzowana uprawa drzew prowadzona przez żółwie, w której każdy żółw ma uruchomiony program farmtrees
Użyjemy kodu, który już zapisaliśmy w module hare (rozdz. 7), i programu choptree (rozdz. 6) do pozyskiwania drewna, nie ma potrzeby więc ponownego pisania całego tego kodu!
PROJEKTOWANIE PROGRAMU DO UPRAWY DRZEW
Zamiast przesuwania żółwia w stronę każdego drzewa, skonfigurujemy żółwia, tak aby zostawał w jednym miejscu. Żółw będzie sadził i uprawiał sadzonki drzew, stosując mączkę kostną do przyspieszenia ich wzrostu. Następnie, gdy drzewo urośnie, żółw zetnie je i umieści uzyskane drewno w skrzyni, która znajduje się za żółwiem.
Oto kilka szczegó ł owych kroków programu uprawy drzew (choptree):
1. Sprawdź, czy istnieje moduł hare i program choptree.
2. Wybierz sadzonki drzew w ekwipunku żółwia. Jeśli nie ma żadnej, to wyjdź z programu.
3. Zasadź drzewo.
4. Wielokrotnie użyj mączki kostnej do zasadzonego drzewa, aż ono urośnie.
5. Uruchom program choptree.
6. Umieść zebrane drzewo w skrzyni za żółwiem.
7. Powtórz cały proces.
Żółw będzie powtarzał ten proces, aż skończą mu się sadzonki drzew lub mączka kostna. Gdy już wiemy, co powinien robić kod, napiszmy program.
PISANIE PROGRAMU FARMTREES
Uruchamiamy edytor tekstowy, wprowadzając edit farmtrees w powłoce poleceń. W edytorze tekstowym wprowadzamy następujące wiersze kodu. Pamiętajmy, aby nie wpisywać numerów wierszy, ponieważ służą one tylko do odwołania.
farmtrees
1. --[[Uprawa drzew – program Ala Sweigarta 2. Uprawia drzewa, a potem je ścina.]]
3.
4. os.loadAPI('hare') -- załaduj moduł hare
5.
6. blockExists, item
7. local logCount = 0
8.
9. -- sprawdź, czy istnieje program choptree
10. if not fs.exists('choptree') then 11. error('Trzeba najpierw zainstalowac program choptree.')
12. end
13.
14. while true do
15. -- poszukaj sadzonek w ekwipunku
16. if not hare.selectItem('minecraft:sapling') then
17. error('Brak sadzonek.')
18. end
19.
20. print('Sadzenie...')
21. turtle.place() -- sadzenie drzewa
22.
23. -- wykonuj pętlę, aż drzewo urośnie
24. while true do
25. blockExists, item = turtle.inspect()
26. if blockExists and item['name'] == 'minecraft:sapling' then
27. -- „dye” to ID nazwy dla mączki kostnej
28. if not hare.selectItem('minecraft:dye') then
29. error('Brak maczki kostnej.')
30. end
31.
32. print('Stosowanie maczki kostnej')
33. turtle.place() -- użyj mączki kostnej
34. else