Advertisement
Erfan7135

Untitled

Aug 22nd, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.42 KB | None | 0 0
  1.  
  2. #include "iGraphics.h"
  3. #include "gl.h"
  4. #include<windows.h>
  5. #include<iostream>
  6. #include<commdlg.h>
  7.  
  8. using namespace std;
  9. int singleplayer=0;
  10. double pi=acos(-1)/180;
  11. double angle=90;//Car
  12. double v,acc=0,iv;
  13. double rx,ry;//Road
  14. double carx[5]={650,700,750,0,0},cary[5]={400,400,400,0,0};
  15. double indx[3],indy[3];
  16. double smangle=180;//speedometer
  17. int mycarloop=0;//for tracking
  18. double vx,vy;//system velocity==car velocity
  19. bool play1=false,play2=false;//car start & speed sound
  20. //first Car
  21. double op1x[5]={rx+450,rx+500,rx+550,0,0},op1y[5]={ry+400,ry+400,ry+400,0,0};
  22. double op1v,angleop1=90,l=0;
  23. double op1vx,op1vy,t=0;
  24.  
  25. int newmatch=0,menu=1,carselect=0;
  26. int menukey[5]={1,0,0,0,0};
  27.  
  28. int yellow=1,red=0,black=0;//Car
  29. int summer=1,rain=1,snow=0;
  30.  
  31. char name[100];
  32. char speed[10]="0.00 KMH";
  33.  
  34. int win=0,lose=0,enter=0,pause=0,setting=0;//enter actually denote space :( :(
  35.  
  36. int mouse=0;
  37. char mo[100];
  38. #include"mainmenu.h"
  39. #include"sound.h"
  40. #include"opp1car.h"
  41. #include"mycar.h"
  42. #include"firsttrack.h"
  43. #include"theme.h"
  44.  
  45. void iDraw(){
  46. iClear();
  47. if(menu)
  48. iDrawMain();
  49. if(pause)
  50. iDrawPause();
  51. if(singleplayer){
  52. iRotate(carx[1],cary[1],90-angle);
  53. iDrawRoad();
  54. iDrawEndLine();
  55. iDrawGallery();
  56. iDrawCar();
  57. iDrawOpponent1();
  58. iUnRotate();
  59. iDrawSpedometer();
  60. if(rain)iDrawRain();
  61. if(snow)iDrawSnow();
  62. // AUX_RGBImageRec *TextureImage;
  63. // TextureImage = auxDIBImageLoad("BMP//mycar//car1_90.bmp");
  64. // int i,j,k;
  65. // int realwidth = TextureImage->sizeX;
  66. // int realheight = TextureImage->sizeY;
  67. // int width,height;
  68. // int imgOriginal[600][600][3];
  69. // realwidth>600?width=600:width=realwidth;
  70. // realheight>600?height=600:height=realheight;
  71. // int oriX=410-width/2;
  72. // int oriY=310-height/2;
  73. // for(i=0;i<height;i++){
  74. // for(j=0;j<width;j++){
  75. // for(k=2;k>=0;k--){
  76. // imgOriginal[i][j][k]=TextureImage->data[3*i*realwidth+3*j+k];
  77. // }
  78. // }
  79. // }
  80. // for(int i=0;i<width;i++){
  81. // for(int j=0;j<height;j++){
  82. // iSetColor(imgOriginal[j][i][0],imgOriginal[j][i][1],imgOriginal[j][i][2]);
  83. // iPoint(oriX+i,oriY+j,1);
  84. // }
  85. // }
  86. // free(TextureImage->data);
  87. // free(TextureImage);
  88. }
  89. if(carselect)iCarSelect();
  90. if(setting)iDrawSetting();
  91. if(win==1)iWin();
  92. if(lose==1)iLose();
  93. iText(100,100,name);
  94. iText(100,200,mo);
  95. }
  96.  
  97. void newmatchfunc(){
  98. win=0;
  99. lose=0;
  100. rx=0;
  101. ry=0;
  102. op1x[0]=rx+450;
  103. op1x[1]=rx+500;
  104. op1x[2]=rx+550;
  105. op1y[0]=ry+400;
  106. op1y[1]=ry+400;
  107. op1y[2]=ry+400;
  108. v=0;
  109. smangle=180;
  110. angle=90;
  111. carx[0]=650;
  112. carx[1]=700;
  113. carx[2]=750;
  114. cary[0]=400;
  115. cary[1]=400;
  116. cary[2]=400;
  117. angleop1=90;
  118. op1v=0;
  119. enter=1;
  120. l=0;
  121. mycarloop=0;
  122. }
  123.  
  124. void normalrace(){
  125. mouse=1;
  126. carselect=1;
  127. menu=0;
  128. menumusic();
  129. v=0;
  130. op1v=0;
  131. rx=0;
  132. ry=0;
  133. }
  134.  
  135. void iKeyboard(unsigned char key){
  136. if(key=='w')
  137. {
  138.  
  139. }
  140. if(key==' '){
  141. if(win || lose){
  142. menu=1;
  143. menumusic();
  144. newmatch=0;
  145. singleplayer=0;
  146. win=0;
  147. lose=0;
  148. enter=0;
  149. iPauseTimer(0);
  150. iPauseTimer(1);
  151. iPauseTimer(2);
  152. }
  153. else
  154. enter++;
  155. }
  156. if(key==13){
  157. if(win || lose){
  158. menu=1;
  159. newmatch=0;
  160. menumusic();
  161. singleplayer=0;
  162. win=0;
  163. lose=0;
  164. enter=0;
  165. iPauseTimer(0);
  166. iPauseTimer(1);
  167. iPauseTimer(2);
  168. }
  169. if(carselect){
  170. carselect=0;
  171. newmatchfunc();
  172. singleplayer=1;
  173. }
  174. if(menu){
  175. if(menukey[0])normalrace();
  176. else if(menukey[2]){setting=1;menu=0;mouse=1;}
  177. }
  178. }
  179.  
  180. if(newmatch==1){
  181. newmatchfunc();
  182. newmatch=0;
  183. win=0;
  184. lose=0;
  185. }
  186.  
  187. if(enter==1 && singleplayer==1){
  188. iResumeTimer(0);
  189. iResumeTimer(1);
  190. iResumeTimer(2);
  191. enter++;
  192. }
  193. if(key == 27){
  194. if(singleplayer || pause){
  195. pause=!pause;
  196. pausemusic();
  197. singleplayer=!singleplayer;
  198. if(pause==1){
  199. iPauseTimer(0);
  200. iPauseTimer(1);
  201. iResumeTimer(2);
  202. }
  203. else{
  204. iResumeTimer(0);
  205. iResumeTimer(1);
  206. iResumeTimer(2);
  207. }
  208. }
  209. if(setting){
  210. setting=0;
  211. menu=1;
  212. }
  213. if(carselect){
  214. carselect=0;
  215. yellow=1;
  216. red=0;
  217. black=0;
  218. menu=1;
  219. menumusic();
  220. }
  221. }
  222. }
  223.  
  224. void upkey(){
  225. if(singleplayer){
  226. if(v<25){
  227. if(v<5)v+=.25;
  228. else if(v>20)v+=0.0015;
  229. else v+=0.8;
  230. }
  231. }
  232. if(menu){
  233. int i;
  234. for(i=0;i<5;i++){
  235. if(menukey[i]==1){
  236. menukey[(i+4)%5]=1;
  237. menukey[i]=0;
  238. break;
  239. }
  240. }
  241. }
  242. }
  243.  
  244. void downkey(){
  245. if(menu){
  246. int j;
  247. for(j=0;j<5;j++){
  248. if(menukey[j]==1){
  249. menukey[(j+1)%5]=1;
  250. menukey[j]=0;
  251. break;
  252. }
  253. }
  254. }
  255. if(singleplayer){
  256. if(v>0){
  257. v--;
  258. }
  259. }
  260. }
  261.  
  262. void rightkey(){
  263. if(singleplayer){
  264. angle-=5;
  265. if(angle<-180)angle+=360;
  266. carx[0]=carx[1]-50*cos(pi*(90-angle));
  267. cary[0]=cary[1]+50*sin(pi*(90-angle));
  268. carx[2]=carx[1]+50*cos(pi*(90-angle));
  269. cary[2]=cary[1]-50*sin(pi*(90-angle));
  270. if(v>=15)v-=.7;
  271. }
  272. if(carselect){
  273. if(yellow){
  274. yellow=0;
  275. red=1;
  276. }
  277. else if(red){
  278. black=1;
  279. red=0;
  280. }
  281. else if(black){
  282. black=0;
  283. yellow=1;
  284. }
  285. }
  286. }
  287.  
  288. void leftkey(){
  289. if(singleplayer){
  290. angle+=5;
  291. if(angle>=180)angle-=360;
  292. carx[0]=carx[1]-50*cos(pi*(90-angle));
  293. cary[0]=cary[1]+50*sin(pi*(90-angle));
  294. carx[2]=carx[1]+50*cos(pi*(90-angle));
  295. cary[2]=cary[1]-50*sin(pi*(90-angle));
  296. // carx[0]=carx[1]-50*cos(pi*(90+angle));
  297. // cary[0]=cary[1]-50*sin(pi*(90+angle));
  298. // carx[2]=carx[1]+50*cos(pi*(90+angle));
  299. // cary[2]=cary[1]+50*sin(pi*(90+angle));
  300. if(v>=15)v-=.7;
  301. }
  302. if(carselect){
  303. if(yellow){
  304. yellow=0;
  305. black=1;
  306. }
  307. else if(red){
  308. yellow=1;
  309. red=0;
  310. }
  311. else if(black){
  312. black=0;
  313. red=1;
  314. }
  315. }
  316. }
  317.  
  318. void iSpecialKeyboard(unsigned char key){
  319. if(singleplayer){
  320. if(key == GLUT_KEY_UP || GLUT_UP){
  321. upkey();
  322. }
  323. }
  324. else{
  325. if(key == GLUT_KEY_UP){
  326. upkey();
  327. }
  328. }
  329. if(key == GLUT_KEY_DOWN ){
  330. downkey();
  331. }
  332. if(key == GLUT_KEY_RIGHT){
  333. rightkey();
  334. }
  335. if(key == GLUT_KEY_LEFT){
  336. leftkey();
  337. }
  338. }
  339. void iMouseMenu(double mx,double my){
  340. if(mx>520 && mx<780){
  341. if(my>685 && my<735){
  342. normalrace();
  343. }
  344. }
  345. if(mx>520 && mx<780){
  346. if(my>635 && my<685){
  347. mouse=1;
  348. }
  349. }
  350. if(mx>520 && mx<780){
  351. if(my>585 && my<635){
  352. setting=1;
  353. menu=0;
  354. mouse=1;
  355. }
  356. }
  357.  
  358. }
  359.  
  360. void iMouseSetting(double mx,double my){
  361. if(mx>520 && mx<780){
  362. if(my>535 && my<585){
  363. setting=0;
  364. menu=1;
  365. mouse=1;
  366. }
  367. }
  368. }
  369.  
  370. void iMousePause(double mx,double my){
  371. if(mx>520 && mx<780){
  372. if(my>685 && my<735){
  373. iResumeTimer(0);
  374. iResumeTimer(1);
  375. singleplayer=1;
  376. pause=0;
  377. }
  378. }
  379. if(mx>520 && mx<780){
  380. if(my>635 && my<685){
  381. newmatchfunc();
  382. newmatch=1;
  383. carselect=1;
  384. enter=1;
  385. pause=0;
  386. iPauseTimer(0);
  387. iPauseTimer(1);
  388. iPauseTimer(2);
  389. }
  390. }
  391. if(mx>520 && mx<780){
  392. if(my>585 && my<635){
  393. menu=1;
  394. menumusic();
  395. newmatchfunc();
  396. pause=0;
  397. }
  398. }
  399. }
  400.  
  401. void iMouse(int button,int state,int mx,int my){
  402.  
  403. if(button ==GLUT_LEFT_BUTTON && state==GLUT_UP){
  404. sprintf(mo,"%d %d",mx,my);
  405. if(menu)iMouseMenu(mx,my);
  406. else if(setting)iMouseSetting(mx,my);
  407. else if(pause)iMousePause(mx,my);
  408. }
  409. }
  410.  
  411. void iMouseMove(int mx,int my){
  412. }
  413.  
  414. int main(){
  415. iSetTimer(75,velocity);
  416. iSetTimer(75,opp1velocity);
  417. iSetTimer(3000,sound);
  418. iPauseTimer(1);
  419. iPauseTimer(0);
  420. iPauseTimer(2);
  421. menumusic();
  422. iInitialize(1600,900,"Need For Speed - bROKEN cAR1");
  423.  
  424. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement