Есептегіші бар цикл
Блок (2.2-сурет) цикл денесін қандай сан көрсетілсе, сонша рет қайталауды ұйымдастырады.Оған денециклдіәрбір орындаған сайын 1 санға азайып отыратын, 0-ге дейін азаятын есептегіш кіріктірілген. Қайталаулар санын константа түрінде ғана емес, сондай-ақ кез келген репортер, оған қоса математика операторлары түрінде де белгілеуге болады (2.3-сурет). Ол блокты өте икемді етеді.
2.3-суреттеҚайталаулар санын репортерлер бере алады
Бір циклді екіншісінің ішінде орындауды ұйымдастыруға болады. Бұл жағдайда сыртқы және ішкі циклдер жеке болады (2.4-сурет).
2.4-сурет.Сыртқы және ішкіциклдер
Алғышарты бар цикл
Егер цикл неше рет қайталанатыны, мысалы, «Санды тап» ойынында сияқты белгісіз болса, не істеу керек?Бұл жағдайда алғышарты бар циклді (2.5-сурет) немесе кейінгі шарты бар (2.6-сурет) циклді қолданады.
2.5-сурет.Алғышарты бар циклді жүзеге асыру блок-сызбасы
2.6-сурет.Кейінгі шарты бар циклді жүзеге асыру блок-сызбасы
Циклдің осы түрлерінде шарт цикл денесін орындау алдында тексеріледі, сондықтан аталған шарт басталмаса, цикл бірде бір рет орындалмайды. Егер үлкендер үй тапсырмасын орындамасаң, кәмпит жемейсің деп шарт қойса, сіз оны алмайсыз.
Блокүнемі күту жағдайында болады да, шарт сақталған жағдайда цикл денесін іске қосады.Шартты тексеру неше рет шындық нәтиже берсе, цикл сонша рет қайталанады. Егер шарт жалған болса, цикл ішіндегі әрекеттер орындалмайды.
1-тәжірибелікжұмыс. «Pong» ойыны
1-қадам. Есеп
Осы бөлімде секіріп жатқан доп еденге ұрылмас үшін, пайдаланушы ракетканы жылжытуы тиіс болатын компьютер ойынын жасайсыз. Ол Pong классикалық ойынына негізделген. Пайдаланушы интерфейсі 2.7-суретте көрсетілген.
2.7-сурет.Экрандағы ойын
2-қадам. Жоба жасау
Суретте көрсетілгендей, доп Сахнаның жоғарғы бөлігінде қозғалысты бастап, Сахна шетінен секіре отырып, кездейсоқ бұрыш астына ауысады. Ойыншы допты кері жоғарыға лақтыру үшін, ракетканы көлденеңінен (тінтуір көмегімен) жылжытады. Егер доп Сахнаның төменгі шекарасына тисе, ойын біткені.Ойынды қадамдап құрастырамыз.Алдымен жаңа жоба ашуымыз керек. Scratch жаңа жобасын бастау үшін «Файл» – «Жаңа» таңдаңыз. Содан кейін тінтуірдің оң жақ батырмасын шертіп, шығатын мәзірден Жоюды таңдап, спрайт-мысықты алып тастау керек.
3-қадам. Фонды дайындау
Доп қашан ракетка жанына түскенін анықтау үшін Сахнаның төменгі шекарасын белгілі бір түспен белгілейміз, доп осы түске тигенін анықтау үшін, түске дейін жету блогын пайдаланамыз (Сенсорлар бөлімінен). Қазір бізде ақ фон, Сахнаның төменгі шекарасына 2.8-суретте көрсетілгендей жіңішке қызыл түсті тікбұрыш сала аламыз.
2.8-сурет.Сахна фонының төмен жағына тікбұрыш суретін салудың қадамдары
4-қадам. Ракетка мен допты қосамыз
Жаңа жобаңызға Ракетка (Paddle)қосу үшін Спрайттар тізімі үстіндегі Жаңа спрайт салубатырмасын басыңыз. Ракетка – қарапайым жіңішке қысқа төртбұрыш болғандықтан, 2.8-суретте көрсетілгендей қажетті фигураны салу үшін 3-қадамды қайталаңыз. Оны өзіңізге ұнайтын кез келген түске бояп, ортасын төртбұрыш ортасына таман орнатыңыз.Спрайт нені білдіретіндігін түсіндіре алатындай етіп, оған ат қойыңыз. Сондай-ақ Сахнадағы ракетка бейнесін шертіп, оныңукоординаты – 120 болатындай етіп қозғалтыңыз.
Міне бізде ракетка бар, бірақ оның жанында секіріп жүретін доп жетіспейді. Спрайтты импорттау үшін, спрайттар тізімі үстіндегі Кітапханадан спрайт таңдауды басыңыз.
Пайда болған терезеден Заттар санатын таңдап, содан кейін доп бейнесін таңдап, оны жобаға қосыңыз. Спрайтты Доп деп қайта атаңыз. Ойынға арналған скрипттермен жұмысты бастамас бұрын, өзіңіз жасап қойған нәрселерді сақтау үшін «Файл»- «Өз компьютеріңізге жүктеуді»таңдаңыз.Пайда болған диалог терезесінен, өзіңіздің жұмысыңызды сақтағыңыз келетін папканы таңдап алып, файлды Pong.sb2 деп атап, Сақтауды басыңыз.Егер сіз Scratch сайтына өз логиніңізбен кірсеңіз, сіз өз жұмысыңызды бұлтта (Scratch серверінде) сақтай аласыз. Кез келген жағдайда файлдарды жиі сақтап отыруды ұмытпаңыз. Ракетка мен Доп спрайты бар кезде Сахна 2.7-суретке ұқсау керек. Келесі қадам ойын іске қосылу үшін қажетті скрипттерді қосу болып табылады.
5-қадам. Ойынды бастау және спрайттарды қозғалуға мәжбүрлеу
шерткен кезде, блок-триггерден басталатын кез келген скрипт осы батырмаға баса сала жұмыс істей бастайды.Жалауша ашық жасыл түске боялып, скрипт жұмысын аяқтағанға дейін сол қалпында қалады. Оны әрекетте көру үшін 2.9-суретте көрсетілгендей, Ракетка спрайты үшін скрипт құрыңыз.
2.9-сурет.Ракетка спрайтына арналған скрипт
Ойыншы жасыл жалаушаны шерткеннен кейін (1),егер тінтуірді оған дейін ол жерден алып тастамасаңыз, блок х: у: ауысады (2), ракетканың тік позициясын 120-ға орнатады. Ракетка Сахна астындағы тура ашық қызыл төртбұрыш үстінде ұшады, сондықтан төртбұрыш жуанырақ болса, ракетка координаттарын сізге қалай ыңғайлы болса, солай өзгертіңіз.
Содан кейін скриптте тінтуір позициясын үнемі қадағалап отыру үшін, үнемі блогы (3) пайдаланылады. Біз оның позициясы ретінде тінтуірдің х позициясын көрсету арқылы (4), ракетканы әрі-бері қозғалтамыз. Скриптті іске қосыңыз (жасыл жалаушаны шертіп) да, тінтуірді көлденеңінен қозғалтып көріңіз. Ракетка оның артынан жүру керек.
Скриптті тоқтату үшін жасыл жалауша жанындағы белгіні шертіңіз.
Біз жасыл жалаушаны шерткенде доп қозғала бастау керек, сондықтан бірінші кезекте спрайт-допқа 2.10-суреттегі скриптті қосыңыз.
2.10-сурет.Допқа арналған скрипттің бірінші бөлігі
Алдымен біз допты Сахнаның жоғарғы жағына жылжытамыз (1) да, оны, кездейсоқ бұрышты таңдау блогын (Операторлар бөлімінен) пайдалана отырып (2), оны кездейсоқ бұрышта ұшуға мәжбүрлейміз. Содан кейін доп Сахна бойынша қозғалып, оның шетінен секіру үшін (4), скрипт үнемі блогын (3) пайдаланады. Тексеріңіз. Доп зигзагпен қозғалу керек, ал ракетка тінтуірдің артынан жүру керек.
Енді допты ракеткадан ұшуға мәжбүрлейтін блоктарды қосамыз. Біз жаңа ғана құрған үнемі блогын, 2.11-суретте көрсетілгендей, доп ракеткадан секіріп, жоғары ұшатындай етіп өзгерте аламыз.
2.11.-сурет. Доп жоғарыға секіру үшін, блок қосу
Доп пен ракетка бір-біріне тиген кезде, біз допқа -3,-дан 30-ға дейін кездейсоқ бағытта бұрылу пәрменін береміз. Үнемі блогы екінші айналымға кірген кезде, ол допты жоғарыға ұшуға мәжбүрлейтін жүру блогын орындай бастайды.
Ойынның осы бөлігін тестілеу үшін, қайтадан жасыл жалаушаны шертіңіз. Көзделгендей, доп ракеткадан секіре бастағанына көз жеткізгеннен кейін, Тоқтаны басыңыз.
Енді бір ғана жетіспейтін нәрсе – егер доп Сахнаның төменгі шекарасына тисе, ойынды тоқтататын код. Спрайт-допқа 2.12 сур көрсетілгендей скрипт қосыңыз, немесе егер блогынан кейін бірден (2.11-сурет), немесе тікелей алдыға. Блок түске тие ме ? сіз Сенсорлар бөлімінен табасыз, блок тоқта— Басқару бөлімінде.
Сіз тінтуірді блок ішіндегі түске тиеді түрлі-түсті шаршыны тінтуірмен шерткен кезде?, меңзер жебесі қолға өзгереді. Сіз меңзерді ауыстырып, Сахна астындағы ашық қызыл төртұрышты шерткен кезде, блок ішіндегі осы шаршы да сол түске боялады. Барлығын тоқтату блогы барлық жұмыс істеп тұрған скрипттерді тоқтатады.
2.12-сурет. Ойынды аяқтауға арналған блоктар
Ойын дайын! Тестілеңіздер.
Достарыңызбен бөлісу: |