Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <windows.h>
  4. #include <fstream>
  5. #include <string>
  6. #include "conio.h"
  7. #include <stdio.h>
  8. #include <sstream>
  9. using namespace std;
  10.  
  11. string x[12];
  12. int pieniadze;
  13.  
  14. class Panel
  15. {
  16. string opcje[11];
  17. private:
  18. char w;
  19. void ustawOpcje()
  20. {
  21. opcje[0] = " PIENIADZE : ";
  22. opcje[1] = " ----------------- ";
  23. opcje[2] = " [AUKCJA] ";
  24. opcje[3] = " [GIELDA] ";
  25. opcje[4] = " [OLX] ";
  26. opcje[5] = " [SZYBKIE LOMPY] ";
  27. opcje[6] = " [SZYBKIE CZESCI] ";
  28. opcje[7] = " [LAKIERNIK] ";
  29. opcje[8] = " [POSTAC] ";
  30. opcje[9] = " [GARAZ] ";
  31. opcje[10] = " [KASYNO] ";
  32. }
  33.  
  34. void wypiszOpcje()
  35. {
  36. {
  37. for(int i=0; i<11; i++)
  38. {
  39. string nic=" |";
  40. if(i==0)
  41. {
  42. x[i]=opcje[i];
  43. cout << x[i] << pieniadze << endl;
  44. }
  45. else
  46. {
  47. if(i==5)
  48. cout << nic << endl;
  49. else if(i==8)
  50. cout << nic << endl;
  51. int ile=opcje[i].size();
  52. nic.erase(0,ile);
  53. x[i]=opcje[i] + nic;
  54. cout << x[i] << endl;
  55. }
  56. }
  57. }
  58. }
  59.  
  60. int poruszaniePanel(int & p)
  61. {
  62. system("cls");
  63. wypiszOpcje();
  64. w=getch();
  65. string poczatek=">";
  66. string koniec="<";
  67.  
  68. switch(w)
  69. {
  70. case 'w':
  71. if(p==2)
  72. {
  73. break;
  74. }
  75. else
  76. {
  77. opcje[p-1].insert(0, poczatek);
  78. opcje[p].erase(0, 1);
  79. p-=1;
  80. }
  81. break;
  82. case 's':
  83. if(p==10)
  84. {
  85. break;
  86. }
  87. else
  88. {
  89. opcje[p+1].insert(0, poczatek);
  90. opcje[p].erase(0, 1);
  91. p+=1;
  92. }
  93. break;
  94. case 'c':
  95. return p;
  96. break;
  97. }
  98. }
  99. public:
  100. int glownaPanel(int poz)
  101. {
  102. ustawOpcje();
  103. opcje[poz].insert(0, ">");
  104. while(w!='c')
  105. {
  106. poruszaniePanel(poz);
  107. if(w=='c') {return poz; break;}
  108. }
  109. }
  110. };
  111.  
  112. void wypiszX()
  113. {
  114. system("cls");
  115. cout << x[0] << pieniadze << endl;
  116. for(int i=1; i<12; i++)
  117. {
  118. if(i==5 || i==8) cout << " |" << endl;
  119. cout << x[i] << endl;
  120. }
  121.  
  122. }
  123.  
  124. string wysrodkuj(string tekst)
  125. {
  126. string nic = " ";
  127. int litery = tekst.length();
  128. nic.erase(0, litery);
  129. int ile=nic.length();
  130. nic.erase(0, ile/2);
  131. tekst.insert(0, nic);
  132. tekst.append(nic);
  133. return tekst;
  134. }
  135.  
  136. void resetujX(int since, int to)
  137. {
  138. for(int i=since; i<to; i++)
  139. x[i].erase(24, 74);
  140. system("cls");
  141. wypiszX();
  142. }
  143.  
  144. class Lomp
  145. {
  146. public:
  147. string marka;
  148. string model;
  149. string nazwa;
  150. string kolor;
  151. string paliwo;
  152.  
  153. int cena;
  154. int rokprodukcji;
  155. int przebieg;
  156.  
  157. int KM;
  158. float pojemnosc;
  159.  
  160. string generujLompa()
  161. {
  162. int r=12;
  163. string mrk[r] = { "Audi ", "BMW ", "Fiat ", "Ford ", "Honda ", "Hyundai ", "Mazda ", "Nissan ", "Opel ", "Renault ", "Skoda ", "Volkswagen "};
  164. string mdl[r*3]= { "A6", "Q5", "S5",
  165. "M3", "X5", "Z4",
  166. "Grande Punto", "Seicento", "Panda",
  167. "Fiesta", "Focus", "Mustang",
  168. "Civic", "CRV", "Accord",
  169. "Tuscon", "ix35", "i30",
  170. "CX-5", "5", "MX-5",
  171. "Pulsar", "Qashqai", "X-Trail",
  172. "Astra", "Corsa", "Vectra",
  173. "Megane", "Clio", "Scenic",
  174. "Octavia", "Fabia", "Yeti",
  175. "Golf IV", "Passat B5", "Polo"
  176. };
  177. int los=rand()%r+0;
  178. int dodaj=rand()%3+0;
  179. marka = mrk[los];
  180. model = mdl[los*3+dodaj];
  181. return nazwa = marka+model;
  182. }
  183.  
  184. void generujSpecs()
  185. {
  186. int r=12;
  187. int a=rand()%17+1;
  188. int b=rand()%50000+10000;
  189. string k[r] = { " bialy ", " brazowy ", " bezowy ", " czarny ", " czerwony ", " grafitowy ", " niebieski ", " srebrny ", " szary ", " zielony ", " zolty ", " zloty "};
  190. string p[r/3] = { " benzyna ", " diesel ", " hybryda ", " lpg " };
  191. int c=rand()%80000+13210;
  192. int rp=rand()%18+2000;
  193. int prz=a*b;
  194. int km=rand()%220+80;
  195. float poj=rand()%21/10.f+0.9;
  196.  
  197. int los=rand()%r+0;
  198. kolor=k[los];
  199. paliwo=p[los/3];
  200. cena=c;
  201. rokprodukcji=rp;
  202. przebieg=prz;
  203. KM=km;
  204. pojemnosc=poj;
  205. }
  206.  
  207. string konwertujCena()
  208. {
  209. stringstream ss;
  210. ss << cena;
  211. string c= ss.str();
  212. return c;
  213. }
  214.  
  215. string konwertujRP()
  216. {
  217. stringstream ss;
  218. ss << rokprodukcji;
  219. string rp = ss.str();
  220. return rp;
  221. }
  222.  
  223. string konwertujPrzebieg()
  224. {
  225. stringstream ss;
  226. ss << przebieg;
  227. string pg = ss.str();
  228. return pg;
  229. }
  230.  
  231. string konwertujKM()
  232. {
  233. stringstream ss;
  234. ss << KM;
  235. string km = ss.str();
  236. return km;
  237. }
  238.  
  239. string konwertujPojemnosc()
  240. {
  241. string po;
  242. stringstream ss;
  243. ss << pojemnosc;
  244. if(pojemnosc == 1 || pojemnosc == 2 || pojemnosc == 3) po = ss.str() + ".0";
  245. else po = ss.str();
  246. return po;
  247. }
  248. };
  249.  
  250. class Aukcja
  251. {
  252. Lomp l[3];
  253. int cena;
  254.  
  255. void generacjaLompa(int ile)
  256. {
  257. for(int i=0; i<ile; i++)
  258. {
  259. l[i].generujLompa();
  260. l[i].generujSpecs();
  261. }
  262. }
  263.  
  264. void tworzLompy(int ktory)
  265. {
  266. x[1]+= wysrodkuj("Auto numer 1 : " + l[ktory].nazwa );
  267. x[2]+= wysrodkuj("Kolor : " + l[ktory].kolor);
  268. x[3]+= wysrodkuj("Rok produkcji : " + l[ktory].konwertujRP());
  269. x[4]+= wysrodkuj("Przebieg : " + l[ktory].konwertujPrzebieg() + "km");
  270. x[5]+= wysrodkuj("Silnik : " + l[ktory].konwertujPojemnosc() + " " + l[0].paliwo + " " + l[0].konwertujKM() + "KM");
  271. wypiszX();
  272. }
  273.  
  274. string konwersjaCena(int jaka)
  275. {
  276. stringstream ss;
  277. cena=jaka;
  278. ss << cena;
  279. string c = ss.str();
  280. return c;
  281. }
  282.  
  283. void graj()
  284. {
  285. pieniadze-=1000;
  286. resetujX(1, 4);
  287. Sleep(1000);
  288. Lomp l[3];
  289. generacjaLompa(3);
  290. tworzLompy(0);
  291. }
  292. public:
  293. char w;
  294. int glownaAukcja()
  295. {
  296. x[1]+= wysrodkuj("Na aukcji zobaczysz 3 auta, z ktorych tylko 1 mozesz kupic.");
  297. x[2]+= wysrodkuj("Cena poczatkowa to 500zl. Kazde kolejne podbicie to tez 500zl.");
  298. x[3]+= wysrodkuj("[1] Graj (wpisowe 1000zl)");
  299. wypiszX();
  300.  
  301. w=getch();
  302. switch(w)
  303. {
  304. case '1':
  305. graj();
  306. break;
  307. case 'm':
  308. Panel pa;
  309. if(pa.glownaPanel(2)==2) glownaAukcja();
  310. break;
  311. }
  312. }
  313. };
  314.  
  315. /*
  316. class Gielda
  317. {
  318. };
  319.  
  320. class Olx
  321. {
  322. };
  323.  
  324. class SzybkieLompy
  325. {
  326. };
  327.  
  328. class SzybkieCzesci
  329. {
  330. };
  331.  
  332. class Kasyno
  333. {
  334. };
  335.  
  336. class Lakiernik
  337. {
  338. };
  339. */
  340.  
  341. class Postac
  342. {
  343. public:
  344. int mech;
  345. int neg;
  346. int szcz;
  347. };
  348.  
  349. class Garaz
  350. {
  351. public:
  352. int sloty;
  353. int ilosc_aut;
  354. string auta[];
  355. };
  356.  
  357. void wczytajDane(Garaz & g, Postac & p, Panel & pa)
  358. {
  359. pieniadze=15000;
  360. p.mech=0;
  361. p.neg=0;
  362. p.szcz=0;
  363. g.ilosc_aut=0;
  364. g.sloty=1;
  365. }
  366.  
  367. int main()
  368. {
  369. srand(time(NULL));
  370. Garaz gar;
  371. Postac pos;
  372. Panel pan;
  373. Aukcja auk;
  374.  
  375. wczytajDane(gar, pos, pan);
  376.  
  377. if(pan.glownaPanel(2)==2) auk.glownaAukcja();
  378.  
  379. return 0;
  380. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement