Handheld Pong & inkräktare på billigt (Arduino kompatibel) (10 / 13 steg)

Steg 10: Programmering - skiss funktioner




Skissen själv är knuten till detta steg. Det är ganska lätt kommenterade men namn på variabeln och funktion bör vara ganska självförklarande och jag tror det har söt rak-vidarebefordra så känn dig fri att anpassa det efter behov. Vänligen kom ihåg att jag bara få sträckor av runt 20-30 minuter åt gången på min pendlar att skriva skisser så det är nog inte den mest eleganta eller systematisk del av koden. Det fungerar ganska bra men använder det på egen risk!

I allmänhet är gör de viktigaste funktionerna i koden följande:

Ogiltig setup():

Detta helt enkelt initierar LCD och anger pinMode för växlar etc. Det skulle spela ett "Hej" ljud om man ligger, visar aktuella batterispänningen och kort testar bakgrundsbelysningen. Läser den höga poängen, bakgrundsbelysningens ljusstyrka och ljudvolymen från EEPROM och initialises EEPROM om detta chip inte har använts i spelet innan.

Ogiltig loop():

Varje funktion av konsolen har en "Speltyp". Detta inkluderar huvudmenyn och Inställningar-menyn. Huvudloop leder oss helt enkelt att den lämpliga subrutinen. När de återvänder från en subrutin vi behöva ställa rätt gameType (e.g. Speltyp = 0 för huvudmenyn).

Ogiltig pong():

Detta läser av spelare 1 bat samt antingen manuell eller automatisk position spelare 2 bat. Det sedan ställning bollen med kontrollerar hur länge spelet har spelats (öka hastigheten varje 30s) och uppdaterar skärmen. Den variabla frameDelay innehar perioden i ms mellan ramar och efter att skärmen uppdateras, det väntar på denna period löper ut innan du börjar igen.

void invaders ():

Liknar Pong spelet, detta cykler runda läsa bat (spelare) ställning, kontrollera status på skott och bomber, uppdatera liv, kontrollera om spelet bör skynda, flytta utlänningar och att skärmen uppdateras. Utlänningar flytta en bildpunkt i taget, men de animera endast varje 4 pixlar så att de helt enkelt inte blur och bättre likna det ursprungliga spelet. Som beskrivs i det sista steget, är utlänningar hålls och visas som tecken, liksom poängen och extra liv. Bat och UFO dras med linjer. UFO passar i 3-pixel utrymmet ovanför den översta raden av utlänningar, som vi fått genom att definiera ett mycket små teckensnitt för poäng.

Ogiltig checkBatt():

Detta övervakar batterispänningen och uppmanar användaren att stänga av och ladda om spänningen sjunker under 3.6V.

Se Steg
Relaterade Ämnen

LED Dawn / Sunrise väckarklocka, nattlampa & säkerhet ljus - Arduino kompatibel

som nätterna förlängs successivt under hösten 2011, jag upptäckt glädjen med Arduino och trodde att det skulle vara ett bra sätt att genomföra något som jag har velat ha en lång stund - ett skonsamt sätt att vakna upp på en vintermorgon. Tyvärr, det...

Hur man skapar en Arduino kompatibel Bluetooth 4.0 modul

UPPDATERING: Låter göra robotar, mitt hem digital hackerspace, köptes av RobotShop. Jag vill inte gå in, men de nya ägarna förbjudit mig själv och de flesta veteran medlemmarna. Som sagt, de flesta av länkarna där kommer att brytas. Lyckligtvis kunde...

UDuino: mycket låg kostnad Arduino kompatibel Development Board

Arduino styrelser är bra för prototyper. De får emellertid ganska dyrt när du har flera samtidiga projekt eller behöver massor av controller styrelser för ett större projekt. Det finns några bra, billigare alternativ (Boarduino, Freeduino) men kostna...

Hur set av brödunderläggen Arduino kompatibel.

Det är ingen hemlighet att runt oomlout HQ vi är stora fans av open source Arduino mikro-controller. Färdiga Duemilanove styrelsen är en fantastisk prototyping plattform, men ibland det är kul att göra något själv. Vad som följer är en guide om hur a...

Agent KK: Försvara ditt rum från obehörig inkräktare!

Syskon, syskon, syskon... Särskilt yngre syskon... De smyger in i ditt rum, och störa dina saker, när de tar inte bara dem som sina egna! Vad du behöver är att ringa på väktare av garderoben!Bygga och programmera denna lilla GoPiGo att skydda din gar...

Perfboard Hackduino ($8 Arduino-kompatibel krets)

Aldrig igen måste du demontera färdiga projekt bara för att återanvända en Arduino ombord!Denna handledning kommer att gå igenom steg som ingår i tillverka ditt eget Arduino-kompatibel krets använder bara ~$8 delar (detta inkluderar ATMega chip!). De...

Hur till DIY klo kran Arduino-kompatibel Robot?

Hej, killar! Makeblock klo kranen Arduino-kompatibel Robot har slutfört idag. Dess struktureroch funktioner är liknande som dessa crane maskiner som är vanliga att se på marknaden.För mer information, besök Makeblock webbplats nedan:www.makeblock.ccK...

Låg kostnad, Arduino-kompatibel ritning Robot

Jag designade detta projekt för ett 10-timmars workshop för ChickTech.org vars mål är att införa tonåriga kvinnor till STEM ämnen. Målen för det här projektet var:Lätt att bygga.Lätt att programmet.Gjorde något intressant.Låg kostnad så deltagarna ku...

Tacuino: en låg kostnad, modulära, Arduino-kompatibel pedagogiska plattform

För mina soft-krets klasser, har vi använt antingen en förprogrammerad Attiny85 krets (), eller den dyrare Arduino-kompatibel Lilypad USB. Jag ville ha något mellan dessa två ytterligheter som skulle vara:Lätt att bygga av nybörjareLåg kostnad för st...

Steg för steg guide till Micro trollkarl robot controller (Arduino kompatibel)

Micro trollkarl från DAGU är en låg kostnad Arduino kompatibel controller speciellt för nybörjare som vill bygga en liten robot. Styrelsen har ett antal användbara tillbehör inbyggd så att i de flesta fall sköldar är inte obligatoriska och yttre ledn...

Gör din egen anpassade Arduino kompatibel

jag älskar Ardunio. Jag älskar saker som folk gör med dem och jag älskar att göra min egen. I augusti förra året publicerade jag en Instructable om hur man gör ditt eget frimärke storlek Arduino kompatibel. Detta Instructable visar dig hur du gör en...

Arduino kompatibel badkar controller

Kan börja med en varning: detta projekt styr vatten. El och vatten verkligen blanda inte och det finns en verklig risk för elchock och eller död om du inte är försiktig. Bygga detta projekt på egen risk och jag kommer inte att hållas ansvarig för all...

#5 Arduino kompatibel realtidsklocka moduler (DS1307 & DS3231)

En realtidsklocka (RTC) är en RTC är en RTC. Rätt? Fel!Medan dessa två mycket vanliga, Arduino-kompatibel RTCs likna mycket, och ansluts via I2C (uttalas Eye fyrkant se, eller ögat ögat se) kommunikation buss de utför helt annorlunda än kostnaden om...

Snabb och lätt Arduino kompatibel H-bridge sköld

i detta instructable jag kommer detalj hur jag gick om att göra en snabb och enkel, Arduino kompatibel, H-bridge sköld. Men först en kort intro till vad som fick mig motiverad för att göra det.Ett par år sedan, började jag vill lära sig mer om mikro-...

DIY mycket billigt Arduino 4-polig kontakt

I detta instructables ska vi göra vår egen 4-billigt Arduino stift.Jag letade efter honkontakter i mitt område, men där are'nt någon så jag bestämde mig att bygga min egen. Det finns pre-mades men dess mycket dyrt så jag såg i min elektroniska delar...

Bygga ditt eget Arduino kompatibel IoT Development Board

I detta instructable ForceTronics tittar vi på hur man bygger ditt eget Arduino kompatibel sakernas internet utveckling styrelsen. Styrelsen har Atmega 328p med Uno bootloader, Bluetooth låg energi modul, och andra funktioner som justerbara power sup...

Använd RFduino att köra Arduino kompatibel skisser och kommunicera med din iPhone med Bluetooth 4.0 lågenergi.

Trådlös mynt-storlek Arduino kompatibel öppen mikrodator som talar till din iPhone med Bluetooth 4.0 lågenergiRFduino är en fristående ombord, precis som den Arduino UNO. Dessutom har RFduino en kraftfull ARM Cortex processor och Bluetooth Low-Energy...

YourDuino: Grundläggande Arduino-kompatibel att undvika kollision Robot

Hur man bygger en grundläggande Arduino-kompatibel kollision-undvika RobotObs: Se de tillgängliga Arduino programvara Test skisser och kollisionsundvikande programvara här (klicka)Obs: Senare måste du ha Arduino "IDE" programvara utvecklingssyst...

Bästa säkerhetslösningar att hålla inkräktare borta

Tänk dig en situation när du är ensam hemma och bara om att njuta av din lunch och dörrklockan ringer plötsligt. Efter en sekund eller två dörrklockan ringer flera gånger, och du är ivrig att veta vem som är vid dörren. Du lämnar din måltid och gå ti...