Taula de continguts:

Pong jugant a la pantalla flexible en una samarreta: 8 passos (amb imatges)
Pong jugant a la pantalla flexible en una samarreta: 8 passos (amb imatges)

Vídeo: Pong jugant a la pantalla flexible en una samarreta: 8 passos (amb imatges)

Vídeo: Pong jugant a la pantalla flexible en una samarreta: 8 passos (amb imatges)
Vídeo: ItsPoli es mi hermana??? 2024, De novembre
Anonim
Pong jugant a la pantalla flexible en una samarreta
Pong jugant a la pantalla flexible en una samarreta
Pong jugant a la pantalla flexible en una samarreta
Pong jugant a la pantalla flexible en una samarreta
Pong jugant a la pantalla flexible en una samarreta
Pong jugant a la pantalla flexible en una samarreta

Aquesta és la meva disfressa de Halloween de l'any 2013. Fa un any que funciona i ha trigat força hores en crear-la. La pantalla té 14 per 15 píxels, per tant, té una resolució bastant baixa, però encara pot fer coses divertides. És físicament flexible en totes les direccions, tot i que no es pot plegar sense danys. Té un controlador format per un únic botó i un portaobjectes, connectat a un mega professional mitjançant USB. Per mantenir-lo viu durant molt de temps, fa servir dues monstruoses bateries de 2200 mAh cablejades en sèrie per obtenir el voltatge necessari i, a continuació, un regulador de 5 volts per fer-lo útil. Tots els aparells electrònics es col·loquen a les butxaques de l’interior de la samarreta perquè es puguin treure i rentar la samarreta. Juga un joc funcional de pong. Primer en fa un amb les paraules "PONG PLAY" amb lletres blaves precioses mitjançant una versió modificada del tipus de lletra Tom Thumb (es pot trobar a https://robey.lag.net/2010/01/23/tiny-monospace-font.html). Després de cinc segons, es pot donar l'opció de prémer el botó per seguir endavant o de no prémer el botó i deixar enrere una experiència perfectament bona. Quan es tria prémer el botó, comença el joc. Una paleta vermella a la dreta és la paleta de l’ordinador i la paleta verda a la dreta és la paleta del jugador, que està controlada per la barra de desplaçament per moure’ls amunt i avall. La pilota va rebotant mentre cada banda intenta anotar un punt. El jugador pot colpejar la pilota amb la vora de la seva pala per accelerar-la (una bona característica) mentre l’ordinador no pot fer-ho i, en canvi, acaba quedant atrapat amb un moviment lleugerament més lent que la pilota. Quan es marca un punt, un píxel canvia a blanc a la paleta dels laterals de puntuació. Compta en binari des de la part inferior. on el verd o el vermell són zero i els blancs són 1. 21 és la puntuació per guanyar (o perdre en funció de qui obtingui els 21 punts) i, per tant, quan la pala del jugador llegeix 10101, es mostrarà el text "YOU WIN". Una vegada més a Tom Thumb modificat. Passa el mateix, però amb "VOSTÈ PERD" es mostra. Després de guanyar o perdre, el joc es reinicia al punt just després de Pong Play. Per reiniciar completament, es prem el botó de reinici de la "caixa màgica", també coneguda com a "caixa-amb-tota-l'electrònica-excepte-la-pantalla".

Pas 1: materials i eines

Materials i eines
Materials i eines
Materials i eines
Materials i eines

Les coses marcades amb un * són opcionals, però es recomana I, per tant, en cap ordre concret … Materials: 4 iardes d'Adafruit Neopixle tira de 60 píxels per metre 1 samarreta * 1 parell de tirants 1/2 iarda de tela serà més que suficient (No es prefereix un teixit elàstic) Cable USB de 6 peus USB A mascle a USB B 1 Connector USB A femella 3 Connectors femelles JST de 2 pins 4 Carregadors de bateries JST mascle de 2 pins 2 bateries de 6600 mAh 1 Botó estil Arcade 1 Arduino pro-mega 1 Capçalera FTDI 1 connector femella USB B amb tauler de ruptura 1 interruptor d'encesa / apagat (alternador) 1 interruptor de reinici (alternatiu o momentani) 1 potencióòmetre lliscant * 1 comandament de pot lliscant 1 parell de connectors d'alt ampli * 1 estoig del projecte 1 regulador de voltatge de 5V 3+ amperis un petit una mica de plàstic una mica de soldar una mica de fil * una mica de cola calenta * una mica d’elàstica algun temps (potser una mica més que "una mica") una mica de perseverança (probablement necessiteu una mica d’aquesta realitat) una mica de tubs termocontraents o cinta elèctrica una mica de super cola una mica de ferro a la part posterior Eines * Ajuda de les mans Mà normal s (o algú que hi pugui accedir) Planxa de soldar * Pistola de cola calenta Dremel o paper de vidre Cisell Filtres de tallar filferro Tallador de filferro Pistola bàsica Tornavís Serrador de màquines de cosir Tissors de tela

Pas 2: talleu la tira LED en tires més petites

Tallar la tira LED en tires més petites
Tallar la tira LED en tires més petites
Tallar la tira LED en tires més petites
Tallar la tira LED en tires més petites
Tallar la tira LED en tires més petites
Tallar la tira LED en tires més petites

Utilitzeu el vostre utensili de tall preferit i talleu la tira en 14 segments, de 15 píxels de longitud cadascun. Tanqueu només entre els rastres de coure, etiquetats com "DO" "DIN" "+ 5V" i "GND". Si ja està soldat sobre el coure, només s’ha de tallar. Proveu de no tallar massa el coure exposat, però si us enganxeu una mica, està bé. Un cop tallades les 14 tires, retalleu una mica la goma de cada extrem per treure-la de la soldadura de les tires.

Pas 3: soldar la pantalla junts

Soldant la pantalla junts
Soldant la pantalla junts
Soldant la pantalla junts
Soldant la pantalla junts
Soldant la pantalla junts
Soldant la pantalla junts

Agafeu el filferro i talleu-lo en segments de 9 cm. En el meu cas, tinc tres colors diferents perquè sigui més fàcil mantenir-se recte durant la soldadura, però un color funcionaria bé. Necessitareu uns 40 d’aquests nois petits, però retalleu-ne un parell més per si de cas. Un cop hàgiu acabat de tallar el fil, tira i esteneu els extrems (si teniu experiència de soldar, podeu passar al paràgraf següent), és a dir, després d’eliminar la mica de plàstic, poseu una mica de soldadura als extrems de cada filferro. No escalfeu la soldadura i intenteu passar al filferro, escalfeu-lo amb la planxa de soldar des de la part inferior del coure i poseu-la a la part superior. Tingueu paciència i espereu que el filferro calent fon la soldadura. És temptador endurir el soldador a soldar per començar (la meva impaciència i sé exactament com se sent), però la soldadura no s’adherirà tan bé. Feu el mateix per a les traces de coure exposades a cada extrem de les seccions de tires. Si ja té soldadura, no us preocupeu. Per a la tira, és possible que vulgueu construir un petit túmul per facilitar-lo més tard. Quan treballeu amb la tira, feu-ho ràpidament i procureu no dedicar gaire temps a aplicar calor a la tira. Feu només el que heu de fer per fondre la soldadura a la traça. Soldeu un cable a cada traça fins al final de la primera tira (la primera tira és la que té els cables i el connector, soldeu-la fins a l’extrem exposat). Si mireu la tira, veureu petites fletxes que pugen fins al final on heu soldat el filferro. Agafeu una altra tira perquè les fletxes apuntin en sentit contrari i soldeu el cable que prové de la traça GND a la traça GND de l’altra, el + 5V al + 5V, etc. Repetiu això assegurant-vos que les fletxes canvien de direcció després de cada secció de manera que, si les seguiu, zig zaguessin cap amunt i cap avall i que al final es pogués estirar sobre una llarga franja. Un cop soldades les 14 tires, col·loqueu-les i alineneu-les de manera que els LED formin una quadrícula. A continuació, mantingueu-los junts mitjançant un mètode que es pot eliminar posteriorment sense danyar la tira. He utilitzat cinta adhesiva. És prou enganxós per mantenir-ho tot junt, però no tan enganxós com per deixar un residu. No recomano res a permanent, com ara grapes o cintes adhesives. Un cop tot gravat, soldeu un cable de la tira de la part inferior + 5V a la que hi ha immediatament al costat. Repetiu-ho fins que la part inferior completa tingui les aixetes d’alimentació completes. Això és així perquè la pantalla no es dilueix a mesura que avança la línia de LEDs.

Pas 4: Soldar l'electrònica bàsica

Soldar l'electrònica bàsica
Soldar l'electrònica bàsica
Soldar l'electrònica bàsica
Soldar l'electrònica bàsica
Soldar l'electrònica bàsica
Soldar l'electrònica bàsica

Soldeu la placa USB B (BOB) al connector USB B. Soldeu els cables adequats al connector USB A. Aconsello mirar el pin-out del connector que es troba en aquest lloc web, https://image.pinout.net/pinout_USB_files/pc_usb_connectors_pinout.png. No us preocupeu per on soldar els altres extrems dels cables del connector USB A ara mateix; que es tractarà al pas del controlador. Talleu el connector de dades de la tira, el connector femella, no el connector mascle (el connector femella s’obté de l’altre extrem). Soldeu els connectors JST mascle als extrems de la bateria perquè el vermell passi al vermell i el negre al negre. Foneu els tubs termorretractors sobre els cables exposats (es llisquen abans de soldar-los) de manera que no es tallin ni utilitzin una altra cosa com la cinta elèctrica o la cola calenta. Soldeu alguns cables a tots els connectors JST femella. Assegureu-vos de tenir un extrem macho endollat perquè els passadors no es desplacin. Aneu amb compte amb la polaritat i assegureu-vos que els cables coincideixin amb els connectors mascle. Soldeu els cables a un connector d’alta tensió (però no al parell), una vegada més, assegurant-vos que els colors coincideixin i que estiguin connectats per evitar que es puguin canviar els pins. Soldeu el connector femella / cable només de manera que estiguin connectats en sèrie, no en paral·lel, per superar la tensió llindar del regulador de potència. Per tant, soldeu el cable positiu amb el negatiu de l’altre conjunt, de manera que ara tenim un cable positiu sense soldar i un negatiu sense soldar i els dos cables soldats es solden a connectors diferents. Agafeu el cable negatiu i deseu-lo per soldar-lo al altre lloc. Ara agafeu el cable positiu i soldeu-lo al commutador. Si hi ha tres o més pins (o més d'una manera d'estar "encès"), soldeu-lo al pin central. Tingueu en compte que el "pin mitjà" pot no estar físicament al centre. La manera d’identificar-lo consisteix a trobar el pin que, quan l’interruptor està en qualsevol estat, sempre estarà connectat a un altre pin. Si no hi ha cap pin, teniu un commutador molt especial; només cal que el connecteu a qualsevol pin i assegureu-vos que el següent fil soldat al commutador estigui connectat a aquest cable en almenys un en estat. Ara soldeu el cable d’entrada positiu del regulador de tensió a l’extrem oposat de l’interruptor, tal com s’ha comentat anteriorment. Soldeu el voltatge postiu fins a l’extrem positiu del connector d’alta intensitat sense soldar. Agafeu el cable d'admissió negatiu i soldeu-lo a l'extrem negatiu del connector de corrent elevat. Ara soldarem l’energia en paral·lel a la tira Arduino i Power. Ara agafeu els cables de sortida del regulador de tensió i soldeu dos trossos de fil als extrems positiu i negatiu perquè surtin en forma de Y. Soldeu un connector de dos pins als cables positiu i negatiu del conjunt de la tira de led. No importa quin tipus de connector feu servir, pot ser JST o, en el meu cas, algun cable d’alimentació / àudio o alguna cosa així (no estic segur, i em disculpo per no tenir cap imatge). Soldeu un dels cables d’alimentació positiva a l’extrem positiu del connector oposat per a la tira de llum i un dels cables negatius a l’altre pin del connector. Feu el mateix però per a un conjunt de connectors / cables JST mascle. Mentrestant, recordeu d’aïllar les juntes de soldadura per evitar curts. Ara, què heu de fer amb el connector USB B. Soldeu el cable positiu a un forat de 5 V de l’Arduino Pro Mega. Agafeu el cable de terra i soldeu-lo a un forat GND. Agafeu el D + i soldeu-lo al pin digital (o en aquest cas, al forat) 40. Soldeu D al pin analògic 15. Soldeu l’extrem de dades del connector femella que s’uneix amb el connector mascle de la tira LED al pin de dades 6 i al cable de terra a un pin GND. La cinta adhesiva o adhesiva funciona molt bé per subjectar els cables al tauler perquè no caiguin quan es capgira per soldar-los. Ara agafeu un botó momentani i soldeu un cable d’un extrem al pin VCC (o qualsevol pin de sortida de tensió) i l’altre extrem al pin RESET.

Pas 5: controlador

Controlador
Controlador
Controlador
Controlador
Controlador
Controlador

El primer és triar la forma adequada per començar. Tot depèn de com vulgueu que s’estructuri el controlador. Volia més d'un controlador pla, així que vaig aconseguir un tros de tauler de 3 1/2 "per 3/4". organitzeu les peces de manera que sembli adequada i còmoda de treballar. Utilitzeu una corba francesa, una brúixola, un triangle i una vora recta per dibuixar on haurien d’anar totes les peces. Retalleu l’esquema bàsic amb l’eina de tall que trieu. Una serra per a prohibició seria el millor, però jo vaig fer servir una serra d’afrontament, que funcionava molt bé. Lijeu les vores per fer-les transitar sense problemes i, a continuació, torneu les cantonades per fer-les més còmodes. Traieu el forat de l’interruptor i, a continuació, liureu, ciselleu i / o traieu qualsevol part de la part inferior que l’ajusti. Intenteu no fer res amb la part superior i només treureu allò que necessiteu per poder-hi encabir girant-lo, inclinant-lo o qualsevol altra cosa per aconseguir que entri. interruptor. Traieu la zona perquè el comandament del potenciòmetre s'adapti i ciselleu una àrea perquè pugui enfonsar-se i ajustar-se completament. Traieu alguns forats perquè un cargol pugui contenir-los. Doblegueu les petites peces del connector USB A que fan que l'amplada general augmenti una mica (mireu les imatges). Ciselleu una porció per al connector, comprovant progressivament que el connector encaixi. Enganxeu el connector a la ranura. Agafeu un tros de plàstic i talleu-lo en una forma que s'adapti al connector (mireu les imatges) i, a continuació, grapeu-lo a la fusta. Talla les peces que puguin dificultar-te. Enrosqueu el potenciòmetre i fixeu el pom. Soldeu el fil positiu a un dels extrems del potenciòmetre (no la part variable) i el fil negatiu a l’extrem oposat. Soldeu el pin D al pin variable de l'olla. Soldeu un cable del passador de l’olla amb el cable positiu a un dels passadors del botó. Soldeu D + a l’altre passador del botó. Retalleu el cable de recanvi i aïlleu les peces que ho necessitin.

Pas 6: camisa

Samarreta
Samarreta
Samarreta
Samarreta
Samarreta
Samarreta

Troba una camisa còmoda que deixi passar la llum. Vaig triar aquesta samarreta blanca bàsica. No importa el color ni l’estil sempre que es pugui veure la llum que brilla des de l’interior. No obstant això, no recomano gràfics a la part frontal. Col·loqueu-ho tot a la camisa per ajudar-vos a decidir on voleu i utilitzeu una eina de marcatge esborrable per dibuixar-la. Jo (és a dir, algunes persones que conec) tinc un llapis destinat a marcar teixits que es renta fàcilment. Mesureu la mida de les bateries, la caixa del controlador i la pantalla i retalleu trossos de paper perquè coincideixin. A continuació, fixeu el paper a un tros de tela no elàstica. Un teixit funciona bé per a això. A continuació, retalleu un rectangle deixant aproximadament un quart de polzada per a una costura tot el voltant. A continuació, feu servir el tros de paper com a guia per planxar els plecs a la tela. Ara es pot treure el paper. A la part de la butxaca que hi haurà a la part superior, plega-la per sobre de si mateixa tres vegades. Planxa i fixa-la per mantenir-la al seu lloc. Cusiu una imatge fins a la meitat del plec. Ara agafeu la cantonada i doblegueu-la de manera que les vores sense cosir perpendiculars entre si siguin paral·leles i cosiu una imatge al llarg del plec planjat més proper a la cantonada (les imatges ajuden realment). Feu-ho també per l'altra cantonada. Si és possible que tingueu un interruptor de palanca que surt d’una butxaca, cosiu un forat de botó a la base de la butxaca on toca l’interruptor. A continuació, cosiu un forat de botó i talleu la porció central. Realment no puc donar instruccions detallades perquè tenia una eina divertida per fer forats de botons. Assegureu-vos de fer els forats abans de cosir la butxaca. Agafeu uns passadors i passeu-los per la camisa a les cantonades de les marques de la butxaca. Agafeu la butxaca i poseu cada cantonada en un passador (a la part interior de la camisa), deixant un quart de centímetre per a la costura i fixeu-la a la camisa. Després de fixar la butxaca. traieu els passadors que no contenen la butxaca i cosiu la butxaca a la camisa. Repetiu-ho per a totes les butxaques. Per a la butxaca gran que sosté la pantalla, deixeu un buit per als cables a la part inferior de la butxaca. Per posar un forat a la camisa, marqueu el lloc i agafeu una planxa al darrere (amb la part més brillant a la tela) i planxeu-la. Després, per a un forat petit (com el que he utilitzat per a l’interruptor de palanca), feu un forat de botó. Per a un forat més gran, marqueu el contorn i utilitzeu un punt de zig-zag al llarg de la línia (o corba o què teniu) i talleu la part central. Si voleu, podeu utilitzar tirants per aguantar el pes de les butxaques, els dos clips que s’aguanten a les butxaques de la part davantera i el clip posterior als pantalons. També vaig tenir una petita màniga de tela cosida sobre les parts dels tirants que em tocaran la pell. Dues camises es poden escalfar una mica massa, de manera que vaig optar per no utilitzar-la i vaig utilitzar la petita màniga de tela.

Pas 7: Programació

Programació
Programació

I aquí teniu el codi. Hi ha algunes parts ben comentades, però la gran majoria no. Si teniu preguntes sobre diferents parts, podeu donar-me el número de línia (amb #include com a línia número u) o donar-me una còpia de les línies i de la funció en què resideix (com loop () o compMovePaddle ()) i faré tot el possible per explicar-vos-ho, i després afegiré un comentari al codi que ho expliqui. #include #define PIN 6 // diu quins són els pins d'entrada per al botó int del joc Pin = 40; // dicta la puntuació, guardada en una matriu bianual perquè és més int int playerScore [5] = {0, 0, 0, 0, 0}; int compScore [5] = {0, 0, 0, 0, 0}; // dicta la direcció de la pilota int bvd = 0; // 0 està avall, 1 puja int bhd = 0; // 0 és correcte, 1 queda a l’esquerra // dicta la posició de les boles int bvp = 8; int bhp = 6; // comprova si la pilota està en mode ràpid booleà fast = false; // comprova si és una puntuació. cIsPoint booleà = fals; pIsPoint booleà = fals; // paddle positions int cPaddle = 0; int pPaddle = 0; longMillis anterior = 0; long previousMillisForComp = 0; // Estableix els temps de retard per a la bola de moviment ràpid i lent, el "Int" a normInt i fastInt és per a l'interval int normInt = 50; int fastInt = 10; // s’utilitzava per comprovar si hi havia una victòria. 1 és el guanyador del jugador, -1 en el guanyador per ordinador i 0 no ha passat res, encara que int guanyi = 0; // desfer-se d’un error. s'utilitza a la declaració addOne i en cap altre lloc. int que = 0; // Cosa que es mostra abans de començar, -1 és un escape int pongPlay = {1, 2, 3, 4, 10, 11, 12, 13, 16, 18, 20, 27, 29, 33, 34, 41, 42, 61, 62, 63, 70, 71, 72, 76, 85, 86, 88, 91, 92, 94, 100, 101, 102, 103, 131, 132, 136, 139, 144, 145, 146, 147, 148, 161, 162, 166, 175, 183, 185, 192, 194, 195, 196, 197, 198, 199, 204, 205, 206, 207, 208, -1}; // si guanyes en tu guanyaràs = {1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 27, 33, 34, 39, 46, 47, 48, 49, 54, 55, 56, 57, 58, 77, 78, 79, 84, 88, 91, 92, 93, 94, 95, 99, 103, 106, 110, 114, 118, 130, 131, 132, 144, 145, 146, 147, 151, 162, 163, 168, 169, 170, 177, 181, 192, 193, 204, 205, 206, 207, -1}; // si perdeu int Perdeu = {1, 3, 5, 16, 17, 18, 19, 20, 24, 26, 28, 31, 32, 32, 33, 34, 35, 39, 46, 47, 48, 49, 62, 65, 77, 78, 79, 84, 86, 88, 91, 94, 99, 103, 106, 110, 122, 123, 124, 130, 131, 132, 144, 148, 152, 153, 154, 162, 163, 168, 169, 170, 181, 192, 193, 204, 205, 206, 207, 208, -1}; // configura la tira led Adafruit_NeoPixel strip = Adafruit_NeoPixel (210, PIN, NEO_RGB + NEO_KHZ800); // configuració, no gira el pin 40 per a l'entrada, comença la tira, mostra el // missatge i el mostra. void setup () {pinMode (buttonPin, INPUT); strip.begin (); per a (int i = 0; pongPlay > 0; i ++) {strip.setPixelColor (pongPlay , strip. Color (0, 0, 255)); } strip.show (); retard (5000); while (digitalRead (buttonPin) == LOW) {// És una trampa (fins que es prem el botó.)}} void loop () {clearScreen (); // dibuixa les pales per mostrar la puntuació de (int i = 0; i <5; i ++) {if (playerScore == 1) {strip.setPixelColor (204-i, strip. Color (255, 255, 255)); } else if ((playerScore == 0)) {strip.setPixelColor (204-i, strip. Color (0, 255, 0)); } if (compScore == 1) {strip.setPixelColor (5 + i, strip. Color (255, 255, 255)); } else if ((compScore == 0)) {strip.setPixelColor (5 + i, strip. Color (255, 0, 0)); }} // dibuixa la pilota en la seva posició inicial strip.setPixelColor (98, strip. Color (255, 255, 255)); strip.show (); // decideix si la pilota puja o baixa mentre (pIsPoint == false && cIsPoint == false) {clearScreen (); corrent llarg sense signar Millis = millis (); // assigna la posició de pàdel del jugador pPaddle = checkPaddlePos (); // comprova la següent posició checkNext (); // moure la pilota if (ràpid == fals) {if (actualMillis - anteriorMillis> normaInt) {anteriorMillis = actualMillis; moveBall (); }} else if (fast == true) {if (currentMillis - previousMillis> fastInt) {previousMillis = currentMillis; moveBall (); }} // dibuixa la pilota si (bhp% 2! = 0) {strip.setPixelColor (bhp * 15 + 14-bvp, strip. Color (255, 255, 255)); } else if (bhp% 2 == 0) {strip.setPixelColor (bhp * 15 + bvp, strip. Color (255, 255, 255)); } // moviment de pala de l’ordinador compMovePaddle (); // draw's the paddles drawPaddles (); // actualment ho posa tot.strip.show (); // comprovant si s'ha puntuat un punt si (pIsPoint == true) {which = 0; bhd = 0; addOne (); trencar; } else if (cIsPoint == true) {which = 1; bhd = 1; addOne (); trencar; }} if (win == 1) {clearScreen (); for (int i = 0; youWin > 0; i ++) {strip.setPixelColor (youWin , strip. Color (255, 0, 0)); strip.show (); } retard (5000); for (int i = 0; i <5; i ++) {playerScore = 0; compScore = 0; } guanyar = 0; } else if (win == -1) {clearScreen (); for (int i = 0; youLose > 0; i ++) {strip.setPixelColor (youLose , strip. Color (0, 255, 0)); strip.show (); } retard (5000); for (int i = 0; i <5; i ++) {playerScore = 0; compScore = 0; } guanyar = 0; } pIsPoint = fals; cIsPoint = fals; bvp = 8; bhp = 6; bvd = aleatori (0, 2); // 0 està baix, 1 puja ràpid = fals; } // La IA per al joc buida compMovePaddle () {unsigned long currentMillis = millis (); if (actualMillis - anteriorMillisForComp> 51) {anteriorMillisForComp = actualMillis; if (bvp> = 13 && 10-cPaddle 0) {cPaddle--; } else if (bvp = 0 && cPaddle <10) {cPaddle ++; } else if (bvp-3> 10-cPaddle && 10-cPaddle> = 0 && cPaddle> 0) {cPaddle--; } else if (bvp <10-cPaddle && 10-cPaddle <= 10) {cPaddle ++; }}} // mou la pilota void moveBall () {if (bhd == 0) {bhp--; } else if (bhd == 1) {bhp ++; } if (bvd == 0) {bvp--; } else if (bvd == 1) {bvp ++; }} // n’afegeix un a la matriu. Si whichOne és 0, se suma a la puntuació del jugador. Si és 1, s'afegeix als equips void addOne () {if (which == 0) {// if it's the player's score // Add a. Aquesta és la manera més simple que sé. for (int i = 0; i <5; i ++) {// loop if (playerScore == 0) {// if that value is a zero playerScore = 1; // make 1 break; // després marxa} else {// if it is 1 playerScore = 0; // fes-lo zero i bucle}}} else if (which == 1) {for (int i = 0; i <5; i ++) {if (compScore == 0) {compScore = compScore +1; trencar; } else {compScore = 0; }}} // Comprova si algú ha guanyat. if (compScore [0] == 1 && compScore [2] == 1 && compScore [4] == 1) {win = -1; } else if (playerScore [0] == 1 && playerScore [2] == 1 && playerScore [4] == 1) {win = 1; }} // comprova la posició següent de les boles void checkNext () {// check's per veure si s'ha puntuat un punt si (bhp == 13) {pIsPoint = true; } else if (bhp == 0) {cIsPoint = true; } // si s'ha puntuat un punt que passa per sobre de la resta d'aquestes coses si (pIsPoint == false || cIsPoint == false) {// verifica la bola verticalment si (bvp + bvd == 15) {bvd = 0; } else if (bvp + bvd == 0) {bvd = 1; } // comprova la bola horitzontalment si (bhp + bhd == 13) {// primer al costat de l'ordinador if (bvp> = 10-cPaddle && bvp <= 10-cPaddle + 4) {if (bhd == 1) {bhd = 0; } else if (bhd == 0) {bhd = 1; } ràpid = fals; } else if (bvp + bvd == 10-cPaddle || bvp + bvd == 10-cPaddle + 5) {if (bvp! = 0 && bvp! = 14) {if (bvd == 0) {bvd = 1; } else if (bvd == 1) {bvd = 0; } bhd = 1; } else if (bvp == 0 || bvp == 14) {bhd = 1; } ràpid = fals; }} else if (bhp + bhd == 1) {// al costat del jugador if (bvp> = pPaddle && bvp <= pPaddle + 4) {// està colpejant el paddle en un lloc normal? // rebota la pilota! if (bhd == 1) {bhd = 0; } else if (bhd == 0) {bhd = 1; }} else if (bvp + bvd == pPaddle || bvp + bvd-5 == pPaddle) {// està colpejant el paddle a la cantonada if (bvp! = 0 && bvp! = 14) {// és no dalt o baix baix? // Rebota la pilota! if (bvd == 0) {bvd = 1; } else if (bvd == 1) {bvd = 0; } bhd = 1; ràpid = cert; } else if (bvp == 0 || bvp == 14) {// és cap amunt o baix cap avall? // rebota la pilota! bhd = 0; fast = true; // estableix el valor per fer que la pilota es mogui ràpidament}}}}} int checkPaddlePos () {// llegeix el pot i decideix sobre la posició de la pala segons si (analogRead (A15) <93) {return 0; } else if (analogRead (A15) <186) {return 1; } else if (analogRead (A15) <279) {return 2; } else if (analogRead (A15) <372) {return 3; } else if (analogRead (A15) <465) {return 4; } else if (analogRead (A15) <558) {return 5; } else if (analogRead (A15) <652) {return 6; } else if (analogRead (A15) <745) {return 7; } else if (analogRead (A15) <837) {return 8; } else if (analogRead (A15) <= 931) {return 9; } else if (analogRead (A15) <= 2014) {retorn 10; }} void drawPaddles () {// dibuixa les paletes al lloc correcte i mostra la puntuació a la paleta per a (int i = 0; i <5; i ++) {if (playerScore == 1) {strip. setPixelColor (pPaddle + i, strip. Color (255, 255, 255)); } else if ((playerScore == 0)) {strip.setPixelColor (pPaddle + i, strip. Color (255, 0, 0)); } if (compScore == 1) {strip.setPixelColor (199 + cPaddle-i, strip. Color (255, 255, 255)); } else if ((compScore == 0)) {strip.setPixelColor (199 + cPaddle-i, strip. Color (0, 255, 0)); }}} void clearScreen () {for (int i = 0; i <= 210; i ++) {strip.setPixelColor (i, strip. Color (0, 0, 0)); } strip.show (); }

Pas 8: producte acabat

Producte final
Producte final
Producte final
Producte final

I aquí teniu, la camisa acabada!

Recomanat: