Развој на училиштата NRW - програмирање со GLOOP - наставни проекти - здруженија
Ориентациона област (етикети за скокови)
- УП со ГЛУП
- Брз почеток
- Проект за настава
- вовед
- Секвенцијално програмирање
- Контролни структури
- Сопствени часови
- Здруженија
- Наследство
- документација
- инсталација
- Најчесто поставувани прашања
- Лице за контакт
- Лиценца
CMS_VALUE [3]
Додека сопствените часови веќе беа воведени и обезбедени со едноставни врски, следниот дел се занимава со проток на податоци помеѓу неколку објекти. Досега, предметите имаа пристап до други објекти само ако ги создадоа сами. Ова веќе не е доволно за посложени проблеми. Ако некој објект треба да има пристап до оној што не е создаден сам, соодветната референца мора да се пренесе како параметар во конструкторот или во методот. Ова значи дека на истиот објект може да се пристапи од различни локации користејќи различни идентификатори. Ова бара студентите да имаат подлабоко разбирање на референцата, што треба да се развие во следниот модул.
материјали:
- Воведна фаза УВ IV.1 (врска)
Сцена на низа
Овој модул започнува со помош на идеја за класична игра. Треба да се програмира игра во која мало НЛО може да се види на дното на екранот и може да се премести лево и десно од играчот со помош на копчињата со стрелки.
Астероидите сега летаат одозгора, што мора да се избегне. Ако НЛО го погоди астероид, играта е завршена.
Првично, играта треба да се реализира со само три астероиди. Понатаму, сите предмети се наоѓаат во XY рамнина, т.е. тој е моделиран дводимензионално.
Слика 1: Скица за планирање за проектот НЛО игра
Анализата на овој проблем брзо доведува до резултат НЛО да се состои од неколку ГЛО-објекти, кои треба да се преместат синхроно доколку НЛО избегне. Таквиот состав е веќе познат.
Проблемот тука лежи во деталите, ако се праша како треба да се реализира судирот помеѓу НЛО и астероид. Еден можен пристап е првично да се исклучи овој проблем и да се спроведе само контролата на НЛО и движењето на астероидите. Соодветното моделирање без судир тогаш изгледа вака:
Слика 2: Моделирање на едноставен прототип без судир
Соодветна програма може да биде развиена од самите студенти или во делови дадени како прототип и анализирана.
Добра идеја е да се прошири програмата на таков начин што астероид кој мигрирал на дното надвор од сликата на фотоапаратот, да се постави во нова позиција над горниот раб на опсегот за откривање на фотоапаратот, за да може повторно да лета кон НЛО . На овој начин, постојан прилив на пречки може да се симулира со само три објекти.
Ресетирањето на астероидот може да биде изнесено на соодветна приватна метода.
Освен тоа, судирот треба уште да се реализира. Секој астероид треба да има пристап до НЛО за да може да провери судир и, доколку е потребно, метод експлодира () на НЛО може да се јави. За да го направите ова, упатувањето на НЛО се пренесува во конструкторот на астероидот и се зачувува од него. Продолженото моделирање тогаш изгледа вака:
Слика 3: Моделирање на едноставен прототип со судир
Методите ресетирај на зададено () и се сретна () се приватни методи на часот астероид и се наоѓаат во Помести () на астероид наречен. Методот се сретна () тестови за судир со НЛО и ја враќа вредноста вистинито, ако има. Методот Помести () на астероид потоа ќе експлодира НЛО.
Слика 4: НЛО играта во две димензии
За да одлучи дали има судир, астероидот ја користи теоремата на Питагора за да го пресмета растојанието помеѓу него и НЛО. За ова, тој треба да ја најде позицијата на НЛО со помош на методите gibX () и gibY () може да се распраша. Ако растојанието е под одредена вредност на прагот, се претпоставува судир.
Во овој момент треба да се забележи дека предметот од типот НЛО сега може да се пристапи од две различни локации. Покрај тоа, се користат две референци кои можат да имаат дури и ист идентификатор затоа што се во различни класи.
Ако играта НЛО заврши на овој начин, првиот чекор во проширувањето може да биде да се прошири на третата димензија. Камерата е навалена за 90 степени и движењето на НЛО околу методите движете се нагоре () и да се движи надолу () проширен. Позиционирањето на астероидите исто така ќе се прошири за една димензија, исто како што пресметката на растојанието помеѓу астероидите и НЛО мора да се претвори во три димензии.
Бидејќи сега има значително повеќе простор за избегнување, бројот на астероиди треба да се зголеми со помош на поле. Резултатот може да биде симулација како Слика 5.
Слика 5: НЛО играта во три димензии
Се разбира, исто така е можно да се вметне промена во брзината на играта, да се дозволат неколку промашувања пред да заврши играта или да се додаде ласер, со чија помош астероидите можат да бидат исфрлени од нивниот пат.
продлабочување
Со цел да се продлабочи принципот на повеќекратно упатување на објекти, достапни се неколку идеи за проекти кои се базираат на слично моделирање како и НЛО играта.
Проектот за фаќање топка е алтернатива. Три топки се движат на квадратно поле за игра. Кога ќе стигнат до работ на полето, сменете го правецот за да не го напуштат теренот. Играчот контролира мала кутија за стапици преку полето за играње и треба да предизвика судир со топките и да ги „фати“ на овој начин. Ако биде фатен куршум, тој исчезнува. Кога сите топки ќе бидат фатени, играта е завршена.
Играчот е контролиран од стапицата, за да може со тастатурата да ја означи новата насока на движење на кутијата. Кутијата потоа продолжува да работи во соодветната насока сама по себе. Доколку се заканува да го напушти теренот, тоа исто така автоматски го менува правецот.
Слика 6: Скица за планирање на проектот Кугелфанген
Моделирање за овој проект треба да ги вклучува часовите Замка за куршум, Куршум, кутија и поле на натпревар вклучуваат. Моделирањето во контекст на библиотеката Пенкала и глувци или во Greenfoot обично се одвива без час поле на натпревар, бидејќи тие го толкуваат екранот како поле за игра. Бидејќи библиотеката GLOOP нема екран, тука треба да се развие посебна класа. Евентуалното моделирање може да изгледа вака:
Слика 7: Моделирање на проект за фаќање топка
Со создавање на објект од класата Замка за куршум играта започнува. Ги создава сите други објекти и го повикува методот за полето и трите топчиња во јамка за анимација премести () на. Во зависност од записот на тастатурата, методот setMovement () наречена кутија. Новата насока на движење на кутијата се пренесува на неа со помош на два параметри, при што pVX е компонента на движење во X насока и pVZ компонентата на движење во насока Z. Затоа, играта е моделирана во рамнината XZ. Како што се движат, и шеснаесетникот и топката проверуваат дали стигнале до работ на полето за играње. За да го направат ова, тие можат да пристапат до полето за играње и да ја побараат нејзината ширина и длабочина. Топките исто така проверуваат дали има судир со шеснаесетникот и евентуално стануваат неактивни и невидливи.
Играта завршува кога сите топки се неактивни.
Следниот изворен код го претставува методот за движење на топката:
Метод на изворен код за движење на топчињата
Готовиот резултат може да изгледа како што е прикажано на слика 8.
Слика 8: Модел решение за проектот Кугелфанген
Се разбира, повеќе од три топки лесно можат да се создадат со помош на поле. Правилата на игра исто така може да се прилагодат. На пример, полето не може автоматски да ја смени насоката при напуштање на полето за играње, туку да падне преку работ и со тоа да ја заврши играта. Може да се инсталира и бројач на точки. Играта тогаш може да заврши кога ќе се постигне одреден број поени. Пред да се постигне овој број на поени, постојано се појавуваат нови топки.
Покрај овие два проекта, има и голем број други опции за вежбање на односи со објекти од овој тип. На пример, автомобил може да вози низ шума или масата на базенот да биде опремена со топчиња што отчукуваат.
Слика 9: Возење и билијард како понатамошни опции за специјализација
- QUA-LiS NRW
- Стручна обука
- Стандардна резервна копија
- понатамошно образование
- Заштита на податоци
- отпечаток