Autóverseny 2.
Lecketerv és program: Balaton Marcell Balázs
Írta: Zolnai László
Letölthető anyagok:   autoverseny2.sb Autóverseny 2.  

Autóverseny 2.

Az előző autóversenyes lecke folytatásában megtanítjuk a kék autónkat magától haladni. Így már egyedül is játszhatunk a számítógépes ellenféllel. Megírjuk az első kis mesterséges intelligenciával rendelkező robotautónkat!

1. Az új program előkészítése

Nyisd meg az előzőekben elkészített autoverseny1 nevű fájlt. Ehhez a felső menüsorban használd a Megnyitás gombot, és keresd meg a számítógépeden. Ha még nem készítetted el, akkor előbb menj végig az Autóverseny 1. leckén.

A Piros autó, a Feliratok és a Starter feladatain egyáltalán nem fogunk változtatni. A kék autóból viszont gépi ellenfelet kreálunk, és szükség lesz majd egy új szereplőre is, amit Ideális ív-nek fogunk hívni.

2. Az ideális ív trükkös megrajzolása

Az ideális ív a gépi ellenfél számára szükséges, ugyanis ő fog majd ezen haladni, és az általunk irányított Piros autóval mi próbáljuk meg őt megelőzni. Az Ideális ív megrajzolását egy trükk segítségével magával a Kék autóval fogjuk megtenni.

Ideiglenesen az egér segítségével vegyük le a pályáról a Piros autót és a Starter 3-as számát. Tegyük valahova félre a fűbe, hogy ne legyenek útban.

Válaszd ki a Kék autó szereplőt, majd kattints a toll parancskészletre. Most ezekkel az eszközökkel fogunk dolgozni. Azt szeretnénk, ha a kocsi vékony szürke vonalat húzna maga után, hogy egy kör megtétele után ideális ívként használhassunk. A következőkben használt parancsokat nem kell majd behúzni a feladatok közé, mindössze dupla kattintással kell őket egyszer aktiválni.

  • Kattints a tollszínt megváltoztató parancs színkockáján, és a megjelenő pipetta segítségével válaszd ki a Scratch ablak játéktér feletti szürkéjét. A kiválasztott szürke szín bekerült a színkockába. Most kattints duplán magán a parancson, hogy az autó tollszíne ténylegesen megváltozzon.
  • Állítsuk át a toll méretét 1-re, majd a paranccsal ténylegesen adjuk ki a parancsot.
  • Kattintsunk kétszer a Tollat tedd le parancsra is.

A Kék autó szereplő sebességét le csökkentjük, hogy megfontoltabban tudjuk majd vele megrajzolni az ideális ívet. A Kék autó programjában írjuk át a sebesség<1 feltételt sebesség<0.5-re, így:

Ha a sebesség így is túl gyors, válasszunk még kisebb értéket!

Most el kéne indulni az autóval, de nem kellen elindítani az egész programot. Kattintsunk csak duplán a Kék autó szereplő autómozgató parancsokat tartalmazó start sapkájára a programozási térben, így csakis az válik aktívvá. Ezt fehér körvonal jelzi.

Most már tudunk vele mozogni, és így tudunk vele rajzolni!

Ügyesen, óvatosan menjünk körbe a pályán, közben láthatjuk, hogy az autónk csíkot húz. Ne csússzunk le a fűre, és ne legyenek éles irányváltásaink, mert azt nem biztos, hogy követni tudja majd a gépjátékos. A legbiztosabb, ha szép nagy ívekben kanyarodunk. Próbáljuk a kört úgy befejezni, hogy összeérjünk a vonal elejével.

Ha körbeértünk, álljunk meg, és az egér segítségével vegyük le a pályáról a Kék autót is, hogy az se zavarjon.

3. Az ideális ív szereplővé alakítása

Hogy az Ideális ívet jobban lássuk, a hátteret átmenetileg egy fehér lapra cseréljük, majd egy szereplővé alakítjuk. Ez majd csak az ívet tartalmazza és a hátterét átlátszóvá festjük.

Válasszuk ki a Játéktér szereplőt, kattintsunk a Háttér fülre, majd nyomjuk meg a Festés gombot. Itt egyszerűen töltsük ki fehérrel a hátteret, és az OK gombbal lépjünk vissza.

Ekkor ez az új fehér háttér lesz kiválasztva. Ezután játéktérben kattintsunk a jobb gombbal, és válasszuk ki az Új szereplő létrehozása képterületből funkciót.

Jelöljünk ki egy akkora téglalapot, amibe belefér a rajzolt ív. Nem baj, ha más szereplőket is kijelölünk. A létrejött új szereplőnket nevezd el Ideális ív-nek.

Biztosan maradtak felesleges apróságok, ezért javítsuk ki a szereplő jelmezét a Festő ablakban. Az oda nem illő tárgyakat (autók, számok, feliratok, billentyűképek) jelöljük ki, és töröljük le. A fehér részeket átlátszó színnel töltsük ki, hogy csak a halvány szürke vonal maradjon. Akkor dolgoztál jól ha a rajzodon csupán a pályaív szerepel.

Ha a vonal nem ér össze, vagy túl szögletes kanyarokat sikerült rajzolnod, nagyítás mellett, és a legkisebb méretű ecsettel/vonalrajzolóval és egyéb eszközök segítségével most kijavíthatod a hibát. Vigyázat, ne hagyjunk éles kanyart vagy szakadást az ívben! Ha végeztünk az OK gombbal lépjünk vissza.

4. Az ideális ív véglegesítése

Most már nincs szükség arra, hogy az autóval rajzoljunk, tehát állítsunk mindent az eredeti állapotába!

  • Válaszd ki a Kék autó szereplőt, majd bal oldalt a toll parancskészletet. Kattints duplán a parancsra, hogy a korábban rajzolt ív eltűnjön. (Az ideális ív nevű szereplőnek a jelmeze természetesen nem fog törlődni!)
  • Kattints duplán a -re, hogy az autó ne rajzoljon többé.
  • A hátteret állítsd vissza az eredeti pályarajzra, azaz kattints egyszer az eredeti háttérre a Játéktér Háttér füle alatt.
  • Írd vissza a feltételt sebesség<0.5-ről sebesség<1-re.

Az ideális ív lehet, hogy elcsúszott, ezért fogd meg egérrel, és igazítsd a megfelelő helyre. Vigyázz, nehezen fog menni, mert csak 1 képpont széles.

Ezzel elkészítettük azt az utat, amin a kék autó haladni fog.

5. Az ív követése színérzékelők segítségével

Ahhoz, hogy az autónk kövesse az ideális ívet, érzékelőket kell rajta elhelyeznünk, ami figyeli, hogy eltértünk-e az ívtől, vagy sem. Ezért az kék autó első kerekeit két olyan eltérő színre festjük át, amiket még nem használtunk ezen a versenyautón. (A többi lefoglalt színnel ezesetben nem kell foglalkoznunk!)

Rajzoljuk át a Kék autó szereplőt a festő ablakban. Válaszd ki például a sötét lila színt, és fesd át vele az autó bal első kerekét.

6. A gépi ellenfél parancsainak megváltoztatása

Ha a Kék autó a szürke ideális ívtől el akar térni, akkor a programrészletünk addig forgatja az autót míg újra vissza nem talál az ívre. A kis program próbálja az autó két kereke közt tartani a szürke ívet.

Hogyan írjuk át a Kék autó szereplőhöz tartozó feladatot? A zöld zászlóval ellátott sapkás részt nem kell megváltoztatnunk, mivel ez felel a körszámlálásért. Továbbá töröljük az utolsó start sapkával rendelkező „S” billentyűt kezelő parancsot.

A start sapkával rendelkező parancslistán változtatunk csak. Az első Ha részt töröljük ki, ez a rész felügyelte a billentyűket, és az előre haladást. Most beillesztünk a helyére egy új parancs-sorozatot, ami ugyanezt a szerepet tölti be, csak most már a számítógép magától fogja forgatni az autót.

Mit is csinál ez?

  • Ha a kerekek nem érintik az ideális ívet megy tovább előre.
  • Ha a bal lila első kerék érinti, átfedi a szürke vonalat akkor balra fordul.
  • Ha a jobb kék első kerék érinti, átfedi a szürke vonalat akkor jobbra fordul.

7. Befejezés

Most már csak a Feliratok szereplő egyik jelmezét kell megváltoztatni, ugyanis most már nem kell kiírni a képernyőre a 2. játékoshoz tartozó billentyűk kiosztását. A számítógép tudja, hogy merre menjen az autó. :) Ezt a Festőablakban, a már jól ismert módon rajzold át, töröld ki a felesleges részt.

Mentsd el a projektedet autoverseny2 néven!

Most pedig versenyezz kedvedre a számítógéppel! Na, ki az ügyesebb?

 

Szólj hozzá!
Név:
Jelszó:


agoston12
2016. május 04. 19:57
agoston12
Be lehetne állítani időkorlátot is egyjátékosmodban


zsombor4
2010. december 03. 11:04
zsombor4
nincs olyan parancs az aútóverseny 2. nevü játékban hogy küldj üzenetet:piros nyert meg kék nyert


bmarcell (Scratch Magyarország csapat)
2008. március 18. 14:53
bmarcell
Szia Laura!
Sajnos a honlapokon megjelenő javás változat nem minden esetben viselkedik azonosan a Scratch programozási környezettel. Tehát ez egy olyan hiba, ami csak itt a weben nézve jelenik meg. Ha elkészíted a játékot, vagy letöltöd és megnyitod Scratch-ben, akkor rendesen fog működni.


Laura
2008. március 18. 10:27
Laura
sziasztok, miért megy le a kék autó a pályáról?



eXTReMe Tracker Valid HTML 4.01 Transitional