Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float
- // ball
- ballX = 0, // pradedu nuo viršutinio kairiojo kampo
- ballY = 0,
- wayX = 1, // ballX direction (1 or -1)
- wayY = 1, // ballY direction (1 or -1)
- ballStep, // ball speed
- ballSize,
- // paddle
- paddleX,
- paddleY,
- paddleW, // paddle width
- paddleH, // paddle height
- paddleStep; // paddle speed
- int
- points = 0,
- timer = 0; // kad kamuolys "neužstrigtų" prie paddle
- void setup () {
- size (1280, 750);
- rectMode (CENTER);
- ballSize = height * 0.1;
- ballStep = width * 0.01;
- paddleX = width * 0.5;
- paddleY = height * 0.95;
- paddleW = width * 0.125;
- paddleH = height * 0.03;
- paddleStep = width * 0.01;
- textSize(50);
- }
- void ball () {
- ++timer;
- ballX += ballStep * wayX;
- ballY += ballStep * wayY;
- if ((ballX < 0) || (ballX > width)) // tikrinu šonus
- wayX *= -1;
- if ((ballY < 0))
- wayY = 1;
- if ((ballY + ballSize / 2 > paddleY - paddleH / 2) // apačia, atsimušti tik tada, jei liečia paddle
- && (ballX > paddleX - paddleW/2 && ballX < paddleX + paddleW/2)
- && timer > frameRate / 2
- ) {
- wayY = -1;
- ++points;
- timer = 0;
- }
- if (ballY > height)
- stop ();
- fill (255);
- circle (ballX, ballY, ballSize);
- }
- void paddle () {
- if (keyPressed) {
- if (keyCode == RIGHT)
- paddleX += paddleStep;
- if (keyCode == LEFT)
- paddleX -= paddleStep;
- }
- fill (255, 0, 0);
- rect (paddleX, paddleY, paddleW, paddleH);
- }
- void keyReleased () {
- // gali būti situacija, kad laikydamas '<-' spusteliu '->'
- // ir tik po kurio laiko atleidžiu '<-' (kurį tai laiką paspausti abu klavišai)
- // atleidus klavišą key/keyCode įgauna atleisto klavišo reikšmę
- // ir tuomet paddle (jei vis dar spaudžiu į '->') juda ne taip, kaip turėtų judėti
- // šitas kodas, rodos, tą problemą išsprendžia
- if (keyCode == LEFT)
- keyCode = RIGHT;
- else if (keyCode == RIGHT)
- keyCode = LEFT;
- }
- void draw () {
- background (0);
- ball ();
- paddle ();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement