Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PImage
- lion,
- car;
- int
- lionX,lionY,
- carX, carY,
- lionW, lionH,
- carW, carH,
- carSpeed,
- lionStep = 1,
- maxStep,
- road;
- boolean flag = true;
- void setup ( ) {
- size(1280, 740);
- //fullScreen (); // jei noriu, kad programa veiktų visame ekrane (bet man to nereikia)
- // lango dydį galima šiek tiek keisti
- // tiesa, dydis pririštas prie aukščio
- // tad jam didėjant, atitinkamai turi didėti ir plotis
- lion = loadImage("data/lion.png");
- car = loadImage("data/car.png");
- imageMode (CENTER);
- float size = height / 2500.0;
- lionW = (int)(lion.width * size);
- lionH = (int)(lion.height * size);
- carW = (int)(car.width * size);
- carH = (int)(car.height * size);
- road = height - height / 4;
- lionX = carX = width / 2;
- carY = road;
- lionY = road - carH - lionH/2;
- carSpeed = width / 80;
- }
- void car ( ) {
- image(car, carX, carY, carW, carH);
- carX += carSpeed;
- if (carX - carW > width)
- carX = -carW; // iš esmės, dar šiek tiek ir uždedu, kad tikrai gražiai
- // įlįstų į vieną pusę ir išlįstų iš kitos
- if (
- (carX + carW/2 > lionX - lionW/2) && // automobilis atsitrenkė į liūtą
- (carX - carW/2 < lionX + lionW/2) && // automobilis liūto dar nepravažiavo
- (lionY == road) // liūtas yra ant kelio
- )
- stop();
- }
- void lion ( ) {
- image(lion, lionX, lionY, lionW, lionH);
- lionY += lionStep;
- //if (flag)
- lionStep += 2; // gravitacija turėtų būti tokia pati visiems langams (?)
- //else
- // lionStep += maxStep / 18;
- // iš tiesų galėčiau taip daryti, tik kad dabar tai neturi prasmės
- // nes pačioje pradžioje lionStep didinu per du
- // tai reiškia, kad kūnas kildamas į viršų po truputį lėtėja
- // ir leisdamasis žemyn greitėja
- // taip lyg ir veikia gravitacija
- if (lionY > road) { // taip, šitas reikalas reikalingas tik pirmam kartui
- if (flag) {
- maxStep = lionStep;
- //println (maxStep, maxStep/18);
- // aš tik šitoje vietoje inicializuoju maxStep (kad žinočiau, kiek man reikia pakilti į viršų)
- flag = false;
- }
- lionY = road; // noriu čia užtikrinti konkrečią vietą, nes lionStep keičiantis
- // gali atsitikti, kad lionY niekad nebus konkretus toks, kokio man reikia
- lionStep = 0;
- }
- }
- void keyPressed ( ) {
- if ((key == ' ') && (lionY == road))
- lionStep = -maxStep; // sakau, kad šoksiu į viršų (šioje vietoje iš tiesų dar nešoku)
- }
- void draw ( ) {
- background(125, 195, 255); // light blue
- lion ();
- car ();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement