Uvod

Научићемо како се прави игра у којој се мишем води брод до пустог острва.

Корак 1: План игре

Упутство

  • Отвори нов Скрач пројекат и обриши лик мачке тако да пројекат буде празан.

  • Кликни на позадину сцене и испланирај ниво. Мораш да додаш:
    • Балван који брод мора да избегне;
    • Пусто острво до кога брод мора да стигне.

    Ево како би игра требало да изгледа:

    screenshot

Корак 2: Контрола брода

Упутство

  • ако ти је учитељ обезбедио директоријум ‘Ресурси’, кликни на ‘Пошаљи лик из библиотеке’ и додај слику ‘boat.png’. Требало би да смањиш лик и да га поставиш у његов почетни положај.

    screenshot

    Ако немаш слику брода boat.png, можеш и сам да нацрташ свој брод!

  • Бродом ће се управљати помоћу миша. Додај броду следећи код:

        када је кликнуто на ⚑
    усмери се ка (0 v)
    иди на x:(-190) y:(-150)
    понављај
       усмери се ка [показивач миша v]
       иди (1) корака
    end

  • Испробај да ли се брод креће тако што ћеш кликнути на заставицу и померати миша. Да ли брод плови према мишу?

    screenshot

  • Шта ће се десити када брод стигне до показивача миша?

    Да би то спречио, мораћеш да додаш један блок ако је ... онда у код, тако да се брод помера само ако је удаљен за више од 5 тачака од миша.

    screenshot

  • Поново испробај брод да би проверио да ли је проблем решен.

Сачувај пројекат

Корак 3: Судар!

Твој брод пролази кроз дрвене препреке! Хајде да то поправимо.

Кораци

  • Биће ти потребна два костима за брод, један уобичајен и други за случај када се судари. Дуплирај костиме брода и назови их ‘нормалан’ и ‘ударен’.

  • Кликни на костим ‘ударен’ и кликни на алат ‘Изабери’ да би бирао делове брода, померао их и премештао. Направи брод тако да изгледа као да се сударио.

    screenshot

  • Унутар петље понављај додај следећи код броду, тако да се судари кад наиђе на балван:

        ако је <додирује боју [#603C15]?> онда
    замени костим са [ударен v]
    изговори [Неееее!] током (1) секунде
    замени костим са [нормалан v]
    усмери се ка (0 v)
    иди на x:(-215) y:(-160)
    end

    Пошто се код налази унутар петље понављај, он ће стално проверавати да ли се брод сударио.

  • Мораш да се побринеш и да се брод после судара опет врати у нормалан изглед.

  • Ако сада покушаш да прођеш кроз дрвену препреку, требало би да видиш да се брод судара и враћа на почетак.

    screenshot

Сачувај пројекат

Изазов: Победи!

Можеш ли да додаш још једну наредбу ако је ... онда у код за брод тако да играч побеђује када стигне на пусто острво?

Када брод стигне до жутог пустог острва, требало би да каже ‘Jееее!’ и тада се игра завршава. Биће ти потребан следећи код:

    изговори [Jеее!] током (1) секунде
    заустави [све v]

screenshot

Сачувај пројекат

Изазов: звучни ефекти

Можеш ли да додаш звучне ефекте у игру тако да се чује када се брод судари или на крају стигне до острва? Могао би да додаш и музику у позадини (ако ти треба помоћ, потражи упутство за претходни пројекат,‘Рок група’).

Сачувај пројекат

Корак 4: Временско ограничење

Хајде да у игру додамо тајмер, тако да играч треба да стигне до пустог острва што пре.

Упутство

  • Додај нову променљиву названу време у сцену. Можеш и да промениш приказ нове променљиве. Ако ти је потребна помоћ, погледај упутство за пројекат ‘Балони’.

    screenshot

  • Додај следећи код у сцену, тако да тајмер мери време потребно броду да стигне до пустог острва:

        када је кликнуто на ⚑
    нека [време v] буде [0]
    понављај
        чекај (0.1) секунду
        промени [време v] за (0.1)
    end

  • То је то! Испробај игру и провери колико брзо можеш да стигнеш до пустог острва!

    screenshot

Сачувај пројекат

Корак 5: Препреке

Ова игра је превише лака - хајде да додамо понешто да бисмо је учинили занимљивијом.

Упутство

  • Хајде да прво додамо ‘гориво’ у игру, нешто што ће убрзати брод. Промени позадину за сцену и додај неколико белих стрелица.

    screenshot

  • Сада можеш да додаш код у петљу понављај за брод, тако да се помери за два додатна корака када дотакне белу стрелицу.

        ако је <додирује боју [#FFFFFF]?> онда
        иди (3) корака
    end

  • Можеш да додаш и капију која се врти, a коју брод треба да избегне. Додај нови лик ‘капија’ који изгледа овако:

    screenshot

    Постарај се да боја капије буде иста као и боја других дрвених препрека.

  • Центрирај лик капије.

    screenshot

  • Додај код капији тако да се полако врти у петљи понављај.

  • Испробај игру. Требало би да се појави капија која се врти, а коју брод мора да избегне.

    screenshot

Сачувај пројекат

Изазов: Још препрека!

Можеш ли да додаш још препрека у игру? Ево неких предлога:

  • Могао би да додаш зелене алге на позадину које ће успоравати играча када их дотакне. За то можеш да употребиш блок чекај:

    чекај (0.01) секунду

screenshot

  • Могао би да додаш неки покретни објекат, на пример ајкулу!

screenshot

Ови блокови ти могу помоћи:

    иди (1) корака
    ако си на рубу, окрени се

Aко твој нов објекат није браон боје, мораћеш да додаш боју у код за брод:

    ако је <<додирује боју [#603C15]?> или <додирује [ајкула v]?>> онда
    end

Сачувај пројекат

Изазов: Још бродова!

Можеш ли да преправиш игру тако да могу да је играју два играча?

  • Дуплирај брод, назови га ‘Играч 2’ и промени му боју.

screenshot

  • Промени почетну позицију другог играча тако што ћеш изменити следећи код:

    иди на x:(-190) y:(-150)

  • Обриши код који користи миша за контролу брода:

    ако је <(растојање од [показивач миша v]) > [5]> онда
        усмери се ка [показивач миша v]
        иди (1) корака
    end

…и замени га кодом који контролише брод преко стрелица.

Ово је код који је потребан да би се брод кретао унапред:

    ако је <дирка [стрелица горе v] је притиснута?> онда
        иди (1) корака
    end

Биће ти потребан и код за окретање брода када се притисну лева или десна стрелица на тастатури.

Сачувај пројекат

Изазов: Више нивоа!

Можеш ли да направиш додатне позадине тако да играч може да бира различите нивое игре?

    када је дирка [размак v] притиснута
    следећа позадина

Сачувај пројекат

Community Contributed Translation

This project was translated by Irina Branovic. Our amazing translation volunteers help us give children around the world the chance to learn to code. You can help us reach more children by translating a Code Club project via Github or by getting in touch with us at .