package demoflappybird;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class PaintPipe
extends JPanel {
private static int x1 = 500;
private static int x2 = x1 + 140;
private static int x3 = x1 + 140;
private static int x4 = x2 + 140;
private static boolean status1 = false;
private static boolean status2 = false;
private static boolean status3 = false;
private static boolean status4 = false;
private static int h1, h2, h3, h4;
public int getH1() {
return h1;
}
public int getH2() {
return h2;
}
public int getH3() {
return h3;
}
public int getH4() {
return h4;
}
public static int getX1() {
return x1;
}
public static int getX2() {
return x2;
}
public static int getX3() {
return x3;
}
public static int getX4() {
return x4;
}
if (status1 == false) {
h1 = random.nextInt(200);
status1 = true;
}
if (status2 == false) {
h2 = random.nextInt(200);
status2 = true;
}
if (status3 == false) {
h3 = random.nextInt(200);
status3 = true;
}
if (status4 == false) {
h4 = random.nextInt(200);
status4 = true;
}
}
try {
OngNuocTren
= ImageIO.
read(new File("D:\\Downloads\\FlappyBird\\res\\OngnuocTren.png")); OngNuocDuoi
= ImageIO.
read(new File("D:\\Downloads\\FlappyBird\\res\\OngnuocDuoi.png"));
g.drawImage(OngNuocTren, x1, 0, 60, h1, null);
g.drawImage(OngNuocDuoi, x1, h1 + 100, 60, 500, null);
g.drawImage(OngNuocTren, x2, 0, 60, h2, null);
g.drawImage(OngNuocDuoi, x2, h2 + 100, 60, 500, null);
g.drawImage(OngNuocTren, x3, 0, 60, h3, null);
g.drawImage(OngNuocDuoi, x3, h3 + 100, 60, 500, null);
g.drawImage(OngNuocTren, x4, 0, 60, h4, null);
g.drawImage(OngNuocDuoi, x4, h4 + 100, 60, 500, null);
Logger.getLogger(PaintPipe.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void MovePipe() {
x1--;
x2--;
x3--;
x4--;
}
public void Recurrence() {
if (x1 == -40) {
x1 = 500;
status1 = false;
}
if (x2 == -40) {
x2 = 500;
status2 = false;
}
if (x3 == -40) {
x3 = 500;
status3 = false;
}
if (x4 == -40) {
x4 = 500;
status4 = false;
}
}
}
cGFja2FnZSBkZW1vZmxhcHB5YmlyZDsKCmltcG9ydCBqYXZhLmF3dC5Db2xvcjsKaW1wb3J0IGphdmEuYXd0LkdyYXBoaWNzOwppbXBvcnQgamF2YS5hd3QuaW1hZ2UuQnVmZmVyZWRJbWFnZTsKaW1wb3J0IGphdmEuaW8uRmlsZTsKaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLnV0aWwuUmFuZG9tOwppbXBvcnQgamF2YS51dGlsLmxvZ2dpbmcuTGV2ZWw7CmltcG9ydCBqYXZhLnV0aWwubG9nZ2luZy5Mb2dnZXI7CmltcG9ydCBqYXZheC5pbWFnZWlvLkltYWdlSU87CmltcG9ydCBqYXZheC5zd2luZy5KUGFuZWw7CgpwdWJsaWMgY2xhc3MgUGFpbnRQaXBlIGV4dGVuZHMgSlBhbmVsIHsKCiAgICBwcml2YXRlIHN0YXRpYyBpbnQgeDEgPSA1MDA7CiAgICBwcml2YXRlIHN0YXRpYyBpbnQgeDIgPSB4MSArIDE0MDsKICAgIHByaXZhdGUgc3RhdGljIGludCB4MyA9IHgxICsgMTQwOwogICAgcHJpdmF0ZSBzdGF0aWMgaW50IHg0ID0geDIgKyAxNDA7CgogICAgcHJpdmF0ZSBzdGF0aWMgYm9vbGVhbiBzdGF0dXMxID0gZmFsc2U7CiAgICBwcml2YXRlIHN0YXRpYyBib29sZWFuIHN0YXR1czIgPSBmYWxzZTsKICAgIHByaXZhdGUgc3RhdGljIGJvb2xlYW4gc3RhdHVzMyA9IGZhbHNlOwogICAgcHJpdmF0ZSBzdGF0aWMgYm9vbGVhbiBzdGF0dXM0ID0gZmFsc2U7CgogICAgcHJpdmF0ZSBzdGF0aWMgaW50IGgxLCBoMiwgaDMsIGg0OwoKICAgIHByaXZhdGUgQnVmZmVyZWRJbWFnZSBPbmdOdW9jVHJlbiwgT25nTnVvY0R1b2k7CgogICAgcHVibGljIGludCBnZXRIMSgpIHsKICAgICAgICByZXR1cm4gaDE7CiAgICB9CgogICAgcHVibGljIGludCBnZXRIMigpIHsKICAgICAgICByZXR1cm4gaDI7CiAgICB9CgogICAgcHVibGljIGludCBnZXRIMygpIHsKICAgICAgICByZXR1cm4gaDM7CiAgICB9CgogICAgcHVibGljIGludCBnZXRINCgpIHsKICAgICAgICByZXR1cm4gaDQ7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBpbnQgZ2V0WDEoKSB7CiAgICAgICAgcmV0dXJuIHgxOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgaW50IGdldFgyKCkgewogICAgICAgIHJldHVybiB4MjsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGludCBnZXRYMygpIHsKICAgICAgICByZXR1cm4geDM7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBpbnQgZ2V0WDQoKSB7CiAgICAgICAgcmV0dXJuIHg0OwogICAgfQoKICAgIHB1YmxpYyB2b2lkIFJhbmRvbSgpIHsKICAgICAgICBSYW5kb20gcmFuZG9tID0gbmV3IFJhbmRvbSgpOwoKICAgICAgICBpZiAoc3RhdHVzMSA9PSBmYWxzZSkgewogICAgICAgICAgICBoMSA9IHJhbmRvbS5uZXh0SW50KDIwMCk7CiAgICAgICAgICAgIHN0YXR1czEgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiAoc3RhdHVzMiA9PSBmYWxzZSkgewogICAgICAgICAgICBoMiA9IHJhbmRvbS5uZXh0SW50KDIwMCk7CiAgICAgICAgICAgIHN0YXR1czIgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiAoc3RhdHVzMyA9PSBmYWxzZSkgewogICAgICAgICAgICBoMyA9IHJhbmRvbS5uZXh0SW50KDIwMCk7CiAgICAgICAgICAgIHN0YXR1czMgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiAoc3RhdHVzNCA9PSBmYWxzZSkgewogICAgICAgICAgICBoNCA9IHJhbmRvbS5uZXh0SW50KDIwMCk7CiAgICAgICAgICAgIHN0YXR1czQgPSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgdm9pZCBwYWludFBpcGUoR3JhcGhpY3MgZykgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBPbmdOdW9jVHJlbiA9IEltYWdlSU8ucmVhZChuZXcgRmlsZSgiRDpcXERvd25sb2Fkc1xcRmxhcHB5QmlyZFxccmVzXFxPbmdudW9jVHJlbi5wbmciKSk7CiAgICAgICAgICAgIE9uZ051b2NEdW9pID0gSW1hZ2VJTy5yZWFkKG5ldyBGaWxlKCJEOlxcRG93bmxvYWRzXFxGbGFwcHlCaXJkXFxyZXNcXE9uZ251b2NEdW9pLnBuZyIpKTsKCiAgICAgICAgICAgIGcuZHJhd0ltYWdlKE9uZ051b2NUcmVuLCB4MSwgMCwgNjAsIGgxLCBudWxsKTsKICAgICAgICAgICAgZy5kcmF3SW1hZ2UoT25nTnVvY0R1b2ksIHgxLCBoMSArIDEwMCwgNjAsIDUwMCwgbnVsbCk7CgogICAgICAgICAgICBnLmRyYXdJbWFnZShPbmdOdW9jVHJlbiwgeDIsIDAsIDYwLCBoMiwgbnVsbCk7CiAgICAgICAgICAgIGcuZHJhd0ltYWdlKE9uZ051b2NEdW9pLCB4MiwgaDIgKyAxMDAsIDYwLCA1MDAsIG51bGwpOwoKICAgICAgICAgICAgZy5kcmF3SW1hZ2UoT25nTnVvY1RyZW4sIHgzLCAwLCA2MCwgaDMsIG51bGwpOwogICAgICAgICAgICBnLmRyYXdJbWFnZShPbmdOdW9jRHVvaSwgeDMsIGgzICsgMTAwLCA2MCwgNTAwLCBudWxsKTsKCiAgICAgICAgICAgIGcuZHJhd0ltYWdlKE9uZ051b2NUcmVuLCB4NCwgMCwgNjAsIGg0LCBudWxsKTsKICAgICAgICAgICAgZy5kcmF3SW1hZ2UoT25nTnVvY0R1b2ksIHg0LCBoNCArIDEwMCwgNjAsIDUwMCwgbnVsbCk7CgogICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGV4KSB7CiAgICAgICAgICAgIExvZ2dlci5nZXRMb2dnZXIoUGFpbnRQaXBlLmNsYXNzLmdldE5hbWUoKSkubG9nKExldmVsLlNFVkVSRSwgbnVsbCwgZXgpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgdm9pZCBNb3ZlUGlwZSgpIHsKICAgICAgICB4MS0tOwogICAgICAgIHgyLS07CiAgICAgICAgeDMtLTsKICAgICAgICB4NC0tOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIFJlY3VycmVuY2UoKSB7CiAgICAgICAgaWYgKHgxID09IC00MCkgewogICAgICAgICAgICB4MSA9IDUwMDsKICAgICAgICAgICAgc3RhdHVzMSA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoeDIgPT0gLTQwKSB7CiAgICAgICAgICAgIHgyID0gNTAwOwogICAgICAgICAgICBzdGF0dXMyID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGlmICh4MyA9PSAtNDApIHsKICAgICAgICAgICAgeDMgPSA1MDA7CiAgICAgICAgICAgIHN0YXR1czMgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKHg0ID09IC00MCkgewogICAgICAgICAgICB4NCA9IDUwMDsKICAgICAgICAgICAgc3RhdHVzNCA9IGZhbHNlOwogICAgICAgIH0KICAgIH0KfQo=