Tabla de contenido:

Pong jugando pantalla flexible en una camiseta: 8 pasos (con imágenes)
Pong jugando pantalla flexible en una camiseta: 8 pasos (con imágenes)

Video: Pong jugando pantalla flexible en una camiseta: 8 pasos (con imágenes)

Video: Pong jugando pantalla flexible en una camiseta: 8 pasos (con imágenes)
Video: Una mujer de MONGOLIA sorprende con unas eróticas acrobacias | Audiciones 4 | Got Talent España 2021 2024, Noviembre
Anonim
Pong jugando pantalla flexible en una camiseta
Pong jugando pantalla flexible en una camiseta
Pong jugando pantalla flexible en una camiseta
Pong jugando pantalla flexible en una camiseta
Pong jugando pantalla flexible en una camiseta
Pong jugando pantalla flexible en una camiseta

Este es mi disfraz de Halloween para el año 2013. Ha estado en las obras durante aproximadamente un año y ha tomado bastantes horas hombre para crearlo. La pantalla es de 14 por 15 píxeles, por lo tanto, una resolución bastante baja, pero aún puede hacer algunas cosas divertidas. Es físicamente flexible en todas las direcciones, aunque no se puede plegar sin dañar. Tiene un controlador que consta de un solo botón y un potenciómetro deslizante, conectado a un mega pro a través de USB. Para mantenerlo vivo durante mucho tiempo, emplea dos monstruosas baterías de 2200 mAh conectadas en serie para obtener el voltaje necesario, y luego un regulador de 5 voltios para que sea utilizable. Todos los componentes electrónicos se colocan en bolsillos en el interior de la camiseta para que se puedan quitar y para que la camiseta se pueda lavar. Juega un funcional juego de pong. Primero adorna uno con las palabras "PONG PLAY" en hermosas letras azules usando una versión modificada de la fuente Tom Thumb (se puede encontrar en https://robey.lag.net/2010/01/23/tiny-monospace-font.html). Después de cinco segundos se puede dar la opción de presionar el botón para continuar, o no presionar el botón y dejar una experiencia perfectamente buena atrás. Cuando uno elige presionar el botón, comienza el juego. Una paleta roja a la derecha es la paleta de la computadora y la paleta verde a la derecha es la paleta del jugador, que es controlada por el bote deslizante para moverse hacia arriba y hacia abajo. La pelota rebota mientras cada lado intenta anotar un punto. El jugador puede golpear la pelota con el borde de su paleta para acelerarla (una buena característica) mientras que la computadora no puede hacer esto, y en su lugar termina atascado moviéndose un poco más lento que la pelota. Cuando se anota un punto, un píxel cambia a blanco en la paleta de los lados de puntuación. Cuenta en binario desde abajo. donde verde o rojo es cero y blanco es 1. 21 es el puntaje para ganar (o perder dependiendo de quién obtenga los 21 puntos) y, por lo tanto, cuando la paleta del jugador lee 10101, se muestra el texto "USTED GANA". Una vez más en Tom Thumb modificado. Lo mismo sucede pero con "USTED PERDIDO" en su lugar. Después de una victoria o una derrota, el juego se reinicia hasta el punto justo después de Pong Play. Para reiniciar por completo, se presiona el botón de reinicio en la "Caja Mágica", también conocida como la-caja-con-toda-la-electrónica-excepto-la-pantalla.

Paso 1: Materiales y herramientas

Materiales y herramientas
Materiales y herramientas
Materiales y herramientas
Materiales y herramientas

Las cosas marcadas con un * son opcionales, pero se recomiendan. Por lo tanto, sin ningún orden en particular … Materiales: 4 yardas de Adafruit Neopixle 60 pixeles por tira de metro 1 camiseta * 1 par de tirantes 1/2 yarda de tela será más que suficiente (no se prefiere tejido elástico) Cable USB A macho a USB B de 6 pies 1 conector hembra USB A 3 conectores hembra JST de 2 pines 4 cables macho JST de 2 pines cargador de batería 2 baterías de 6600 mAh 1 botón estilo Arcade 1 arduino pro-mega 1 cabezal FTDI 1 conector USB B hembra con placa de conexión 1 interruptor de encendido / apagado (palanca) 1 interruptor de reinicio (palanca o momentáneo) 1 potenciómetro deslizante * 1 perilla deslizante 1 par de conectores de alto amperaje * 1 caja de proyecto 1 regulador de voltaje de 5 V 3+ amperios pequeño un poco de plástico algo de soldadura algo de alambre algo de hilo * algo de pegamento caliente * algo de elástico algo de tiempo (tal vez un poco más que "algo") algo de perseverancia (probablemente necesitará bastante de esto en realidad) un poco de tubo termorretráctil o cinta aislante un poco de pegamento un poco de hierro en el respaldo Herramientas * Helping Hands Mano normal s (o alguien con acceso a ellos) Soldador * Pistola de pegamento caliente Dremel o cincel de papel de lija Pelacables Cortadores de alambre Grapadora Destornillador Pernos de sierra Máquina de coser Tijeras para tela

Paso 2: corte la tira de LED en tiras más pequeñas

Corte la tira de LED en tiras más pequeñas
Corte la tira de LED en tiras más pequeñas
Corte la tira de LED en tiras más pequeñas
Corte la tira de LED en tiras más pequeñas
Corte la tira de LED en tiras más pequeñas
Corte la tira de LED en tiras más pequeñas

Utilice el utensilio de corte que prefiera y corte la tira en 14 segmentos, cada uno de 15 píxeles de largo. Corte solo entre las trazas de cobre, etiquetadas con algo como "DO" "DIN" "+ 5V" y "GND". Si ya está soldado sobre el cobre, simplemente córtelo. Trate de no cortar demasiado el cobre expuesto, pero si lo corta un poco, está bien. Una vez que hayas cortado las 14 tiras, recorta un poco de goma de cada extremo para sacarlo del camino para soldar las tiras.

Paso 3: soldar la pantalla juntos

Soldar la pantalla juntos
Soldar la pantalla juntos
Soldar la pantalla juntos
Soldar la pantalla juntos
Soldar la pantalla juntos
Soldar la pantalla juntos

Toma el alambre y córtalo en segmentos de aproximadamente 3,5 pulgadas (9 cm). En mi caso, tengo tres colores diferentes para que sea más fácil mantenerlo recto al soldar, pero un color funcionaría bien. Necesitará unos 40 de estos pequeños, pero corte un par más por si acaso. Una vez que haya terminado de cortar el cable, pele y estañe los extremos (si tiene experiencia en soldadura, puede pasar al siguiente párrafo), es decir, después de quitar el poco de plástico, coloque un poco de soldadura en los extremos de cada cable. No caliente la soldadura e intente pasar al cable, caliente con su soldador desde la parte inferior del cobre y coloque la soldadura en la parte superior. Sea paciente y espere a que el alambre caliente derrita la soldadura. Es tentador endurecer el soldador con la soldadura para que comience (mi impaciencia y sé exactamente cómo se siente), pero la soldadura tampoco se pegará. Haga lo mismo con las trazas de cobre expuestas en cada extremo de las secciones de la tira. Si ya tiene soldadura, no se preocupe. Para la tira, es posible que desee crear un pequeño montículo para que sea más fácil más adelante. Cuando trabaje con la tira, hágalo rápidamente y trate de no perder mucho tiempo aplicando calor a la tira. Solo haga lo que tenga que hacer para derretir la soldadura sobre la traza. Suelde un cable en cada trazo hasta el final de la primera tira (la primera tira es la que tiene los cables y el conector, suéldala en el extremo expuesto). Si miras la tira, verás pequeñas flechas que van hasta el final donde soldaste el cable. Tome otra tira para que las flechas apunten en la dirección opuesta y suelde el cable que viene del trazo GND al trazo GND de la otra, el + 5V al + 5V y así sucesivamente. Repita esto asegurándose de que las flechas cambien de dirección después de cada sección para que si las siguiera, zigzaguear hacia arriba y hacia abajo, y que pueda estirarse en una tira larga al final. Una vez que se hayan soldado las 14 tiras, colóquelas y alinéelas para que los LED formen una cuadrícula. Luego, manténgalos juntos usando un método que se pueda quitar más tarde sin dañar la tira. Usé cinta adhesiva. Es lo suficientemente pegajoso como para mantener todo junto, pero no tan pegajoso como para dejar un residuo. No recomiendo nada a los permanentes, como grapas o cinta adhesiva. Una vez que todo ha sido pegado con cinta, suelde un cable de la tira en la parte inferior + 5V al que está inmediatamente al lado. Repita hasta que toda la parte inferior tenga los grifos de alimentación en toda su extensión. Esto es para que la pantalla no se oscurezca a medida que avanza la línea de LED.

Paso 4: Soldar los componentes electrónicos centrales

Soldar los componentes electrónicos del núcleo
Soldar los componentes electrónicos del núcleo
Soldar los componentes electrónicos del núcleo
Soldar los componentes electrónicos del núcleo
Soldar los componentes electrónicos del núcleo
Soldar los componentes electrónicos del núcleo

Suelde la placa de conexiones USB B (BOB) al conector USB B. Suelde los cables apropiados al conector USB A. Aconsejo mirar el pin-out del conector como se encuentra en este sitio web, https://image.pinout.net/pinout_USB_files/pc_usb_connectors_pinout.png. No se preocupe por dónde soldar los otros extremos de los cables en el conector USB A en este momento; que se tratará en el paso del controlador. Corta el conector de datos de la tira, el conector hembra, no el conector macho (el conector hembra se obtiene del otro extremo). Suelde los conectores JST macho a los extremos de la batería para que el rojo se convierta en rojo y el negro en negro. Derrita el tubo termorretráctil sobre los cables expuestos (deslizándolos antes de soldarlos) para que no se corten ni utilicen otra cosa como cinta aislante o pegamento termofusible. Suelde algunos cables a todos los conectores JST hembra. Asegúrese de tener un extremo macho enchufado para que las clavijas no se muevan. Tenga cuidado con la polaridad y asegúrese de que los cables coincidan con los conectores macho. Suelde los cables a uno de los conectores de alto voltaje (pero no a su par), una vez más, asegurándose de que los colores coincidan y de que estén conectados entre sí para evitar que se muevan las clavijas. Suelde el conjunto de conector / cable hembra de modo que estén cableados en serie, no en paralelo, para superar el voltaje de umbral del regulador de potencia. Entonces, suelde el cable positivo al cable negativo del otro conjunto para que ahora tengamos un cable positivo sin soldar y un cable negativo sin soldar y los dos cables soldados estén soldados a diferentes conectores. Tome el cable negativo y guárdelo para soldarlo al cable negativo en otro lugar. Ahora tome el cable positivo y suéltelo al interruptor. Si hay tres o más pines (o más de una forma de estar "encendidos") suéldelo al pin del medio. Tenga en cuenta que el "pin del medio" puede no estar físicamente en el medio. La forma de identificarlo es encontrar el pin que, cuando el interruptor esté encendido en cualquier estado, siempre estará conectado a otro pin. Si ningún pin es así, entonces tienes un interruptor muy especial; simplemente conéctelo a cualquier pin y asegúrese de que el siguiente cable soldado al interruptor se conecte a ese cable en al menos uno en estado. Ahora suelde el cable de entrada positivo en el regulador de voltaje al extremo opuesto del interruptor, como se discutió anteriormente. Suelde el voltaje positivo al extremo positivo del conector de alta corriente sin soldar. Tome el cable de entrada negativo y suéltelo al extremo negativo del conector de alta corriente. Ahora vamos a soldar la energía en paralelo a Arduino y Power Strip. Ahora tome los cables de salida del regulador de voltaje y suelde dos pedazos de cable en los extremos positivo y negativo para que salgan en forma de Y. Suelde un conector de dos pines a los cables positivo y negativo del conjunto de la tira de LED. No importa qué tipo de conector uses, puede ser JST o, en mi caso, algún cable de alimentación / audio o algo así (no estoy seguro y me disculpo por no tener ninguna imagen). Suelde uno de los cables de alimentación positiva al extremo positivo del conector opuesto para la tira de luz y uno de los cables negativos al otro pin del conector. Haga lo mismo pero para un conjunto de cable / conector JST macho. Mientras tanto, recuerde aislar las juntas de soldadura para evitar cortocircuitos. Ahora veamos qué hacer con el conector USB B. Suelde el cable positivo a un orificio de 5v en el Arduino Pro Mega. Tome el cable de tierra y suéldelo a un agujero GND. Tome el D + y suéldelo al pin digital (o en este caso, al agujero) 40. Suelde D- al pin analógico 15. Suelde el extremo de datos del conector hembra que se acopla con el conector macho de la tira de LED al pin de datos 6 y al cable de tierra a un pin GND. La cinta de enmascarar o la cinta adhesiva funcionan muy bien para sujetar los cables a la placa para que no se caigan cuando se voltea para soldar. Ahora tome un botón momentáneo y suelde un cable de un extremo al pin VCC (o cualquier pin de salida de voltaje) y el otro extremo al pin RESET.

Paso 5: controlador

Controlador
Controlador
Controlador
Controlador
Controlador
Controlador

Primero es elegir la forma correcta para empezar. Todo depende de cómo quieras estructurar el controlador. Quería más un controlador plano, así que conseguí una tabla de 3 1/2 "por 3/4". Organice las piezas de una manera que parezca adecuada y cómoda para trabajar. Use una curva francesa, una brújula, un triángulo y una regla para dibujar dónde deben ir todas las piezas. Recorta el contorno básico con la herramienta de corte que prefieras. Una sierra de prohibición sería lo mejor, pero utilicé una sierra de calar, que funcionó muy bien. Lije los bordes para hacer una transición suave, luego lije las esquinas para que sea más cómodo. Taladre el orificio para el interruptor, luego lije, cincele y / o Dremel cualquier parte en la parte inferior que lo haga encajar. Trate de no hacer nada con la parte superior y solo lije lo que necesita para poder encajarlo girando, inclinando o cualquier otra cosa para que entre. Una vez que esté colocado, fíjelo con la tuerca de plástico y coloque el cambiar. Taladre el área para que entre la perilla del potenciómetro y corte un área para que pueda hundirse y encajar completamente. Haz algunos agujeros para que un tornillo pueda sujetarlo. Dobla las pequeñas piezas del conector USB A que hacen que su ancho general aumente un poco (mira las imágenes). Quite una parte del conector y revise progresivamente para asegurarse de que encaje. Pegue el conector en su ranura. Tome un pedacito de plástico y córtelo en una forma que encaje sobre el conector (mire las imágenes), y luego engrápelo a la madera. Corta los pedazos que puedan estorbar. Atornille el potenciómetro y coloque la perilla. Suelde el cable positivo a uno de los extremos del potenciómetro (no a la parte variable) y el cable negativo al extremo opuesto. Suelde el pin D al pin variable de la olla. Suelde un cable desde la clavija de la olla con el cable positivo a una de las clavijas del botón. Suelde D + al otro pin del botón. Recorta el cable de repuesto y aísla las piezas que lo necesiten.

Paso 6: Camisa

Camisa
Camisa
Camisa
Camisa
Camisa
Camisa

Busque una camisa cómoda que deje pasar la luz. Elegí esta camiseta blanca básica. Realmente no importa el color o el estilo, siempre que se pueda ver la luz brillando desde el interior. Sin embargo, no recomiendo gráficos en el frente. Coloca todo en la camiseta para ayudarte a decidir dónde lo quieres y usa una herramienta de marcado borrable para dibujarlo. Yo (es decir, algunas personas que conozco) tengo un lápiz para marcar telas que se lava fácilmente. Mida el tamaño de las baterías, la caja del controlador y la pantalla y corte trozos de papel para que coincidan. Luego sujeta el papel con alfileres a un trozo de tela no elástica. Un tejido funciona bien para esto. Luego corte un rectángulo dejando aproximadamente un cuarto de pulgada para una costura alrededor. Luego, usando la hoja de papel como guía, planche los pliegues en la tela. Ahora se puede quitar el papel. En la parte del bolsillo que será la parte superior, dóblelo sobre sí mismo tres veces. Planchar y sujetar con alfileres para mantenerlo en su lugar. Coser una apariencia a lo largo de la mitad del doblez. Ahora tome la esquina y dóblela de modo que los bordes sin coser perpendiculares entre sí queden paralelos y cosa un aspecto a lo largo del pliegue planchado más cercano a la esquina (las imágenes realmente ayudan). Haga esto también para la otra esquina. Si por casualidad va a tener un interruptor de palanca saliendo de un bolsillo, cosa un ojal en la base del bolsillo donde toca el interruptor. Luego cosa un ojal y recorta la parte central. Realmente no puedo dar instrucciones detalladas porque tenía una herramienta genial para hacer ojales. Solo asegúrese de hacer los agujeros antes de coser el bolsillo. Tome algunos alfileres y páselos a través de la camisa en las esquinas de las marcas del bolsillo. Tome el bolsillo y coloque cada esquina en un alfiler (en el interior de la camisa), dejando un cuarto de pulgada para la costura, y fíjelo a la camisa. Después de que el bolsillo se haya fijado con alfileres. Quite los alfileres que no sujetan el bolsillo y cosa el bolsillo a la camisa. Repita para todos los bolsillos. Para el bolsillo grande que sostiene la pantalla, deje un espacio para los cables en la parte inferior del bolsillo. Para hacer un agujero en la camiseta marque el lugar y tome una plancha en el respaldo (con la parte más brillante en la tela) y plánchela. Luego, para un pequeño orificio (como el que usé para el interruptor de palanca), haga un ojal. Para un agujero más grande, marque el contorno y use una puntada en zigzag a lo largo de la línea (o curva o lo que sea) y corte la parte central. Si lo desea, puede usar tirantes para sostener el peso de los bolsillos, los dos clips que sujetan los bolsillos en la parte delantera y el clip trasero en los pantalones. También conseguí una pequeña manga de tela cosida sobre las partes de los tirantes que tocarán mi piel. Dos camisas pueden calentarse un poco, así que opté por no usar la manga de tela.

Paso 7: programación

Programación
Programación

Y aquí está el código. Hay algunas partes que están bien comentadas, pero la gran mayoría no. Si tiene preguntas sobre diferentes partes, puede darme el número de línea (con #include como línea número uno) o darme una copia de la (s) línea (s) y la función en la que reside (como loop () o compMovePaddle ()) y haré todo lo posible para explicárselo, luego agregaré un comentario al código explicándolo. #include #define PIN 6 // dice cuáles son los pines de entrada para el juego int buttonPin = 40; // dicta la puntuación, mantenida en una matriz bianaria porque es esier int playerScore [5] = {0, 0, 0, 0, 0}; int compScore [5] = {0, 0, 0, 0, 0}; // dicta la dirección de la pelota int bvd = 0; // 0 está abajo, 1 está arriba int bhd = 0; // 0 es derecha, 1 es izquierda // dicta la posición de la pelota int bvp = 8; int bhp = 6; // comprueba si la bola está en modo rápido boolean fast = false; // comprueba si es una puntuación. booleano cIsPoint = falso; pIsPoint booleano = falso; // posiciones de la paleta int cPaddle = 0; int pPaddle = 0; long previousMillis = 0; long previousMillisForComp = 0; // establece los tiempos de retardo para la bola de movimiento rápido y lento el "Int" en normInt y fastInt es para el intervalo int normInt = 50; int fastInt = 10; // utilizado para comprobar si hay una victoria. 1 es la victoria del jugador, -1 en la victoria de la computadora y 0 es que no ha sucedido nada aún int win = 0; // para deshacerse de un error. utilizado en la declaración addOne y en ningún otro lugar. int que = 0; // Lo que se muestra antes del inicio, -1 es 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 ganas en youWin = {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 pierde en ustedLose = {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 de led Adafruit_NeoPixel strip = Adafruit_NeoPixel (210, PIN, NEO_RGB + NEO_KHZ800); // configurando, no convierte el pin 40 para la entrada, comienza la tira, muestra el // mensaje y lo muestra. configuración vacía () {pinMode (buttonPin, INPUT); strip.begin (); for (int i = 0; pongPlay > 0; i ++) {strip.setPixelColor (pongPlay , strip. Color (0, 0, 255)); } strip.show (); retraso (5000); while (digitalRead (buttonPin) == LOW) {// ¡Es una trampa! (hasta que se presiona el botón)}} void loop () {clearScreen (); // dibuja las paletas para mostrar la puntuación de (int i = 0; i <5; i ++) {if (playerScore == 1) {strip.setPixelColor (204-i, strip. Color (255, 255, 255)); } más si ((playerScore == 0)) {strip.setPixelColor (204-i, strip. Color (0, 255, 0)); } if (compScore == 1) {strip.setPixelColor (5 + i, strip. Color (255, 255, 255)); } más si ((compScore == 0)) {strip.setPixelColor (5 + i, strip. Color (255, 0, 0)); }} // dibuja la bola en su posición inicial strip.setPixelColor (98, strip. Color (255, 255, 255)); strip.show (); // decide si la bola sube o baja while (pIsPoint == false && cIsPoint == false) {clearScreen (); currentMillis largo sin firmar = millis (); // asigna la posición de la paleta del jugador pPaddle = checkPaddlePos (); // comprueba la siguiente posición checkNext (); // moviendo la bola if (fast == false) {if (currentMillis - previousMillis> normInt) {previousMillis = currentMillis; moveBall (); }} else if (rápido == verdadero) {if (currentMillis - previousMillis> fastInt) {previousMillis = currentMillis; moveBall (); }} // saca la bola if (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)); } // movimiento de paleta de computadora compMovePaddle (); // dibuja las paletas drawPaddles (); // actualmente puso todo.strip.show (); // comprobar si se ha puntuado un punto if (pIsPoint == true) {which = 0; bhd = 0; Agrega uno(); rotura; } else if (cIsPoint == true) {which = 1; bhd = 1; Agrega uno(); rotura; }} if (ganar == 1) {clearScreen (); for (int i = 0; youWin > 0; i ++) {strip.setPixelColor (youWin , strip. Color (255, 0, 0)); strip.show (); } retraso (5000); para (int i = 0; i <5; i ++) {playerScore = 0; compScore = 0; } ganar = 0; } else if (win == -1) {clearScreen (); for (int i = 0; youLose > 0; i ++) {strip.setPixelColor (youLose , strip. Color (0, 255, 0)); strip.show (); } retraso (5000); para (int i = 0; i <5; i ++) {playerScore = 0; compScore = 0; } ganar = 0; } pIsPoint = falso; cIsPoint = falso; bvp = 8; bhp = 6; bvd = random (0, 2); // 0 está abajo, 1 está arriba rápido = falso; } // La IA del juego void compMovePaddle () {unsigned long currentMillis = millis (); if (currentMillis - previousMillisForComp> 51) {previousMillisForComp = currentMillis; if (bvp> = 13 && 10-cPaddle 0) {cPaddle--; } más si (bvp = 0 && cPaddle <10) {cPaddle ++; } más si (bvp-3> 10-cPaddle && 10-cPaddle> = 0 && cPaddle> 0) {cPaddle--; } más si (bvp <10-cPaddle && 10-cPaddle <= 10) {cPaddle ++; }}} // mueve la bola void moveBall () {if (bhd == 0) {bhp--; } más si (bhd == 1) {bhp ++; } si (bvd == 0) {bvp--; } más si (bvd == 1) {bvp ++; }} // agrega uno a la matriz. Si whichOne es 0, se suma a la puntuación del jugador. Si es 1, agrega a las computadoras void addOne () {if (which == 0) {// si es el puntaje del jugador // Agrega uno. Esta es la forma simple que conozco. for (int i = 0; i <5; i ++) {// bucle if (playerScore == 0) {// si ese valor es cero playerScore = 1; // haz 1 descanso; // luego vete} else {// si es 1 playerScore = 0; // hazlo cero y haz un bucle}}} else if (which == 1) {for (int i = 0; i <5; i ++) {if (compScore == 0) {compScore = compScore +1; rotura; } más {compScore = 0; }}} // Comprueba si alguien ganó. 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; }} // comprueba las bolas en la siguiente posición void checkNext () {// comprueba si se ha anotado un punto if (bhp == 13) {pIsPoint = true; } más si (bhp == 0) {cIsPoint = true; } // si se ha anotado un punto, omita el resto de estas cosas if (pIsPoint == false || cIsPoint == false) {// verifica la bola verticalmente if (bvp + bvd == 15) {bvd = 0; } más si (bvp + bvd == 0) {bvd = 1; } // comprueba la bola horizontalmente if (bhp + bhd == 13) {// primero en el lado de la computadora if (bvp> = 10-cPaddle && bvp <= 10-cPaddle + 4) {if (bhd == 1) {bhd = 0; } más si (bhd == 0) {bhd = 1; } rápido = falso; } más si (bvp + bvd == 10-cPaddle || bvp + bvd == 10-cPaddle + 5) {if (bvp! = 0 && bvp! = 14) {if (bvd == 0) {bvd = 1; } más si (bvd == 1) {bvd = 0; } bhd = 1; } más si (bvp == 0 || bvp == 14) {bhd = 1; } rápido = falso; }} else if (bhp + bhd == 1) {// entonces en el lado del jugador if (bvp> = pPaddle && bvp <= pPaddle + 4) {// ¿está golpeando la paleta en un lugar normal? //¡rebota la pelota! si (bhd == 1) {bhd = 0; } más si (bhd == 0) {bhd = 1; }} else if (bvp + bvd == pPaddle || bvp + bvd-5 == pPaddle) {// ¿está golpeando la paleta en la esquina if (bvp! = 0 && bvp! = 14) {// ¿es no arriba o abajo abajo? //¡Rebota la pelota! si (bvd == 0) {bvd = 1; } más si (bvd == 1) {bvd = 0; } bhd = 1; rápido = verdadero; } else if (bvp == 0 || bvp == 14) {// ¿es alto o bajo? //¡rebota la pelota! bhd = 0; fast = true; // establece el valor para luego hacer que la bola se mueva rápido}}}}} int checkPaddlePos () {// lee el bote y decide la posición de la paleta de acuerdo con if (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) {return 10; }} void drawPaddles () {// dibuja las paletas en el lugar correcto y muestra la puntuación en la paleta para (int i = 0; i <5; i ++) {if (playerScore == 1) {strip. setPixelColor (pPaddle + i, strip. Color (255, 255, 255)); } más si ((playerScore == 0)) {strip.setPixelColor (pPaddle + i, strip. Color (255, 0, 0)); } if (compScore == 1) {strip.setPixelColor (199 + cPaddle-i, strip. Color (255, 255, 255)); } más si ((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 (); }

Paso 8: Producto terminado

Producto terminado
Producto terminado
Producto terminado
Producto terminado

¡Y ahí tienes, la camiseta terminada!

Recomendado: