Pong (7 / 9 steg)
Steg 7: Programmet
Programmet har en array som lagrar var boll och paddlar som byte. Varje rad i byte visas enkelt eftersom det finns 8 bitar i en byte och 8 lysdioder per rad. Biblioteket för LED driver ICs har en funktion för att visa rader av lysdioder som binära bytes, så detta gör saker verkligen lätt. Funktionen "pong simulator" jag skrev kommer bitars SKIFT bollen runt skärmen korrekt, föra bollen över till en ny matris när det behövs, och avleda bollen på kanten av skärmen när det behövs. Bollen börjar slumpmässigt på rad nära mitten av skärmen, på en slumpmässig position och riktning.
De analoga värdena från registeransvariga får mappas till ett värde till kontroll var paddlar finns på skärmen.
Svåraste för mig var att få den rätta reaktionen när bollen träffar paddeln. Jag skrev ett par sidor i en bärbar dator kommer med de olika scenarierna och vad jag kallar "speciella bitar" där bollen skulle behöva en annan studsa paddeln än normalt. Detta kan innefatta studsar utanför muren eller redovisade över till en annan matris. Några saker jag kom upp med jag senare hittade fel eller fann att min andra kod skulle faktiskt ta hand om det för mig. Det kan fortfarande finnas en bugg eller två som jag måste träna, men just nu är jag ganska nöjd med dess prestanda.
Det finns några olika lägen jag programmerade. Det finns två 2 spelare lägen. Skillnaden mellan dem är paddel bredd. Det finns en där paddeln är 3 lysdioder brett, och en annan där paddeln är 2 lysdioder brett (detta är naturligtvis svårare att spela). Spelet håller reda på poäng och den första personen till 5 poäng vinner. Den sista läget är en praxis, 1 spelare-läge. Spelaren kan spela mot en "vägg" av lysdioder till praktiken. Lägena väljs i början av programmet, när spelet startas eller startas om, med hjälp av en av paddlarna. Du har 3 sekunder från efter slå spelet på eller starta om den om du vill välja vilket läge att spela och sedan spelet börjar. En display bar kommer att visa dig vad läge som du för närvarande väljer under 3 sekunder.
Programmera förklaring video:
Hur bollen studsar paddeln: