Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00068 005939 15941235 na godz. na dobę w sumie
Kodowanie z Minecraftem. Buduj wyżej, szybciej zbieraj plony, kop głębiej i automatyzuj nudne zajęcia - ebook/pdf
Kodowanie z Minecraftem. Buduj wyżej, szybciej zbieraj plony, kop głębiej i automatyzuj nudne zajęcia - ebook/pdf
Autor: Liczba stron:
Wydawca: Wydawnictwo Naukowe PWN Język publikacji: polski
ISBN: 978-83-01-20206-4 Data wydania:
Lektor:
Kategoria: ebooki >> poradniki >> zdrowie
Porównaj ceny (książka, ebook, audiobook).

Minecraft to bardzo popularna gra komputerowa, która na całym świecie sprzedała się w milionach egzemplarzy. Teraz możesz wykorzystać ją także do nauki programowania. W książce Kodowanie z Minecraftem® znajdziesz instrukcje, dzięki którym napiszesz programy komputerowe, które pozwolą Ci zautomatyzować swoją grę – szybciej wydobywać minerały, wytwarzać przedmioty i budować, co tylko przyjdzie Ci do głowy!
W swojej pracy będziesz korzystał z Lua, czyli języka programowania, którym posługują się profesjonalni twórcy gier. Z jego pomocą zaprogramujesz roboty, które mogą uprawiać dowolne rośliny, stworzysz fabrykę produkującą materiały budowlane i wiele innych!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

minecraftstu(cid:31)_cover05 PWN.pdf 1 2018-11-08 20:07:05 DLA DZIEC I OD LAT 10 ( I ICH RODZICÓ W) Zaprogramuj armie Zaprogramuj armie , , robotów do budowania, robotów do budowania, uprawiania, wydobywania, uprawiani a, wydobywania, i nie tylko! i nie tylko! C M Y CM MY CY CMY K Wydobywasz diamenty, tworzysz dziesiątki narzę- dzi i budujesz wszelkiego rodzaju konstrukcje – a gdyby tak zaprogramować roboty, aby robiły to wszystko za Ciebie w krótkim czasie? Dzięki książce Kodowanie z Minecraftem® dowiesz się, jak stworzyć wirtualną armię robotów za pomocą Lua – języka programowania stosowanego przez profesjonalnych twórców gier. Dzięki projek- tom kodowanym krok po kroku zobaczysz, jak pisać programy, które automatycznie wydobywają i zbierają materiały, wytwarzają przedmioty i budują wszystko, co tylko można sobie wyobrazić. Przy okazji poznasz podstawowe pojęcia informa- tyczne, takie jak typy danych, funkcje czy zmienne. Nauczysz się, jak:  Programować roboty, które podejmują mądre decyzje, za pomocą sterowania przepływem.  Ponownie wykorzystywać kod, aby roboty mogły uprawiać i zbierać dowolne rośliny, w tym pszenicę, trzcinę cukrową, a nawet kaktusy!  Zaprogramować fabrykę, która wytwarza nieskończone ilości materiałów budowlanych.  Zaprojektować algorytm tworzenia ścian i budowli o dowolnym rozmiarze.  Zakodować wymachującego kilofem drwala- robota!  Stworzyć robota, który wykopuje schody umożliwiające bezpieczną eksplorację. Dodatkowe zadania zawarte w każdym rozdziale pomogą Ci przenieść Twoje umiejętności kodowania na wyższy poziom. Po przeczytaniu książki zrozu- miesz, jak potężne może być kodowanie, i będziesz miał mnóstwo robotów na swoje zawołanie. O AUT ORZ E Al Sweigart jest zawodowym programistą, który uczy programowania dzieci i dorosłych. Autor kilku bestsellerowych książek o programowaniu dla początkujących, w tym Twórz własne gry kom- puterowe w Pythonie (WN PWN 2017) i Bawimy się, programując w Scratchu (WN PWN 2017). Wymagania: system Windows 7 lub nowszy; macOS 10.10 lub nowszy. Patroni medialni Wydawnictwo Naukowe PWN SA pwn.pl • 801 33 33 88 ksiegarnia.pwn.pl www.nostarch.com kodowanie kodowanie z Mine craftem z Mine craftem ® B u duj w y z ej, szy b ci ej z b i e r aj plo n y, ko p g le b i ej i auto mat yz uj n ud n e zaj ecia A l Sw e i g a rt i i i k k k o o o d d d o o o w w w a a a n n n e e e z z z M M M n n n e e e c c c r r r a a a f f f t t t e e e m m m i i i ® S W E I G A R T kodowanie z Minecraftem® kodowanie z Minecraftem ® B u duj w y z ej, szy b ci ej z b i e r aj plo n y, ko p g le b i ej i auto mat y zuj n u dn e zaj ecia A l S w e i g a r t Dane oryginału Copyright © 2018 by Al Sweigart. Title of English-language original: Coding with Minecraft: Build Taller, Farm Faster, Mine Deeper, and Automate the Boring Stuff, ISBN 978-1-59327-853-3, published by No Starch Press. Polish-language edition copyright © 2019 by Polish Scientifi c Publishers PWN Wydawnictwo Naukowe PWN Spółka Akcyjna. All rights reserved. Przekład Małgorzata Dąbkowska-Kowalik na zlecenie WITKOM Witold Sikorski Projekt okładki polskiego wydania Hubert Zacharski, na podstawie oryginału Wydawca Edyta Kawala Redaktor prowadzący Jolanta Kowalczuk Redaktor Zofi a Pasek Korekta Anna Marecka Koordynator produkcji Anna Bączkowska Skład i łamanie Marcin Szcześniak Zastrzeżonych nazw fi rm i produktów użyto w książce wyłącznie w celu identyfi kacji Copyright © for the Polish edition by Wydawnictwo Naukowe PWN SA Warszawa 2019 ISBN 978-83-01-20206-4 Wydanie I Warszawa 2019 Wydawnictwo Naukowe PWN SA 02-460 Warszawa, ul. Gottlieba Daimlera 2 tel. 22 69 54 321, faks 22 69 54 288 infolinia 801 33 33 88 e-mail: pwn@pwn.com.pl, reklama@pwn.pl www.pwn.pl Druk i oprawa: Totem, Inowrocław Danielowi Ratcliffe’owi, twórcy ComputerCrafta, i Seymourowi Papertowi, twórcy żółwia. O AUTORZE Al Sweigart jest zawodowym programistą, który uczy programo- wania dzieci i dorosłych. Napisał kilka bestselerowych książek o programowaniu dla początkujących, w tym: Automate the Boring Stuff with Python, Invent Your Own Computer Games with Python i Cracking Codes with Python (wszystkie wydane przez No Starch Press). Jego książki są dostępne bezpłatnie w ramach licencji Creative Commons na stronie https://inventwithpython.com/. O REDAKTORZE TECHNICZNYM Daniel Ratcliffe jest twórcą oprogramowania z Cambridge w Anglii. W 2011 r. opracował mod ComputerCraft dla Minecrafta, od roku 2002 zaś tworzy gry komputerowe. O jego najnowszych projektach można przeczytać na Twitterze i @DanTwoHundred. Do innych jego zainteresowań należą Star Trek, jazda na rowerze i koty. KRÓTKI SPIS TREŚCI Podziękowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXI Rozdział 1: Pierwsze kroki w Computercrafcie . . . . . . . . . . . . . . . . . . . . . . . . 1 Rozdział 2: Podstawy programowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Rozdział 3: Rozmowy z żółwiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Rozdział 4: Programowanie żółwi, które tańczą . . . . . . . . . . . . . . . . . . . . . . . 43 Rozdział 5: Ulepszanie tańca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Rozdział 6: Programowanie robota-drwala . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Rozdział 7: Tworzenie modułów w celu ponownego wykorzystania kodu . . 89 Rozdział 8: Prowadzenie automatycznej uprawy drzew . . . . . . . . . . . . . . . . 107 Rozdział 9: Budowanie generatora bruku . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Rozdział 10: Tworzenie fabryki kamiennych cegieł . . . . . . . . . . . . . . . . . . . 139 Rozdział 11: Budowanie ścian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Rozdział 12: Budowanie pomieszczeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Rozdział 13: Budowanie podłóg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Rozdział 14: Programowanie automatycznej uprawy . . . . . . . . . . . . . . . . . . 207 Rozdział 15: Programowanie kopacza klatek schodowych . . . . . . . . . . . . . . 229 Zestawienie funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Zestawienie identyfi katorów nazw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Zasoby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Skorowidz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Krótki spis treści IX SZCZEGÓŁOWY SPIS TREŚCI PODZIĘKOWANIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX WPROWADZENIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXI Czym są mody Minecrafta? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXII Czym jest ComputerCraft? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXII Jak korzystać z tej książki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIII Co zawiera książka? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIV Uzyskiwanie pomocy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXV Zasoby w sieci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVI Co już wiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVII 1 PIERWSZE KROKI W COMPUTERCRAFCIE . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Instalowanie Minecrafta, ATLaunchera i ComputerCrafta . . . . . . . . . . . . . . 2 Zakup Minecrafta online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Pobieranie i instalowanie ATLaunchera . . . . . . . . . . . . . . . . . . . . . . . 2 Pobieranie i instalowanie ComputerCrafta . . . . . . . . . . . . . . . . . . . . . 5 Uruchamianie Minecrafta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Tworzenie nowego świata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Różnice między trybami gry w Minecrafta . . . . . . . . . . . . . . . . . . . . . 8 Co już wiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 PODSTAWY PROGRAMOWANIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Pierwsze kroki z żółwiami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Wytwarzenie kopiącego żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Uruchamianie programów żółwia w grafi cznym interfejsie użytkownika (GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Tankowanie żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Poruszanie żółwiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Pierwsze kroki w programowaniu w Lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Uruchamianie powłoki Lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Do widzenia Lua: zgłoszenia wyjścia z powłoki . . . . . . . . . . . . . . . . 24 Wykonywanie działań matematycznych w języku Lua . . . . . . . . . . . . . . . . . 24 Kolejność działań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 To takie losowe: generowanie liczb losowych . . . . . . . . . . . . . . . . . . . 27 Przechowywanie wartości za pomocą zmiennych . . . . . . . . . . . . . . . . . . . . . . 28 Szczegółowy spis treści XI Sprawdzanie poziomów paliwa żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3 ROZMOWY Z ŻÓŁWIEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Uczymy żółwia jak się przywitać! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Uruchamianie programu witaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Wypisanie wszystkich plików za pomocą polecenia ls . . . . . . . . . . . 37 Wyświetlanie tekstu za pomocą funkcji print( ) . . . . . . . . . . . . . . . . . . . . . . . 37 Typ danych łańcuchowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Łączenie łańcuchów za pomocą konkatenacji . . . . . . . . . . . . . . . . . . 38 Pobieranie nazw żółwi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Odczytywanie naciśniętego klawisza za pomocą funkcji io.read( ) . . . . . . . . 40 Dodawanie efektów do testu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Zmienianie nazw żółwi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4 PROGRAMOWANIE ŻÓŁWI, KTÓRE TAŃCZĄ . . . . . . . . . . . . . . . . . . . . . . . 43 Pisanie programu do tańczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Uruchamianie programu mydance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Używanie komentarzy w kodzie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Funkcje poruszania żółwiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Eksperymentowanie z poruszaniem żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Korzystanie z pętli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Kręcenie żółwiem w kółko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Robienie małego podskoku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Udostępnianie i pobieranie programów online . . . . . . . . . . . . . . . . . . . . . . . . 52 Usuwanie plików z żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Ograniczenia pastebin.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 turtleappstore.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5 ULEPSZANIE TAŃCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Pisanie lepszego programu do tańczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Uruchamianie programu mydance2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Boolowski typ danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Typ danych nil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Korzystanie z pętli while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Podejmowanie decyzji dotyczących instrukcji if . . . . . . . . . . . . . . . . . . . . . . . 62 Porównywanie dwóch wartości za pomocą operatorów relacji . . . . . . . . . . . 63 XII Szczegółowy spis treści Podejmowanie różnych decyzji za pomocą instrukcji elseif . . . . . . . . . . . . . . 65 Zagnieżdżone bloki kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Podejmowanie decyzji... albo else! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Ruch w górę i w dół . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Kręcenie się w kółko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6 PROGRAMOWANIE ROBOTA–DRWALA . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Wyposażanie żółwi w narzędzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Projektowanie algorytmu ścinania drzew . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Pisanie programu choptree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Uruchamianie programu choptree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Wykrywanie bloków za pomocą funkcji turtle detection . . . . . . . . . . . . . . . . 79 Operator boolowski not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Operator boolowski and . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Operator boolowski or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Kończenie programów za pomocą funkcji error( ) . . . . . . . . . . . . . . . . . . . . . 83 Wydobywanie bloków za pomocą funkcji kopania . . . . . . . . . . . . . . . . . . . . . 84 Porównywanie bloków z za pomocą funkcji compare . . . . . . . . . . . . . . . . . . . 84 Powrót na ziemię . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Programy uruchomieniowe i funkcja shell.run( ) . . . . . . . . . . . . . . . . . . . . . . 86 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 7 TWORZENIE MODUŁÓW W CELU PONOWNEGO WYKORZYSTANIA KODU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Tworzenie funkcji za pomocą instrukcji function . . . . . . . . . . . . . . . . . . . . . . 90 Argumenty i parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Wartości zwrotne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Tworzenie modułu funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Ładowanie modułu za pomocą funkcji os.loadAPI( ) . . . . . . . . . . . . . 95 Eksperymentowanie z modułem hare . . . . . . . . . . . . . . . . . . . . . . . . 95 Przeglądanie ekwipunku żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Wybieranie okienek ekwipunku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Obliczanie liczby przedmiotów w okienku . . . . . . . . . . . . . . . . . . . . . 99 Uzyskiwanie szczegółów przedmiotów z okienka . . . . . . . . . . . . . . 100 Tablicowy typ danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Sprawdzanie tabeli zwracanej przez funkcję turtle.getItemDetail( ) . . . . . 101 Zakres globalny i lokalny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Znajdowanie przedmiotu za pomocą pętli for . . . . . . . . . . . . . . . . . . . . . . . . 103 Wybieranie pustego okienka ekwipunku . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Szczegółowy spis treści XIII 8 PROWADZENIE AUTOMATYCZNEJ UPRAWY DRZEW . . . . . . . . . . . . . . 107 Projektowanie programu do uprawy drzew . . . . . . . . . . . . . . . . . . . . . . . . . 108 Pisanie programu farmtrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Uruchamianie programu farmtrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Rodzaje drzew w Minecrafcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Ładowanie fragmentów świata w Minecrafcie . . . . . . . . . . . . . . . . . . . . . . . 112 Ładowanie modułów za pomocą funkcji os.loadAPI( ) . . . . . . . . . . . . . . . . . 113 Sprawdzanie istnienia plików za pomocą funkcji fs.exists( ) . . . . . . . . . . . 114 Wybieranie sadzonek w ekwipunku żółwia . . . . . . . . . . . . . . . . . . . . . . . . . 114 Sadzenie drzewa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Sprawdzanie bloków i czekanie, aż drzewo urośnie . . . . . . . . . . . . 116 Wychodzenie z pętli za pomocą instrukcji break . . . . . . . . . . . . . . . 117 Uruchamianie innych programów za pomocą funkcji shell.run( ) . . . . . . . 118 Obsługa przedmiotów za pomocą funkcji żółwia drop . . . . . . . . . . . . . . . . . 118 Ponowne pisanie kodu, gdy brakuje mączki kostnej . . . . . . . . . . . . . . . . . . 120 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9 BUDOWANIE GENERATORA BRUKU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Projekty generatora bruku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Konfi gurowanie pieca do wypalania bruku . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Pisanie programu cobminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Uruchamianie programu cobminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Konfi gurowanie programu i nadawanie zmiennej stałej wartości . . . . . . . 128 Wydobywanie bruku z generatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Obsługa pieców . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Tworzenie czytelnego kodu za pomocą stałych . . . . . . . . . . . . . . . . 131 Wrzucanie bruku do pieców . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Zaokrąglanie liczb za pomocą math.fl oor( ) i math.ceil( ) . . . . . . . . 133 Obliczanie ilości bruku do każdego pieca . . . . . . . . . . . . . . . . . . . . . 133 Przenoszenie górnika bruku w początkowe miejsce . . . . . . . . . . . . . . . . . . . 135 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 10 TWORZENIE FABRYKI KAMIENNYCH CEGIEŁ . . . . . . . . . . . . . . . . . . . . . 139 Projektowanie programu co wytwarzania kamiennych cegieł . . . . . . . . . . . 140 Tworzenie zręcznego żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Pisanie programu brickcrafter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Uruchamianie programu brickcrafter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Konfi guracja programu brickcrafter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 XIV Szczegółowy spis treści Sprawdzanie paliwa żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Zbieranie kamieni z pieców . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Wytwarzanie kamiennych cegieł . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Cofanie żółwia do początkowego położenia . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Tworzenie budynku fabryki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 11 BUDOWANIE ŚCIAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Rozszerzanie modułu hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Liczenie przedmiotów w ekwipunku za pomocą funkcji countInventory( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Wybieranie i umieszczanie bloku . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Projektowanie algorytmu budowy ścian . . . . . . . . . . . . . . . . . . . . . . 160 Pisanie funkcji buildWall( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Pisanie i uruchamianie programu buildWall . . . . . . . . . . . . . . . . . . . . . . . . 167 Ładowanie modułu hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Korzystanie z danych typu tablicowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Czytanie argumentów wiersza poleceń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Tworzenie komunikatów obsługi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Wywoływanie funkcji hare.buildWall( ), aby zbudować ścianę . . . . . . . . . . 171 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 12 BUDOWANIE POMIESZCZEŃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Projektowanie algorytmu budowy pomieszczenia . . . . . . . . . . . . . . . . . . . . 174 Rozszerzanie modułu hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Obliczanie całkowitej liczby bloków potrzebnych do budowy pokoju . . . . . 177 Pisanie funkcji buildRoom( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Pisanie programu buildRoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Uruchamianie programu buildRoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Co już wiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 13 BUDOWANIE PODŁÓG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Projektowanie algorytmu obchodzenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Budowanie podłogi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Powrót od początkowego położenia . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Przekazywanie funkcji do funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Rozszerzanie modułu hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Wywoływanie funkcji sweepFunc( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Poruszanie się wzdłuż wierszy i kolumn . . . . . . . . . . . . . . . . . . . . . 194 Szczegółowy spis treści XV Ustalanie za pomocą operatora modulo, czy liczba jest parzysta, czy nieparzysta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Drogi dla szerokości parzystej i nieparzystej . . . . . . . . . . . . . . . . . . 196 Pisanie funkcji buildFloor( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Pisanie programu buildFloor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Uruchamianie programu buildFloor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Tworzenie wzorzystej podłogi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Pisanie programu buildCheckerboard . . . . . . . . . . . . . . . . . . . . . . . 200 Uruchamianie programu buildCheckerboard . . . . . . . . . . . . . . . . . 201 Pisanie funkcji placeCheckerboard( ) . . . . . . . . . . . . . . . . . . . . . . . . 203 Wywoływanie funkcji sweepField( ) . . . . . . . . . . . . . . . . . . . . . . . . . 204 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 14 PROGRAMOWANIE AUTOMATYCZNEJ UPRAWY . . . . . . . . . . . . . . . . . . 207 Konfi gurowanie pola pszenicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Projektowanie algorytmu uprawy pszenicy . . . . . . . . . . . . . . . . . . . . . . . . . 209 Rozszerzanie modułu hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Pisanie programu farmwheat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Uruchamianie programu farmwheat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Konfi guracja programu farmwheat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Pisanie funkcji używanych w programie głównym . . . . . . . . . . . . . . . . . . . 216 Sprawdzanie plonów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Sadzenie nasion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Przechowywanie pszenicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Uprawa przy użyciu pętli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Wskazówki dotyczące automatyzacji innych rodzajów upraw . . . . . . . . . . . 223 Uprawa warzyw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Dojenie krów i strzyżenie owiec . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Zbieranie kurzych jajek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Uprawa kaktusów i trzciny cukrowej . . . . . . . . . . . . . . . . . . . . . . . . 226 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 15 PROGRAMOWANIE KOPACZA KLATEK SCHODOWYCH . . . . . . . . . . . . . 229 Projektowanie algorytmu kopania schodów . . . . . . . . . . . . . . . . . . . . . . . . . 231 Rozszerzenie modułu hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Pisanie funkcji digUntilClear( ) i digUpUntilClear( ) . . . . . . . . . . . . . . . . . 236 Pisanie programu stairminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Uruchamianie programu stairminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Konfi guracja dla programu stairminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Tworzenie pierwszego stopnia schodów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 XVI Szczegółowy spis treści Kopanie w dół . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Sprawdzanie paliwa żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Sprawdzanie ekwipunku żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Kopanie w górę . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Co już umiesz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 ZESTAWIENIE FUNKCJI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 API fs (File System – system plików) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 API hare API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 API io (Input/Output) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 API API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 API os (system operacyjny) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 API shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 API string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 API textutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 API turtle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Funkcje budowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Funkcje tankowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Funkcje ekwipunku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Funkcje przemieszczania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Funkcje percepcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Funkcje związane z narzędziami . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Funkcje Lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 ZESTAWIENIE IDENTYFIKATORÓW NAZW . . . . . . . . . . . . . . . . . . . . . . . 261 Znajdowanie ID nazwy bloku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Rozróżnianie bloków mających takie same identyfi aktory . . . . . . . . . . . . . 263 Lista identyfi katorów nazw bloków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 ZASADY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 SKOROWIDZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Szczegółowy spis treści XVII PODZIĘKOWANIA Fakt, że na okładce jest tylko moje nazwisko, to nieporozumie- nie. Ta książka nigdy by nie powstała, gdyby nie wysiłek wielu osób. Chcę podziękować mojemu wydawcy, Billowi Pollockowi; moim redaktorom prowadzącym, Janowi Cashowi i Annie Choi; redaktorowi produkcyjnemu, Laurelowi Chunowi; recenzentowi technicznemu, Danielowi Ratcliffe’owi; adiustatorce, Anne Ma- rie Walker; i całemu zespołowi No Starch Press. Chciałbym rów- nież podziękować Joshowi Ellingsonowi za świetną ilustrację na okładce. Dziękuję Michelle i Dougowi Rappom za wprowadzenie mnie do Minecrafta i drzew treningowych. WPROWADZENIE „Jeszcze tylko trzy diamenty i wtedy skończę” – pamiętam, jak to sobie mówiłem, grając w Mine- crafta. Potrzebowałem diamentów do nowego kilofa. Kilof był mi potrzebny do wy- dobycia większej ilości obsydianu. Obsydian był potrzebny to zrobienia portalu Netheru. Przez ten portal trzeba przejść, żeby zdobyć lawę. A lawy potrzebowałem do... do czego znów potrzebowa- łem lawy? No dobra. Rzeźbiłem ogromny posąg feniksa na zbo- czu góry i chciałem, aby lawa wypływała z jego oczu i dzioba. Dwie godziny później wciąż grałem i nie byłam w stanie szybko oderwać się od tego zajęcia. Minecraft jest grą, która uzależnia. Sprzedano około 107 mi- lionów jego kopii, co czyni go drugą najbardziej popularną grą wideo wszech czasów, którą pokonał tylko Tetris. Jest otwartą platformą do gromadzenia zasobów i budowania wszystkiego, co można sobie wyobrazić. Można budować zamki, aby chronić się przed hordami zombie, zbierać plony i opiekować się zwierzętami lub łączyć siły z przyjaciółmi, aby budować ogromne dzieła sztuki. Minecraft przyciąga określone grupy: dzieci, nastolatki, a nawet dorośli uwielbiają w niego grać. W tej książce będziemy korzystać z modu ComputerCraft (znanego także jako CC), aby zmienić swoje uzależnienie od bu- dowania w nałóg kodowania. Ale czym dokładnie jest Computer- Craft – lub mod, w tym przypadku? CZYM SĄ MODY MINECRAFTA? Sam Minecraft, nazywany vanilla Minecraft, to tylko początek. Minecraft może być modyfi kowany i rozszerzany przez inne opro- gramowanie, nazywane modami (skrót od modifi cations – mody- fi kacje), aby dołączyć dodatkowe funkcje, takie jak bloki, środowi- ska, przedmioty, potwory, a nawet światy, których nie ma w wersji vanilla. Ze względu na swoją popularność Minecraft przyciągnął jedną z największych społeczności moderów (czyli osób modyfi ku- jących mody) ze wszystkich gier wideo. Mody tworzone przez fanów można pobierać bezpłatnie. Nie- które dodają eksplorację kosmosu i rakiety. Inne czarną magię i zaklęcia. Można nawet znaleźć mody Minecrafta do tworzenia własnego zoo z dinozaurami, sieci szybkiej kolei i pasieki do ho- dowli pszczół. W tej książce użyjemy modu ComputerCraft, aby nauczyć się, jak programować. CZYM JEST COMPUTERCRAFT? ComputerCraft to mod Minecrafta, który dodaje do gry programo- wane żółwie. Mogą one zrobić wszystko, co zechce robić gracz: bu- dować kopalnie, karczować drzewa, stawiać budynki, wytwarzać przedmioty, wysiewać nasiona, doić krowy, piec ciasta i jeszcze więcej (patrz rys. 1). Armia żółwi mających kształt pudełka może automatycznie wykonywać wszystkie czasochłonne zadania, które gracz musi zazwyczaj robić ręcznie. XXII Wprowadzenie Rysunek 1. Żółwie ścinające drzewa (po lewej) i kopiące (po prawej) Haczyk polega na tym, że najpierw trzeba się nauczyć pro- gramować. Te żółwie rozumieją kod napisany w Lua (księżyc po portugalsku), czyli języku pro gramowania używanym przez zawo- dowych twórców oprogramowania w takich dziedzinach, jak wbu- dowane systemy liczące i tworzenie gier wideo. Oprogramowanie interpretera, które uruchamia skrypty Lua, ma tylko 100 KB, co oznacza, że można je z łatwością wbudować w inne fragmenty oprogramowania takie jak mod Minecraft. Lua jest często używa- ny w kodzie gier wideo – na przykład w World of Warcraft, Dark Souls, Portal 2 czy Factorio. Mimo że Lua jest prostszy od innych języków programowania, jest szybki i mocny. Te cechy są dla nas korzystne. Prostota Lua sprawia, że to dobry język, aby zacząć programować nawet bez żadnego doświadczenia. JAK KORZYSTAĆ Z TEJ KSIĄŻKI Aby korzystać z tej książki, trzeba nabyć kopię Minecrafta dla Windows lub macOS, bezpłatny mod ComputerCraft oraz bezpłat- ne oprogramowanie ATLauncher. Wszystkie instrukcje pobiera- nia i instalacji można znaleźć w rozdziale 1. Wpisując kod źródłowy z tej książki, nie należy pisać nume- rów na początku każdego wiersza. Na przykład jeśli zobaczymy następujący wiersz kodu, to nie musimy wpisywać 9. po lewej stronie ani też jednej spacji tuż za tym: 9. print( Jak masz na imie? ) Wprowadźmy tylko to: print( Jak masz na imie? ) Wprowadzenie XXIII Numery są tylko po to, aby w książce odwoływać się do okre- ślonych wierszy programu. Nie są one częścią rzeczywistego kodu źródłowego programu. Czasami w kodzie zobaczymy nieponumerowane wiersze ...urywek... To wskazuje, że jakiś kod został pominięty w celu zachowania zwięzłości. ...urywek... nie jest częścią samego kodu. CO ZAWIERA KSIĄŻKA? Po kilku pierwszych rozdziałach, które obejmują pojęcia dotyczące programowania, każdy rozdział tej książki skupia się na tym, jak napisać program, który żółw może wykonać, aby pomóc nam prze- żyć i dobrze dawać sobie radę w Minecrafcie. Znajdziemy tu także dodatkowe działania, które pozwalają sprawdzić nasze umiejętno- ści programistyczne. Oto co znajdziemy w każdym rozdziale: • Rozdział 1: Pierwsze kroki w ComputerCrafcie pomaga zainstalować i skonfi gurować Minecraft i mod ComputerCraft, możemy więc zacząć programowanie. • Rozdział 2: Podstawy programowania wprowadza nas w podstawowe pojęcia programowania i powłokę interaktywną. • Rozdział 3: Rozmowy z żółwiem przedstawia edytor pli- ków, z którego będziemy korzystać, aby napisać swój pierwszy program. • Rozdział 4: Programowanie żółwi, które tańczą poka- zuje, jak napisać program, aby żółwie przemieszczały się po całym świecie Minecrafta. • Rozdział 5: Ulepszanie tańca rozszerza program z poprzed- niego rozdziału o kilka nowych instrukcji programowania. • Rozdział 6: Programowanie robota-drwala przedstawia program, który sprawia, że żółwie ścinają drzewo i zbierają drewno. • Rozdział 7: Tworzenie modułów w celu ponownego wy- korzystania kodu uczy nas, jak napisać kod i wykorzystywać go w wielu programach. • Rozdział 8: Prowadzenie automatycznej uprawy drzew rozszerza program z rozdziału 6, tak aby można było utworzyć XXIV Wprowadzenie w pełni zautomatyzowaną uprawę oraz aby żółwie mogły uzyski wać drewno z wielu drzew. • Rozdział 9: Budowanie generatora bruku przedstawia program do wydobywania nieograniczonej ilości bruku, które- go żółwie będą używać jako budulca w rozdziałach od 10 do 13. • Rozdział 10: Tworzenie fabryki kamiennych cegieł po- kazuje program, który zmienia bruk z rozdziału 9 w kamienne cegły. • Rozdział 11: Budowanie ścian zawiera program, z którym używamy kamiennych cegieł do budowania ścian. • Rozdział 12: Budowanie pomieszczeń zawiera program, który pozwala łączyć ściany, aby budować pomieszczenia. • Rozdział 13: Budowanie podłóg przedstawia program do budowania podłóg i sufi tów dla naszych pomieszczeń. • Rozdział 14: Programowanie automatycznej uprawy za- wiera program, który sprawia, że żółwie uprawiają i zbierają różne rośliny, aby można się było nimi odżywiać. • Rozdział 15: Programowanie kopacza klatek schodo- wych przedstawia program, który wykopuje schody głęboko w ziemi, aby można było wydobywać rudę i inne cenne bloki. • Lista Zestawienie funkcji zawiera wszystkie funkcje z tej książki wraz z wyjaśnieniem, jak z nich korzystać. • Lista Zestawienie identyfi katorów nazw zawiera po- wszechnie stosowane bloki oraz elementy Minecrafta wraz z ich identyfi katorami, które będziemy stosować do identyfi kacji rodzajów bloków i innych elementów w naszych programach. UZYSKIWANIE POMOCY Minecraft jest znany z braku instrukcji dla nowych graczy. Nie ma on podręcznika ani nawet menu z pomocą. Minecraft zmusza nas do nauki na własną rękę. Trzeba przeszukiwać internet, sta- wiać pytania, znajdować na nie odpowiedzi, a czasami zwyczajnie przeprowadzić proste eksperymenty. Minecraft rozwija myśle- nie u graczy. Nawet po wpadnięciu do lawy lub zniszczeniu fun- damentów przez pnącze gracze powracają zdeterminowani, aby dowiedzieć się, jak pokonać te problemy. Wprowadzenie XXV Ta książka dotyczy jednak modu ComputerCraft, a nie pod- staw grania w Minecrafta. Aby móc z niej korzystać, trzeba już wiedzieć, jak w Minecrafcie: • wydobywać rudę, kamienie, pozyskiwać drewno i inne bloki; • zrobić stół do warsztatu i narzędzia, takie jak siekiera, łopata, pochodnia i kilof; • zrobić palenisko, rozpalić go, a potem przetopić bloki rudy lub ugotować na nim mięso; • zrobić schody, drabiny, skrzynie, drzwi, płoty i inne części, z których będziemy korzystać przy budowie; • zasiać nasiona i uprawiać żywość. Jeśli nie wiesz, jak to wszystko zrobić, to nie martw się. Mo- żesz się tego dowiedzieć, przeglądając internet. Wejdź do wybra- nej przez siebie przeglądarki i wpisz słowo minecraft wraz z tym, czego chcesz się nauczyć. Na przykład możesz wpisać do wyszu- kiwarki takie hasła, jak minecraft przetapianie rudy, minecraft pieczenie ciasta lub nawet samo minecraft podręcznik, aby znaleźć potrzebne informacje. Możesz także poszukać podręczników wideo do Minecrafta na stronach takich jak https://www.youtube.com/, używając tych samych haseł jak w przeglądarce. Jak wspomniałem wcześniej, ponieważ ComputerCraft nie jest dziełem tych samych osób co Minecraft, większość witryn z Minecraftem nie zawiera informacji o CC. Na temat CC można się dowiedzieć z ComputerCraft Wiki na stronie http://www.com- putercraft.info/wiki/. Jeśli masz pytania dotyczące CC, to mo- żesz założyć bezpłatne konto na forum ComputerCraft na stronie http://www.computercraft.info/forums2/. Jeśli masz dodatkowe pytania odnośnie do programów z tej książki, możesz też wy- słać post do społeczności na stronie https://www.reddit.com/r/ turtleappstore/. ZASOBY W SIECI Wszystkie programy z tej książki można pobrać bezpośred- nio z poziomu gry Minecraft (instrukcje podano w punkcie „Udostępnianie i pobieranie programów online” na stronie 52). I mimo że Minecraft nie obsługuje kopiowania i wklejania tek- stu spoza gry, cały kod oraz źródła dla tej książki są dostępne w witrynie towarzyszącej tej książce, https://www.nostarch.com/ XXVI Wprowadzenie codingwithminecraft/1. Tam możesz również pobrać kod dodat- kowych zadań, jeśli utkniesz lub chcesz sprawdzić rozwiązania! Znajdziesz tam również odnośniki do plików instalacyjnych (szczegółowe instrukcje instalacji można znaleźć w rozdzia- le 1). Jeśli chcesz analizować inne programy lub udostęp- niać swój kod, to możesz to zrobić za pośrednictwem https:// turtleappstore.com/, czyli bezpłatnej witryny do skryptów Com- puterCrafta (szczegóły na stronie 53, „turtleappstore.com”). CO JUŻ WIESZ Minecraft jest grą komputerową, w którą można grać na wiele sposobów. Przyciąga ona różnorodny tłum graczy. W tej książce nauczymy się, jak budować więcej w krótszym czasie, korzystając z ComputerCrafta – modu, który pozwala programować żółwie w języku Lua. Ucząc się, jak programować przy użyciu Lua i CC, można automatyzować wiele zadań, które w innym przypadku trzeba robić samodzielnie, takich jak wydobywanie, uprawianie, budowanie i wytwarzanie. Korzystając z Minecrafta oraz ComputerCrafta, rozwiążemy samodzielnie problemy, a przy okazji nabędziemy podstawowe umiejętności programistyczne. Zaczynamy! 1 Na tej stronie dostępne są oryginalne materiały autora, natomiast programy w wersji częściowo spolszczonej można pobrać z witryny WN PWN pod adresem http://smartkids. pwn.pl/material/kodowanie-z-minecraftem/. Wprowadzenie XXVII 1 PIERWSZE KROKI W COMPUTERCRAFCIE Zanim zaczniemy programowanie automatycznych żółwi, które speł- nią nasze rozkazy, musimy zainstalo- wać Minecrafta oraz mod Computer- Craft. Na szczęście bezpłatne oprogramo- wanie ATLauncher powoduje, że ten proces przebiega gładko. W tym rozdziale pokażę, jak uzyskać Minecrafta i mod Computer- Craft, a następnie przeprowadzę was przez wszystkie kroki konfi guracji, które trzeba wykonać przed rozpoczęciem programowania. INSTALOWANIE MINECRAFTA, ATLAUNCHERA I COMPUTERCRAFTA Konfi gurowanie modów Minecrafta jest zwykle skomplikowane, ponieważ wiąże się z wieloma złożonymi krokami. Teraz można jednak skorzystać z oprogramowania ATLauncher, aby łatwiej ładować mody do Minecrafta. Ponieważ Minecraft, ATLauncher i ComputerCraft zostały stworzone przez różne grupy ludzi, pro- gramy trzeba oddzielnie pobrać i zainstalować. Wszystkie trzy są dostępne dla systemów operacyjnych Windows, macOS i Ubuntu, lecz mod ComputerCraft nie jest dostępny dla Minecrafta na urzą- dzeniach ani na platformach mobilnych Xboxach czy PlayStation. Mody działają tylko dla Minecrafta w wersji Java Edition, która jest także nazywana wersją Windows Minecrafta. Wersja Minecrafta dla systemu Windows 10 nie obsługuje jednak modów, lecz ich nową postać nazywaną dodatkami (add-ons). Ale bez oba- wy! Będziemy korzystać z ATLaunchera, aby pobierać i instalo- wać właściwe wersje Minecrafta. ZAKUP MINECRAFTA ONLINE Chociaż ATLauncher i ComputerCraft są bezpłatne, Minecraft jest sprzedawany przez Mojang (teraz jego właścicielem jest Mi- crosoft). Można go kupić za pośrednictwem internetu na stronie https://www.minecraft.net/ po utworzeniu bezpłatnego konta Mojang. Po dokonaniu zakupu nie należy pobierać Minecrafta z jego witryny. Zamiast tego użyjemy oprogramowania ATLaun- cher, aby pobrać i zainstalować Minecrafta na komputerze. (Jeśli masz już zainstalowanego Minecrafta, to dalej postępuj według instrukcji instalowania Minecrafta przy użyciu ATLaunchera.) UWAGA Dbaj o bezpieczeństwo i tajność swojego konta Mojang. Nie udo- stępniaj go swoim przyjaciołom lub ludziom, którzy twierdzą, że są pracownikami Mojanga. Używaj go tylko do logowania się do programu ATLauncher lub do witryny https://www.minecraft. net/ i żadnych innych. Jeśli uważasz, że ktoś mógł zalogować się do twojego konta, to natychmiast zmień swoje hasło. POBIERANIE I INSTALOWANIE ATLAUNCHERA Program ATLauncher ułatwia dodawanie modów do Minecrafta. Na rysunku 1.1 pokazano, jak pobierać go bezpłatnie ze strony 2 Rozdział 1
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Kodowanie z Minecraftem. Buduj wyżej, szybciej zbieraj plony, kop głębiej i automatyzuj nudne zajęcia
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: