Snake Oversikt over prosjektet Steg 1: Slangen flytter

Snake
Ekspert
Scratch

P DF
Introduksjon
EnellerannenvariantavSnakehareksistertpånestenallepersonligedatamaskinerheltsidensluttenav1970-tallet.Ekstra
populærtblespilletdadetdukketoppiNokiasmobiltelefoneri1997,ogdesenesteåreneharspillettilogmedblittinnlemmeti
NewYorksMuseumofModernArtssamling.
Selvespilletgårenkeltoggreitutpååstyreenslangerundtpåskjermen,mensslangenmåunngååkrasjeikantenav
skjermenellersegselv.Slangenvokservedåspiseeplersomdukkeropptilfeldigestederpåskjermen.Snakekanvidereutvikles
påmangemåter,entenvedålageekstrahindringerpåskjermen,vedforskjelligetyperbonusepler,ellerforeksempelvedatto
slangerkonkurrereromåspiseepleneogomåstengehverandreinne.
Oversiktoverprosjektet
MestepartenavkodingenavSnakeskaldugjøreselv.ISnakebrukerviklonerpåenlittspesiellogganskesmartmåte.Vivil
derforfokuserepåkloningibegynnelsenavdenneleksjonen.
Plan
Slangenflytterpåseg...eller?
Styrslangentildenkrasjer!
Eplerogannetsnadder.
Vegger,bonusepler,flereslangerogandreutfordringer.
Steg1:Slangenflytterpåseg...eller?
Snakeeriprinsippetetenkeltspillålage.Menenutfordringerhvordanselveslangenskalflyttesrundt.Førstvirkerdetkanskje
somommantrengerenellerannenlistesomhuskerhvorhverdelavslangenerslikatmankanflytteden.
Istedetforåbrukelisterskalvibrukekloningpåenlittspesiellmåte.Huskatnårviklonerkopierervibådeutseendetog
oppførselentilenfigur.Vivilstartemedenenkelbokssomvilværeendelavkroppentilslangen.Denneboksenvilviflytte,
klone,flytte,kloneogsåvidere.Triksetforatdetskalseutsomomslangenflytterpåsegeratdegamleklonenesletterseg
selvetterlitttid.
Ifigurenerdenblåboksenhodettilslangen,degrønnebokseneerkroppentilslangen,mensdehvitebokseneindikererhvor
slangenharvært(meneregentligslettedeklonedebokser).
Foråvitenårviskalsletteklonerbrukervitrevariabler: lengde erlengdenpåslangen, teller erenenkeltellersompasserpå
hvormangestegslangenhargåttsidenbegynnelsenavspillet.Tilsluttvil minid væreettallsomfortellerhvilketnummeri
rekkenengittkloneer.Overer minid skrevetihverboks, teller er16sidenslangenhargått16steg,og lengde er6.
Trikseternåganskeenkelt.Hverkloneslettersegselvhvis minid ermindreenn teller - lengde .Laossprøvedetteuti
praksis.
Sjekkliste
Startetnyttprosjekt.Slettkattefiguren.
Lagenboksfigur.Tegndenneselv.Dubørlagedenganskelitenslikatdufårplasstilenlangslangepåskjermen.Pass
ogsåpåatboksenblirlikebredsomhøy.Etstedmellom 10x10 og 20x20 erenfinstørrelse.
Lagsådetrevariablene: lengde og teller skalgjeldeforallefigurer,mens minid mågjeldekunfordennefigurensiden
denskalværeforskjelligforhverklon.
Viskalnålagehovedløkkenispillet.Førstsettervidenødvendigevariablene,deretterbrukervienløkketilålagestadig
nyeslangebokser.
nårjegmottar Nyttspill
sett teller
▼
til 0
sett lengde
▼
til 5
gjentatil berører kant
sett minid
▼
endre teller
▼
▼
til teller
▼
med 1
vent 0.1 sekunder
lagklonav meg
▼
gå 10 steg
Hermå 10 -talleti gå10steg -klossenværeliktmedstørrelsenpådinboks.
Selvekloneboksenetrengernåbareventetildeskalslettesegselv.Deterganskeenkelt.
nårjegstartersomklon
venttil
teller - lengde
> minid
slettdenneklonen
Sammenligndisseskriptenemedfigurenogforklaringenovenfor.Skjønnerduhvordandefungerer?
Prøvspilletditt.Detkanværegreitålageetskriptpåscenensomsenderutmeldingen Nyttspill nårdetgrønneflagget
klikkes.Duskalseenslangesombevegersegoverskjermen,dukanselvsagtikkestyredenenda!
Steg2:Styrslangentildenkrasjer!
Viskalnåkontrollereslangenmedpiltastene.
Deterlettåbrukepiltastenetilåkontrollereslangen.Sidendengåravsegselvtrengervibareåendreretningennårpiltastene
trykkes.
Sjekkliste
Lagetnyttskriptsomogsåstarterpå Nyttspill -meldingen.Lagen foralltid -løkkehvordutesteromhverpiltaster
trykketogendrerhvilkenretningfigurenpekertilsvarende.
Leggtilen gåtilx:y: -ogen pekiretning -klossførstiskriptetdittslikatslangenstarteretfornuftigstedibegynnelsenav
spillet.
Dukanmarkerehodettilslangenvedålageenekstradrakt.Lagforeksempelenkopiavdenboksendualleredehar
tegnet,ogendrefargenpådenne.Kallenavdraktene hode ogdenandre kropp .Dukandabruke hode -drakteni
hovedløkkenhvordugenerererklonen.Iskriptetforhverklonendrerdusådraktentil kropp før vente -klossen.
Leggogsåinnensjekkpåomslangenkrasjerisegselv.Dettekanduforeksempelgjørevedåutvidetesteni gjentatil klossenmed eller og berørerfargen .
Prøvspilletditt.Duskalnåkunnestyreslangendinrundtpåskjermen,helttildukrasjerikantenelleridegselv.
Steg3:Eplerogannetsnadder
Nåskalvigislangenlittmålogmening.Vedåspiseeplerkanslangenvoksesegstorogsterk!
Epleneerganskeenkleålagedavibaretrengerenfigursomblirbortenårslangenspiserdem.Foråenklerekunneutvidemed
flereeplerogsliktsenerebrukervikloneravepleneogså.
Sjekkliste
Lagennyeplefigur.Dennebørværeomtrentlikestorsomslangen.Foreksempelenrødfylltsirkelsomeromtrent 10x
10 passerbra.
Lagetskriptsomstarterpåennymelding Lageple .Detteskriptetskalflytteeplettilettilfeldigstedpåskjermen,og
deretterlageenklon.Menvivilværelittnøyemedateplethavnerisamme"rutenett"somslangen.Foreksempel,om
slangeboksenedineer 10x10 kandubrukenoesomdette:
gåtilx:
10 * tilfeldigtallfra -23 til 23
y:
10 * tilfeldigtallfra -16 til 16
Huskatskjermenharkoordinaterfra -240 til 240 ix-retning,og -180 til 180 iy-retning.Passpåateplenedinelander
godtinnenforskjermenslikatslangenkanspisedem.
Nåtrengervietskriptsomsenderutslike Lageple -meldinger.Lagetskriptsomstarternårdetmottar Nyttspill .Dette
skriptetskal skjule epletogderettersendeen Lageple -melding.
Tilsluttlagervioppførselenforetsliktkloneeple.Lagetnyttskriptsomstartermed nårjegstartersomklon .Dette
skriptetmå vise eplet, ventetil det berørerslangen ,øke lengden påslangen,deretter sende en Lageple -meldingog
tilslutt slettedenneklonen .
Leggpånoenenklelydeffekter!Foreksempelpasserlyden chomp ganskebranåretepleblirspist.Hvilkenlydpasser
nårslangenkrasjer?
Steg4:Videreutviklingavspillet
Dustårheltfrittihvordanduviljobbevideremedspilletditt,menherernoenideersomkangjørespilletendamorsommereå
spille:
Ideertilvidereutvikling
Leggtilenpoeng-teller.Detenklesteerbareåbruke lengde sompoeng.Visdennevariabelenpåskjermen.Høyreklikkpå
denogvelg stor .
Lahastighetenøkeetterhvertispillet.Vanligvisgjørvidettevedåforandrehvormangestegenfigurgår.Detkanviikke
gjørehersidenhverboksislangekroppenmåhengesammen.Istedetkanduforandrepåhvorlengedetventesmellom
hverklonsomlages.
Kanskjedukanvidereutviklehelekonseptet,slikatdetermuligåplukkeoppforskjelligebonuseplerunderveis.For
eksempelkanduhaeplersomøkerlengdenpåslangenmedmerenn1,eplersomlagerflereepler,ekstrastoreepler,
ellernoeheltannet.
Dettrengerjoikkebareværeettepleomgangen.Omduforeksempellagertreepleristartenavspilletvildetværelitt
mindreletingetterepleneogspilletkanværelittmorsommere.Dukangjøredettevedhjelpavkloning,barepasspåat
ikkeklonenelagernyeklonerigjen!
Laepleneflyttesegomdetgårenvisstidutenatdeblirspist.Foråholdestyrpåtidenkandubruke tid -klosseni
Sansning -kategorien.
Istedetforatslangenbarekankrasjeisegselvellerikanten,kanduogsålagehindringerpåselvebrettet.Dissekandu
foreksempeltegnepåbakgrunnenienspesiellfargeogderetterundersøkeomslangen berørerfargen .Dukantilog
medhaflerebrettmeddørermellom.
Hvamedålageento-spillerversjon?Spillerenestyrerhversinslange,ogsamtidigsomdekonkurrereromåspiseeplene
prøverdeåsperrehverandreinne.
Spilletdittfortjenerogsåenforsideogenmenysomkanstartespillet.Herkanduogsålaspillerenevelge
vanskelighetsgradvedåendrepåtingsomlengde,hastighet,hinderibanenogsåvidere.
Lisens: CCBY-SA4.0 Forfatter: GeirArneHjelleogMartinLie