Arduino vertikala Pong (3 / 3 steg)
Steg 3: Bearbetning kod
import processing.serial.*;
Seriell port = ny följetong (denna, Serial.list() [0], 9600); Snöre värde; booleska gameover = false, höger = false, vänster = falskt, d = false, en = false, senast = false, spelar = false; int topscore = 0, bottomscore = 0, knappen = 0; flyta changespeed = 0; Paddel botten; Klumpa ihop sig pongball; Paddel topp; void setup() {frameRate(100); noStroke(); pongball = ny Ball(); botten = nya Paddle(); top = nya Paddle(); top.y=0;size(1024,500); value=port.readStringUntil('\n');} makulera draw() {String [] import; background(0); om (port.available() > 0) {value=port.readStringUntil('\n');} om (värde! = null) {import = dela (värde, ""); int jag = 0; samtidigt (i 0) {bottomscore = 0; topscore = 0; port.write(7); gameover = false; spela = false;}} om (knappen > 0) {gameover = false; spela = false;}} } top.show(); Bottom.show(); om (! gameover) {pongball.move();} annat {om (! spelar) {sendthing();} om (sista) {pongball.x = top.x+60; pongball.y = top.y+13; pongball.up = false; pongball.right = false;} annat {pongball.x = bottom.x+60; pongball.y = bottom.y-13; pongball.up = true; pongball.right = true;}} pongball.bounce(); pongball.show(); om (pongball.y < -8) {gameover = true; bottomscore ++; senast = sant;} om (pongball.y > 508) {senast = false; gameover = true; topscore ++;}}
void sendthing() {om (topscore == 1 & &! sista) {port.write(1);} om (topscore == 2 & &! sista) {port.write(2);} om (topscore == 3 & &! sista) {port.write(3);} om (bottomscore == 1 & & sista) {port.write(4);} om (bottomscore == 2 & & sista) {port.write(5);} om (bottomscore == 3 & & sista) {port.write(6);}
spela = sant; }
Undergrupp bollen {int x, y; boolean upp, rätt; Ball() {x = 16; y = 484; upp = true; höger = sant;} makulera move() {om (upp == true) {y=int(y-2-changespeed/2);} annat //up==false {y=int(y+2+changespeed/2);} om (just == true) {x=int(x+5+changespeed);} annat //right==false {x=int(x-5-changespeed);}} void bounce() {om (få (int (x)-8, int(y))!=color(0)) {höger = sant; om (y > 9 & & y < 491) {port.write(8);}} om (få (int (x) + 8 int(y))!=color(0)) {höger = false; om (y > 9 & & y < 491) {port.write(8);}} om (get(int(x), int (y) -8) == färg (255, 0, 0)) {upp = false; om (y > 9 & & y < 491) {port.write(8);}} om (get(int(x), int (y) + 8) == färg (255, 0, 0)) {upp = sant; om (y > 9 & & y < 491) {port.write(8);}}} void show() {fyllning (247, 226, 48), ellips (x, y, 16, 16);}}
klass paddla {int x, y; Paddle() {x = 250; y = 496;} void show() {fyllning (255, 0, 0); rect (x, y, 120, 4);}}