100717396

Page 1


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

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.