Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.25 KB | None | 0 0
  1. #include<graphics.h>
  2. #include<stdio.h>
  3. #include<conio.h>
  4. #include<stdlib.h>
  5. #include<dos.h>
  6. #include <bits/stdc++.h>
  7. #define wincall initwindow(1000,390,"FLAPPY BIRDS")
  8. using namespace std;
  9.  
  10. //necessary variable declarations
  11. int score=0;
  12. int bdx1,bdx2;
  13.  
  14. int l = 300, y = 200,s=0;
  15.  
  16. int j=200;
  17. int x=25;
  18.  
  19. int co1=19,co2=19;
  20.  
  21. int overflag =0;
  22. vector<int> sc;
  23. //variable declarartions end
  24. void showscore()
  25. {
  26. settextstyle(3,0,6);
  27. char arr[50];
  28. if(!score)
  29. {
  30. score=score%1000;
  31. sc.push_back(score);
  32. }
  33. sc.push_back(score);
  34. sprintf(arr,"score : %d",sc[0]);
  35. outtextxy(100,200,arr);
  36.  
  37. delay(1200);
  38. //cleardevice();
  39. }
  40. void startpage()
  41. {
  42. int f =0;
  43. setbkcolor(RED);
  44. settextstyle(3,0,6);
  45. outtextxy(l, y, "FLAPPY BIRD");
  46. setbkcolor(WHITE);
  47. delay(1200);
  48. cleardevice();
  49. }
  50.  
  51. int rands(int lower, int upper)
  52. {
  53.  
  54.  
  55. int num = (rand() %
  56. (upper - lower + 1)) + lower;
  57. return num;
  58.  
  59. }
  60. bool check()
  61. {
  62. char m;
  63. cleardevice();
  64. settextstyle(6,0,3);
  65. outtextxy(100,200,"Press Any Key to play");
  66. delay(1200);
  67. cleardevice();
  68. if(kbhit()){
  69. m=getch();
  70. overflag=0;
  71. return 0;
  72. }
  73. return 1;
  74. }
  75. void img(int j)
  76. {
  77.  
  78.  
  79. readimagefile("flappy.jpg",50,50+j,100,100+j);
  80. co1=50+j;
  81. co2=100+j;
  82. }
  83. bool gameover()
  84. {
  85. outtextxy(100,200,"Opps! GAME OVER");
  86. delay(1200);
  87. cleardevice();
  88. showscore();
  89. delay(1200);
  90. cleardevice();
  91. int v=check();
  92. if(v)
  93. {
  94. setbkcolor(RED);
  95. settextstyle(3,0,6);
  96. delay(100);
  97. outtextxy(l, y, "Return to desktop");
  98. delay(1200);
  99. return 0;
  100. }
  101. j=200;
  102. x=25;
  103. co1=19;
  104. co2=19;
  105. return 1;
  106.  
  107. }
  108. void pipes(int x1,int x2,int r1,int r2,int i,int mb1,int mb2)
  109. {
  110.  
  111. line(x1-i,20,x1-i,r1+mb1);
  112. line(x2-i,20,x2-i,r1+mb1);
  113. line(x1-i,r1+mb1,x2-i,r1+mb1);
  114. line(x1-i,380,x1-i,r2+mb2);
  115. line(x2-i,380,x2-i,r2+mb2);
  116. line(x1-i,r2+mb2,x2-i,r2+mb2);
  117. int bdx1=x1-i;
  118. int bdx2=x2-i;
  119.  
  120. if(bdx1>=50 && bdx2 <=100)
  121. {
  122. score++;
  123. if(co1<=r1+mb1 || co2>=r2+mb2)
  124. {
  125. settextstyle(6,0,3);
  126. cleardevice();
  127. overflag=1;
  128. cleardevice();
  129.  
  130. }
  131.  
  132. }
  133.  
  134.  
  135. }
  136. /*void showscore()
  137. {
  138. settextstyle(3,0,6);
  139. char arr[50];
  140. sprintf(arr,"score : %d",score);
  141. outtextxy(100,200,arr);
  142.  
  143. delay(1200);
  144. cleardevice();
  145. }*/
  146.  
  147.  
  148. void birdfly()
  149. {
  150. if(kbhit())
  151. {
  152. char b= getch();
  153. j-=20;
  154.  
  155. img(j);
  156. delay(100);
  157. cleardevice();
  158. }else{
  159. j+=6;
  160. img(j);
  161. delay(100);
  162. cleardevice();
  163. }
  164.  
  165. }
  166. /*
  167. void pipes()
  168. {
  169.  
  170. }
  171.  
  172. void score()
  173. {
  174.  
  175. }
  176. */
  177.  
  178. void play()
  179. {
  180.  
  181. wincall;
  182. //initgraph(&gdrive, &gmode, NULL);*/
  183.  
  184. startpage();
  185. int i=0;
  186. int pq=0;
  187. while(1){
  188. setbkcolor(WHITE);
  189.  
  190. int x;
  191.  
  192.  
  193.  
  194. int mb1=rands(80,150);//up
  195. int mb2=rands(220,300);//low
  196.  
  197.  
  198.  
  199. while(1)
  200. {
  201. setactivepage(pq);
  202. birdfly();
  203. i+=3;
  204. setcolor(BLACK);
  205. line(20,20,10000,20);
  206. if(co2<=20)
  207. {
  208.  
  209. overflag = 1;
  210. cleardevice();
  211. return;
  212. }
  213. setcolor(BLACK);
  214. line(20,380,10000,380);
  215. if(co1>=335){
  216.  
  217. overflag = 1;
  218. cleardevice();
  219. return;
  220. }
  221.  
  222.  
  223. pipes(100,120,50,6,i,mb1,mb2);
  224. if(overflag)return;
  225.  
  226.  
  227.  
  228.  
  229. pipes(150,170,30,6,i,mb1,mb2);
  230. if(overflag)return;
  231.  
  232. pipes(240,260,30,0,i,mb1,mb2);
  233. if(overflag)return;
  234.  
  235. pipes(330,350,50,-6,i,mb1,mb2);
  236. if(overflag)return;
  237.  
  238. pipes(420,440,40,-12,i,mb1,mb2);
  239. if(overflag)return;
  240.  
  241.  
  242. pipes(510,530,10,30,i,mb1,mb2);
  243. if(overflag)return;
  244.  
  245. pipes(600,620,40,9,i,mb1,mb2);
  246. if(overflag)return;
  247.  
  248. pipes(690,710,8,5,i,mb1,mb2);
  249. if(overflag)return;
  250.  
  251. pipes(780,800,90,35,i,mb1,mb2);
  252. if(overflag)return;
  253.  
  254. pipes(870,890,80,10,i,mb1,mb2);
  255. if(overflag)return;
  256.  
  257. pipes(960,980,25,35,i,mb1,mb2);
  258. if(overflag)return;
  259.  
  260. pipes(1050,1070,30,-15,i,mb1,mb2);
  261. if(overflag)return;
  262.  
  263. pipes(1140,1160,50,5,i,mb1,mb2);
  264. if(overflag)return;
  265.  
  266. pipes(1230,1250,75,15,i,mb1,mb2);
  267. if(overflag)return;
  268.  
  269. pipes(1320,1340,5,35,i,mb1,mb2);
  270. if(overflag)return;
  271.  
  272. pipes(1410,1430,50,6,i,mb1,mb2);
  273. if(overflag)return;
  274.  
  275.  
  276.  
  277. pipes(1500,1520,50,-16,i,mb1,mb2);
  278. if(overflag)return;
  279.  
  280.  
  281.  
  282.  
  283. pipes(1590,1610,30,6,i,mb1,mb2);
  284. if(overflag)return;
  285.  
  286. pipes(1680,1700,30,0,i,mb1,mb2);
  287. if(overflag)return;
  288.  
  289. pipes(1770,1790,50,-6,i,mb1,mb2);
  290. if(overflag)return;
  291.  
  292. pipes(1860,1880,40,-12,i,mb1,mb2);
  293. if(overflag)return;
  294.  
  295.  
  296. pipes(1950,1970,10,30,i,mb1,mb2);
  297. if(overflag)return;
  298.  
  299. pipes(2040,2060,40,9,i,mb1,mb2);
  300. if(overflag)return;
  301.  
  302. pipes(2130,2150,8,5,i,mb1,mb2);
  303. if(overflag)return;
  304.  
  305. pipes(2220,2240,90,35,i,mb1,mb2);
  306. if(overflag)return;
  307.  
  308. pipes(2310,2330,80,10,i,mb1,mb2);
  309. if(overflag)return;
  310.  
  311. pipes(2400,2420,25,35,i,mb1,mb2);
  312. if(overflag)return;
  313.  
  314. pipes(2490,2510,30,-15,i,mb1,mb2);
  315. if(overflag)return;
  316.  
  317. pipes(2580,2600,50,5,i,mb1,mb2);
  318. if(overflag)return;
  319.  
  320. pipes(2670,2690,75,15,i,mb1,mb2);
  321. if(overflag)return;
  322.  
  323. pipes(2760,2780,5,35,i,mb1,mb2);
  324. if(overflag)return;
  325.  
  326. pipes(2850,2870,50,6,i,mb1,mb2);
  327. if(overflag)return;
  328.  
  329.  
  330.  
  331. pipes(2940,2960,50,-6,i,mb1,mb2);
  332. if(overflag)return;
  333.  
  334.  
  335.  
  336.  
  337. pipes(3030,3050,30,6,i,mb1,mb2);
  338. if(overflag)return;
  339.  
  340. pipes(3120,3140,30,0,i,mb1,mb2);
  341. if(overflag)return;
  342.  
  343. pipes(3210,3230,50,-6,i,mb1,mb2);
  344. if(overflag)return;
  345.  
  346. pipes(3300,3320,40,-12,i,mb1,mb2);
  347. if(overflag)return;
  348.  
  349.  
  350. pipes(3390,3410,10,30,i,mb1,mb2);
  351. if(overflag)return;
  352.  
  353. pipes(3480,3500,40,9,i,mb1,mb2);
  354. if(overflag)return;
  355.  
  356. pipes(3570,3590,8,5,i,mb1,mb2);
  357. if(overflag)return;
  358.  
  359. pipes(3660,3680,90,35,i,mb1,mb2);
  360. if(overflag)return;
  361.  
  362. pipes(3750,3770,80,10,i,mb1,mb2);
  363. if(overflag)return;
  364.  
  365. pipes(3840,3860,25,35,i,mb1,mb2);
  366. if(overflag)return;
  367.  
  368. pipes(3930,3950,30,-15,i,mb1,mb2);
  369. if(overflag)return;
  370.  
  371. pipes(4020,4040,50,5,i,mb1,mb2);
  372. if(overflag)return;
  373.  
  374. pipes(4110,4130,75,15,i,mb1,mb2);
  375. if(overflag)return;
  376.  
  377. pipes(4200,4220,5,35,i,mb1,mb2);
  378. if(overflag)return;
  379.  
  380. pipes(4290,4310,50,-6,i,mb1,mb2);
  381. if(overflag)return;
  382.  
  383.  
  384. pipes(4380,4400,50,6,i,mb1,mb2);
  385. if(overflag)return;
  386.  
  387.  
  388.  
  389.  
  390. pipes(4470,4490,30,6,i,mb1,mb2);
  391. if(overflag)return;
  392.  
  393. pipes(4560,4580,30,0,i,mb1,mb2);
  394. if(overflag)return;
  395.  
  396. pipes(4650,4670,50,-6,i,mb1,mb2);
  397. if(overflag)return;
  398.  
  399. pipes(4740,4760,40,-12,i,mb1,mb2);
  400. if(overflag)return;
  401.  
  402.  
  403. pipes(4830,4850,10,30,i,mb1,mb2);
  404. if(overflag)return;
  405.  
  406. pipes(600,620,40,9,i,mb1,mb2);
  407. if(overflag)return;
  408.  
  409. pipes(4920,4940,8,5,i,mb1,mb2);
  410. if(overflag)return;
  411.  
  412. pipes(5010,5030,90,35,i,mb1,mb2);
  413. if(overflag)return;
  414.  
  415. pipes(5100,5120,80,10,i,mb1,mb2);
  416. if(overflag)return;
  417.  
  418. pipes(5190,5210,25,35,i,mb1,mb2);
  419. if(overflag)return;
  420.  
  421. pipes(5280,5300,30,-15,i,mb1,mb2);
  422. if(overflag)return;
  423.  
  424. pipes(5370,5390,50,5,i,mb1,mb2);
  425. if(overflag)return;
  426.  
  427. pipes(5460,5480,75,15,i,mb1,mb2);
  428. if(overflag)return;
  429.  
  430. pipes(5550,5570,5,35,i,mb1,mb2);
  431. if(overflag)return;
  432.  
  433. pipes(5640,5660,50,6,i,mb1,mb2);
  434. if(overflag)return;
  435.  
  436.  
  437.  
  438. pipes(5730,5750,50,-10,i,mb1,mb2);
  439. if(overflag)return;
  440.  
  441.  
  442.  
  443.  
  444. pipes(5820,5840,30,6,i,mb1,mb2);
  445. if(overflag)return;
  446.  
  447. pipes(5910,5930,30,0,i,mb1,mb2);
  448. if(overflag)return;
  449.  
  450. pipes(6000,6020,50,-6,i,mb1,mb2);
  451. if(overflag)return;
  452.  
  453. pipes(6090,6110,40,-12,i,mb1,mb2);
  454. if(overflag)return;
  455.  
  456.  
  457. pipes(6180,6200,10,30,i,mb1,mb2);
  458. if(overflag)return;
  459.  
  460. pipes(6270,6290,40,9,i,mb1,mb2);
  461. if(overflag)return;
  462.  
  463. pipes(6360,6380,8,5,i,mb1,mb2);
  464. if(overflag)return;
  465.  
  466. pipes(6450,6470,90,35,i,mb1,mb2);
  467. if(overflag)return;
  468.  
  469. pipes(6540,6560,80,10,i,mb1,mb2);
  470. if(overflag)return;
  471.  
  472. pipes(6630,6650,25,35,i,mb1,mb2);
  473. if(overflag)return;
  474.  
  475. pipes(6720,6740,30,-15,i,mb1,mb2);
  476. if(overflag)return;
  477.  
  478. pipes(6810,6830,50,5,i,mb1,mb2);
  479. if(overflag)return;
  480.  
  481. pipes(6900,6920,75,15,i,mb1,mb2);
  482. if(overflag)return;
  483.  
  484. pipes(6990,7010,5,35,i,mb1,mb2);
  485. if(overflag)return;
  486.  
  487. pipes(7080,7100,50,-6,i,mb1,mb2);
  488. if(overflag)return;
  489.  
  490. pipes(7170,7190,50,0,i,mb1,mb2);
  491. if(overflag)return;
  492.  
  493.  
  494.  
  495.  
  496. pipes(7260,7280,30,6,i,mb1,mb2);
  497. if(overflag)return;
  498.  
  499. pipes(7350,7370,30,0,i,mb1,mb2);
  500. if(overflag)return;
  501.  
  502. pipes(7440,7460,50,-6,i,mb1,mb2);
  503. if(overflag)return;
  504.  
  505. pipes(7530,7550,40,-12,i,mb1,mb2);
  506. if(overflag)return;
  507.  
  508.  
  509. pipes(7620,7640,10,30,i,mb1,mb2);
  510. if(overflag)return;
  511.  
  512. pipes(7710,7730,40,9,i,mb1,mb2);
  513. if(overflag)return;
  514.  
  515. pipes(7800,7820,8,5,i,mb1,mb2);
  516. if(overflag)return;
  517.  
  518. pipes(7890,7910,90,35,i,mb1,mb2);
  519. if(overflag)return;
  520.  
  521. pipes(7980,8000,80,10,i,mb1,mb2);
  522. if(overflag)return;
  523.  
  524. pipes(8070,8090,25,35,i,mb1,mb2);
  525. if(overflag)return;
  526.  
  527. pipes(8160,8180,30,-15,i,mb1,mb2);
  528. if(overflag)return;
  529.  
  530. pipes(8250,8270,50,5,i,mb1,mb2);
  531. if(overflag)return;
  532.  
  533. pipes(8340,8360,75,15,i,mb1,mb2);
  534. if(overflag)return;
  535.  
  536. pipes(8430,8450,5,35,i,mb1,mb2);
  537. if(overflag)return;
  538.  
  539. pipes(8520,8540,50,6,i,mb1,mb2);
  540. if(overflag)return;
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549. }
  550. setvisualpage(pq);
  551. //delay(100);//check this carfully
  552. cleardevice();
  553. if(pq==1)pq=0;
  554. else pq =0;
  555. }
  556. }
  557.  
  558.  
  559.  
  560. int main()
  561. {
  562.  
  563.  
  564.  
  565. while(1){
  566.  
  567. play();
  568. if(overflag)
  569. {
  570. if(gameover())
  571. {
  572. continue;
  573. }
  574. else{
  575. break;
  576. }
  577. }
  578.  
  579. }
  580.  
  581.  
  582. }
  583.  
  584. /* if(gameover())
  585. {
  586. continue;
  587. }
  588. else{
  589. break;
  590. }
  591. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement