sakkat

Untitled

May 4th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.70 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8. Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, Dialogs,
  9. StdCtrls, Buttons, ExtCtrls;
  10.  
  11. type
  12.  
  13. { TForm1 }
  14.  
  15. TForm1 = class(TForm)
  16. Button1: TButton;
  17. Button2: TButton;
  18. Button3: TButton;
  19. Button4: TButton;
  20. Button5: TButton;
  21. CheckBox1: TCheckBox;
  22. CheckBox10: TCheckBox;
  23. CheckBox11: TCheckBox;
  24. CheckBox12: TCheckBox;
  25. CheckBox13: TCheckBox;
  26. CheckBox14: TCheckBox;
  27. CheckBox15: TCheckBox;
  28. CheckBox16: TCheckBox;
  29. CheckBox17: TCheckBox;
  30. CheckBox18: TCheckBox;
  31. CheckBox19: TCheckBox;
  32. CheckBox2: TCheckBox;
  33. CheckBox20: TCheckBox;
  34. CheckBox21: TCheckBox;
  35. CheckBox22: TCheckBox;
  36. CheckBox23: TCheckBox;
  37. CheckBox24: TCheckBox;
  38. CheckBox25: TCheckBox;
  39. CheckBox26: TCheckBox;
  40. CheckBox27: TCheckBox;
  41. CheckBox3: TCheckBox;
  42. CheckBox4: TCheckBox;
  43. CheckBox5: TCheckBox;
  44. CheckBox6: TCheckBox;
  45. CheckBox7: TCheckBox;
  46. CheckBox8: TCheckBox;
  47. CheckBox9: TCheckBox;
  48. GroupBox1: TGroupBox;
  49. GroupBox2: TGroupBox;
  50. GroupBox3: TGroupBox;
  51. procedure Button1Click(Sender: TObject);
  52. procedure Button2Click(Sender: TObject);
  53. procedure Button3Click(Sender: TObject);
  54. procedure Edit1Change(Sender: TObject);
  55. procedure FormCreate(Sender: TObject);
  56. procedure lFuncionariosClick(Sender: TObject);
  57. procedure SpeedButton1Click(Sender: TObject);
  58. procedure AtualizaTodos(Sender: TObject);
  59. procedure BotaoEsquerda(Sender: TObject);
  60. procedure BotaoDireita(Sender: TObject);
  61. private
  62. { private declarations }
  63.  
  64. public
  65. { public declarations }
  66. //Dinheiro
  67. capital:Double;
  68. custoFuncionario:double;
  69. custoProduto:double;
  70. preco:array[0..14] of double; //Preço 100% do produto a venda
  71. Ratual:double;
  72. //Operarios
  73. QuantosF:longint; //Quantos funcionarios
  74. FuncionarioF:longint; //Funcionario feliz,30% chance de produzir 10% a mais
  75. FuncionarioN:longint; //Funcionario normal
  76. FuncionarioT:longint; //Funcionario triste, 10% de chance de sair da empresa
  77. FuncionarioC:longint; //Funcionario cansado, 30% de chance de produzir 10% a menos
  78. //Ambiente fabrica
  79. Cafe:double; //Multiplicador de café
  80. Ambiente:double; //Multiplicador de ambiente
  81. treinados:boolean;
  82. //Produtos
  83. QuantosP:longint; //Quantos funcionarios
  84. qProdutos:array[0..14] of longint; //Quantidade produzida humanos
  85. pMaquinas:array[0..14] of longint; //Quantas maquinas em cada produto
  86. mProdutos:array[0..14] of longint; //Quantidade produzida maquinas
  87. eProdutos:array[0..14] of longint; //Quantidade em estoque
  88. MesZero: array[0..14] of boolean;
  89. PrimeiroMes: array[0..14] of boolean;
  90. //Aceitacao
  91. Publico:array[0..2] of longint; //Quantas pessoas em cada classe
  92. aAProdutos:array[0..14] of longint; //Porcentagem de aceitacao do produto pela classe alta
  93. aMProdutos:array[0..14] of longint; //Porcentagem de aceitacao do produto pela classe media
  94. aBProdutos:array[0..14] of longint; //Porcentagem de aceitacao do produto pela classe baixa
  95. //Vendas em loja
  96. VendasExportacao:double; //Valor ganho na exportacao
  97. VendasRevenda:double; //Valor ganho na revenda
  98. VendasQueimaDeEstoque:double; //Valor ganho na queima de estoque
  99. QuantidadeVendida:array[0..6] of longint; //Vendas normais por loja
  100. QuantasLojas:longint; //E repassa o custo
  101. vTreinados:array[0..6] of longint; //Lojas treinadas
  102. //Vendas para revendedores
  103. QuantiaComprada:longint;
  104. QuantiaPaga:double;
  105.  
  106. //Gestao
  107. novaFerramenta:double; //Multiplicador de quantas ferramentas já foram usadas
  108. novoProcessos:double; //Multiplicador de processos
  109. CapitalAReceber:double;
  110. PesquisaProd:boolean;
  111. //Cortes e Limites
  112. cRH:boolean;
  113. cProd:boolean;
  114. cMark:boolean;
  115. cVendas:boolean;
  116. limiteRenda:double; //Limite de gastos por setor
  117. noMarket:boolean;
  118. noTrain:boolean;
  119. noProd:boolean;
  120. flag:longint;
  121. atual:longint;
  122.  
  123. end;
  124.  
  125. var
  126. Form1: TForm1;
  127.  
  128. implementation
  129.  
  130. {$R *.lfm}
  131.  
  132. { TForm1 }
  133.  
  134. procedure TForm1.Button1Click(Sender: TObject);
  135. var
  136. i,k:integer;
  137. begin
  138. if(flag=0)then
  139. begin
  140. Ratual:=limiteRenda;
  141. //RH
  142. if(checkbox1.Checked=true)then
  143. begin
  144. cafe:=cafe+0.1;
  145. custoFuncionario:=custoFuncionario+20;
  146. for i:=0 to FuncionarioC do
  147. begin
  148. k:=Random(100);
  149. if(k<21) then
  150. begin
  151. FuncionarioC:=FuncionarioC-1;
  152. FuncionarioF:=FuncionarioF+1;
  153. end;
  154. end;
  155. for i:=0 to FuncionarioN do
  156. begin
  157. k:=Random(100);
  158. if(k<41) then
  159. begin
  160. FuncionarioN:=FuncionarioN-1;
  161. FuncionarioF:=FuncionarioF+1;
  162. end;
  163.  
  164. end;
  165. if(checkbox2.Checked=true)then
  166. begin
  167. if(Ratual>5000) then
  168. begin
  169. capital:=capital-5000;
  170. for i:=0 to FuncionarioC do
  171. begin
  172. k:=Random(100);
  173. if(k<31) then
  174. begin
  175. FuncionarioC:=FuncionarioC-1;
  176. FuncionarioF:=FuncionarioF+1;
  177. end;
  178. end;
  179. for i:=0 to FuncionarioN do
  180. begin
  181. k:=Random(100);
  182. if(k<31) then
  183. begin
  184. FuncionarioN:=FuncionarioN-1;
  185. FuncionarioF:=FuncionarioF+1;
  186. end;
  187.  
  188. end;
  189. end;
  190.  
  191. end;
  192. if(checkbox3.Checked=true)then
  193. begin
  194. for i:=0 to QuantosF do
  195. begin
  196. k:=Random(100);
  197. if(k<25) then
  198. FuncionarioF:=FuncionarioF+1
  199. else if(k<50) then
  200. FuncionarioN:=FuncionarioN+1
  201. else if(k<75) then
  202. FuncionarioT:=FuncionarioT+1
  203. else
  204. FuncionarioC:=FuncionarioC+1;
  205.  
  206. end;
  207. QuantosF:=QuantosF*2;
  208. end;
  209. if(checkbox4.Checked=true)then
  210. begin
  211. k:=Random(100);
  212. if(k<25) then
  213. FuncionarioF:=FuncionarioF+1
  214. else if(k<50) then
  215. FuncionarioN:=FuncionarioN+1
  216. else if(k<75) then
  217. FuncionarioT:=FuncionarioT+1
  218. else
  219. FuncionarioC:=FuncionarioC+1;
  220.  
  221. QuantosF:=QuantosF+1;
  222. end;
  223. if(checkbox5.Checked=true)then
  224. begin
  225. k:=(300*QuantosF)+35000;
  226. if((treinados=false)and (Ratual<k)) then
  227. begin
  228. capital:=capital-35000;
  229. custoFuncionario:=custoFuncionario+300;
  230. for i:=0 to 14 do
  231. begin
  232. qProdutos[i]:=Trunc(qProdutos[i]*1.4);
  233. end;
  234. end;
  235. treinados:=true;
  236. end;
  237. end;
  238. if(checkbox6.Checked=true)then
  239. begin
  240. for i:=0 to (trunc(QuantosF/2)) do
  241. begin
  242. k:=Random(100);
  243. if(k<25) then
  244. FuncionarioF:=FuncionarioF-1
  245. else if(k<50) then
  246. FuncionarioN:=FuncionarioN-1
  247. else if(k<75) then
  248. FuncionarioT:=FuncionarioT-1
  249. else
  250. FuncionarioC:=FuncionarioC-1;
  251.  
  252. end;
  253. QuantosF:=trunc(QuantosF/2);
  254. end;
  255. if(checkbox7.Checked=true)then
  256. begin
  257. k:=Random(100);
  258. if(k<25) then
  259. FuncionarioF:=FuncionarioF-1
  260. else if(k<50) then
  261. FuncionarioN:=FuncionarioN-1
  262. else if(k<75) then
  263. FuncionarioT:=FuncionarioT-1
  264. else
  265. FuncionarioC:=FuncionarioC-1;
  266. QuantosF:=QuantosF-1;
  267. end;
  268. if(checkbox8.Checked=true)then
  269. begin
  270. if(cafe>1) then
  271. begin
  272. custoFuncionario:=custoFuncionario-20;
  273. cafe:=cafe-0.1;
  274. for i:=0 to FuncionarioF do
  275. begin
  276. k:=Random(100);
  277. if(k<20) then
  278. begin
  279. FuncionarioF:=FuncionarioF-1;
  280. FuncionarioN:=FuncionarioN+1;
  281. end;
  282. end;
  283. for i:=0 to FuncionarioN do
  284. begin
  285. k:=Random(100);
  286. if(k<10) then
  287. begin
  288. FuncionarioN:=FuncionarioN-1;
  289. FuncionarioT:=FuncionarioT+1;
  290. end;
  291. end;
  292. end;
  293. end;
  294.  
  295. if(checkbox9.Checked=true)then
  296. begin
  297. capital:=capital+5000;
  298. for i:=0 to FuncionarioF do
  299. begin
  300. k:=Random(100);
  301. if(k<21) then
  302. begin
  303. FuncionarioF:=FuncionarioF-1;
  304. FuncionarioN:=FuncionarioN+1;
  305. end;
  306. end;
  307.  
  308. end;
  309.  
  310. atual:=4;
  311. button1.Enabled:=false;
  312. button2.Enabled:=true;
  313. end;
  314. if(flag=1)then
  315. begin
  316. //Vendas
  317. if(checkbox1.Checked=true)then
  318. begin
  319.  
  320. end;
  321. if(checkbox2.Checked=true)then
  322. begin
  323.  
  324. end;
  325. if(checkbox3.Checked=true)then
  326. begin
  327.  
  328. end;
  329. if(checkbox4.Checked=true)then
  330. begin
  331.  
  332. end;
  333. if(checkbox5.Checked=true)then
  334. begin
  335.  
  336. end;
  337. if(checkbox6.Checked=true)then
  338. begin
  339.  
  340. end;
  341. if(checkbox7.Checked=true)then
  342. begin
  343.  
  344. end;
  345. if(checkbox8.Checked=true)then
  346. begin
  347.  
  348. end;
  349. if(checkbox9.Checked=true)then
  350. begin
  351.  
  352. end;
  353. atual:=1;
  354. button1.Enabled:=false;
  355. button2.Enabled:=true;
  356. AtualizaTodos(Sender);
  357.  
  358. end;
  359.  
  360.  
  361. end;
  362.  
  363. procedure TForm1.Button2Click(Sender: TObject);
  364. var
  365. k,i:Integer;
  366. begin
  367. if(flag=0)then
  368. begin
  369. //Producao
  370. if(checkbox10.Checked=true)then
  371. begin
  372. custoProduto:=custoProduto+2;
  373. for i:=0 to 14 do
  374. begin
  375. aAProdutos[i]:=trunc(aAprodutos[i]*1.15);
  376. preco[i]:=preco[i]+10;
  377. end;
  378. end;
  379. if(checkbox11.Checked=true)then
  380. begin
  381. for i:=0 to 14 do
  382. begin
  383. preco[i]:=preco[i]-2;
  384. mProdutos[i]:=trunc(mProdutos[i]*1.2);
  385. end;
  386.  
  387. end;
  388. if(checkbox12.Checked=true)then
  389. begin
  390. if(noProd=false) then
  391. begin
  392. if(pMaquinas[0]>4) then
  393. begin
  394. QuantosP:=QuantosP+1;
  395. mProdutos[QuantosP-1]:=trunc(mProdutos[0]/10);
  396. aAProdutos[QuantosP-1]:=0;
  397. aMProdutos[QuantosP-1]:=0;
  398. aBProdutos[QuantosP-1]:=0;
  399. pMaquinas[QuantosP-1]:=3;
  400. pMaquinas[0]:=pMaquinas[0]-3;
  401. MesZero[QuantosP-1]:=true;
  402. mProdutos[0]:=mprodutos[0]-9000;
  403. end;
  404. end;
  405.  
  406. end;
  407. if(checkbox13.Checked=true)then
  408. begin
  409. if(Capital>4000) then
  410. begin
  411. Capital:=Capital-4000;
  412. pMaquinas[0]:=pMaquinas[0]+2;
  413. mProdutos[0]:=mProdutos[0]+6000;
  414. end;
  415.  
  416. end;
  417. if(checkbox14.Checked=true)then
  418. begin
  419. if(Capital>25000) then
  420. begin
  421. capital:=capital-25000;
  422. for i:=0 to 14 do
  423. begin
  424. if(PrimeiroMes[i]=true) then
  425. begin
  426. qProdutos[i]:=qProdutos[0];
  427. mProdutos[i]:=mProdutos[0];
  428. PrimeiroMes[i]:=false;
  429. end;
  430. end;
  431. end;
  432. end;
  433. if(checkbox15.Checked=true)then
  434. begin
  435. Capital:=Capital+4000;
  436. pMaquinas[0]:=pMaquinas[0]-1;
  437. mProdutos[0]:=mProdutos[0]-3000;
  438.  
  439. end;
  440. if(checkbox16.Checked=true)then
  441. begin
  442. for i:=0 to 14 do
  443. begin
  444. if(PrimeiroMes[i]=true) then
  445. begin
  446. qProdutos[i]:=0;
  447. mProdutos[i]:=0;
  448. pMaquinas[0]:=pMaquinas[0]+3;
  449. pMaquinas[i]:=0;
  450. mProdutos[0]:=mProdutos[0]+9000;
  451. end;
  452. end;
  453. end;
  454. if(checkbox17.Checked=true)then
  455. begin
  456. begin
  457. custoProduto:=custoProduto-1;
  458. for i:=0 to 14 do
  459. begin
  460. aBProdutos[0]:=trunc(aBProdutos[0]*1.1);
  461. preco[i]:=preco[i]-3;
  462. end;
  463. end;
  464. end;
  465. if(checkbox18.Checked=true)then
  466. begin
  467. if(LimiteRenda>5000) then
  468. begin
  469. PesquisaProd:=true;
  470. capital:=capital-5000;
  471. end;
  472. end;
  473. atual:=5;
  474. button2.Enabled:=false;
  475. button3.Enabled:=true;
  476. noProd:=false;
  477. end;
  478. if(flag=1)then
  479. begin
  480. //Gestao
  481. if(checkbox10.Checked=true)then
  482. begin
  483. for i:=0 to 14 do
  484. begin
  485. if((MesZero[i]=false) and (PrimeiroMes[i]=false)) then
  486. begin
  487. qProdutos[i]:=Trunc(qProdutos[i]-(qProdutos[i]*0.2));
  488. mProdutos[i]:=trunc(mProdutos[i]-(mProdutos[i]*0.2));
  489. end;
  490. end;
  491. novoProcessos:= novoProcessos+0.1;
  492. end;
  493. if(checkbox11.Checked=true)then
  494. begin
  495. treinados:=false;
  496. novaFerramenta:=novaFerramenta+0.3;
  497. capital:=capital-1000;
  498. end;
  499. if(checkbox12.Checked=true)then
  500. begin
  501. //Aumenta produção em 15%, funcionarios tem 25% de chance de ficarem tristes.
  502. for i:=0 to 14 do
  503. begin
  504. if((MesZero[i]=false) and (PrimeiroMes[i]=false)) then
  505. begin
  506. qProdutos[i]:=Trunc(qProdutos[i]*1.15);
  507. mProdutos[i]:=trunc(mProdutos[i]*1.15);
  508. end;
  509. end;
  510. for i:=0 to FuncionarioF do
  511. begin
  512. k:=Random(100);
  513. if(k<26) then
  514. begin
  515. FuncionarioF:=FuncionarioF-1;
  516. FuncionarioT:=FuncionarioT+1;
  517. end;
  518. end;
  519. for i:=0 to FuncionarioN do
  520. begin
  521. k:=Random(100);
  522. if(k<26) then
  523. begin
  524. FuncionarioN:=FuncionarioN-1;
  525. FuncionarioT:=FuncionarioT+1;
  526. end;
  527.  
  528. end;
  529. end;
  530. if(checkbox13.Checked=true)then
  531. begin
  532. cRH:=true;
  533. end;
  534. if(checkbox14.Checked=true)then
  535. begin
  536. cProd:=true;
  537. end;
  538. if(checkbox15.Checked=true)then
  539. begin
  540. cMark:=true;
  541. end;
  542. if(checkbox16.Checked=true)then
  543. begin
  544. cVendas:=true;
  545. end;
  546. if(checkbox17.Checked=true)then
  547. begin
  548. if(capital>0) then
  549. begin
  550. k:=Random(100);
  551. if(k<50) then
  552. CapitalAReceber:=capital/4
  553. else
  554. CapitalAReceber:=capital*3;
  555. capital:=capital/2;
  556. end;
  557. end;
  558. if(checkbox18.Checked=true)then
  559. begin
  560. if(capital>25000) then
  561. begin
  562. capital:=capital-25000;
  563. QuantosP:=QuantosP+1;
  564. qProdutos[QuantosP-1]:=qProdutos[0];
  565. aAProdutos[QuantosP-1]:=40;
  566. aMProdutos[QuantosP-1]:=40;
  567. aBProdutos[QuantosP-1]:=40;
  568. end;
  569.  
  570. end;
  571. atual:=2;
  572. button2.Enabled:=false;
  573. button3.Enabled:=true;
  574. end;
  575. end;
  576.  
  577. procedure TForm1.Button3Click(Sender: TObject);
  578. var
  579. k,i:Integer;
  580. begin
  581. if(flag=0)then
  582. begin
  583. //Marketing
  584. RAtual:=LimiteRenda;
  585. if(noMarket=false) then
  586. begin
  587. if(checkbox19.Checked=true)then
  588. begin
  589. if(RAtual>2000) then
  590. begin
  591. for i:=0 to 14 do
  592. begin
  593. aAProdutos[i]:= trunc(aAProdutos[i]*1.3);
  594. aMProdutos[i]:=trunc(aMProdutos[i]*1.3);
  595. aBProdutos[i]:=trunc(aBProdutos[i]*1.3);
  596. end;
  597. capital:=capital-2000;
  598. end;
  599.  
  600. end;
  601. if(checkbox20.Checked=true)then
  602. begin
  603. if(RAtual>25000) then
  604. begin
  605. for i:=0 to 14 do
  606. begin
  607. aAProdutos[i]:= trunc(aAProdutos[i]*5);
  608. end;
  609. capital:=capital-25000;
  610. end;
  611. end;
  612. if(checkbox21.Checked=true)then
  613. begin
  614. if(RAtual>10000) then
  615. begin
  616. for i:=0 to 14 do
  617. begin
  618. aAProdutos[i]:= trunc(aAProdutos[i]*1.7);
  619. aMProdutos[i]:=trunc(aMProdutos[i]*1.7);
  620. aBProdutos[i]:=trunc(aBProdutos[i]*1.7);
  621. end;
  622. capital:=capital-10000;
  623. end;
  624. end;
  625. if(checkbox22.Checked=true)then
  626. begin
  627.  
  628. end;
  629. if(checkbox23.Checked=true)then
  630. begin
  631.  
  632. end;
  633. if(checkbox24.Checked=true)then
  634. begin
  635.  
  636. end;
  637. if(checkbox25.Checked=true)then
  638. begin
  639. if(RAtual>1000) then
  640. begin
  641. for i:=0 to 14 do
  642. begin
  643. aAProdutos[i]:= trunc(aAProdutos[i]*5);
  644. end;
  645. capital:=capital-25000;
  646. end;
  647. end;
  648. if(checkbox26.Checked=true)then
  649. begin
  650.  
  651. end;
  652. if(checkbox27.Checked=true)then
  653. begin
  654.  
  655. end;
  656. end;
  657. noMarket:=false;
  658. atual:=6;
  659. button3.Enabled:=false;
  660. end;
  661. if(flag=1)then
  662. begin
  663. //Finanças
  664. if(checkbox19.Checked=true)then
  665. begin
  666. limiteRenda:=(capital/100)*25;
  667. end;
  668. if(checkbox20.Checked=true)then
  669. begin
  670. limiteRenda:=(capital/100)*10;
  671. end;
  672. if(checkbox21.Checked=true)then
  673. begin
  674. if(QuantasLojas>0) then
  675. begin
  676. QuantasLojas:=QuantasLojas-1;
  677. capital:=capital+35000;
  678. end;
  679.  
  680. end;
  681. if(checkbox22.Checked=true)then
  682. begin
  683. for i:=0 to 14 do
  684. begin
  685. if((MesZero[i]=true) or (PrimeiroMes[i]=true)) then
  686. begin
  687. qProdutos[i]:=0;
  688. mProdutos[i]:=0;
  689. pMaquinas[0]:=pMaquinas[0]+3;
  690. pMaquinas[i]:=0;
  691. mProdutos[0]:=mProdutos[0]+9000;
  692. end;
  693. noProd:=true;
  694. end;
  695. end;
  696. if(checkbox23.Checked=true)then
  697. begin
  698. if(pMaquinas[0]>0)then
  699. begin
  700. pMaquinas[0]:=pMaquinas[0]-1;
  701. mProdutos[0]:=mProdutos[0]-3000;
  702. end;
  703.  
  704. end;
  705. if(checkbox24.Checked=true)then
  706. begin
  707. NoMarket:=true;
  708. end;
  709. if(checkbox25.Checked=true)then
  710. begin
  711. for i:=0 to 14 do
  712. begin
  713. pMaquinas[i]:=trunc(pMaquinas[i]*0.9);
  714. custoProduto:=custoProduto-1;
  715. end;
  716. end;
  717. if(checkbox26.Checked=true)then
  718. begin
  719. noTrain:=true;
  720. end;
  721. if(checkbox27.Checked=true)then
  722. begin
  723. while(cafe<>1) do
  724. begin
  725. custoFuncionario:=custoFuncionario-20;
  726. cafe:=cafe-0.1;
  727. for i:=0 to FuncionarioF do
  728. begin
  729. k:=Random(100);
  730. if(k<70) then
  731. begin
  732. FuncionarioF:=FuncionarioF-1;
  733. FuncionarioN:=FuncionarioN+1;
  734. end;
  735. end;
  736. for i:=0 to FuncionarioN do
  737. begin
  738. k:=Random(100);
  739. if(k<20) then
  740. begin
  741. FuncionarioN:=FuncionarioN-1;
  742. FuncionarioT:=FuncionarioT+1;
  743. end;
  744.  
  745. end;
  746.  
  747. end;
  748. end;
  749. atual:=3;
  750. button3.Enabled:=false;
  751. end;
  752. end;
  753.  
  754. procedure TForm1.AtualizaTodos(Sender: TObject);
  755. var a:longint;
  756. begin
  757.  
  758. end;
  759.  
  760. procedure TForm1.BotaoEsquerda(Sender: TObject);
  761. begin
  762. //Grupo 1
  763. GroupBox1.Caption:='RH';
  764. checkbox1.caption:='Mais café';
  765. checkbox2.caption:='Melhorar ambiente';
  766. checkbox3.caption:='Contratar Dobro';
  767. checkbox4.caption:='Contratar Um';
  768. checkbox5.caption:='Treinar todos';
  769. checkbox6.caption:='Demitir Metade';
  770. checkbox7.caption:='Demitir Um';
  771. checkbox8.caption:='Menos café';
  772. checkbox9.caption:='Vender ambiente';
  773. //Grupo 2
  774. GroupBox2.Caption:='Produçao';
  775. checkbox10.caption:='Aumentar qualidade';
  776. checkbox11.caption:='Aumentar quantidade';
  777. checkbox12.caption:='Criar produto';
  778. checkbox13.caption:='Comprar duas maquinas';
  779. checkbox14.caption:='Alterar processo';
  780. checkbox15.caption:='Vender maquina';
  781. checkbox16.caption:='Desistir produto';
  782. checkbox17.caption:='Diminuir custo';
  783. checkbox18.caption:='Pesquisar melhoria';
  784. //Grupo 3
  785. GroupBox3.Caption:='Marketing';
  786. checkbox19.caption:='Melhorar propaganda';
  787. checkbox20.caption:='Propaganda cinema';
  788. checkbox21.caption:='Propaganda TV';
  789. checkbox22.caption:='Melhorar embalagem';
  790. checkbox23.caption:='Diminuir embalagem';
  791. checkbox24.caption:='Viral na internet';
  792. checkbox25.caption:='Panfletos na rua';
  793. checkbox26.caption:='Buscar parceria';
  794. checkbox27.caption:='Buscar nicho';
  795. end;
  796.  
  797. procedure TForm1.BotaoDireita(Sender: TObject);
  798. begin
  799. //Grupo 4
  800. GroupBox1.Caption:='Vendas';
  801. checkbox1.caption:='Criar nova loja';
  802. checkbox2.caption:='Queima de estoque';
  803. checkbox3.caption:='Exportar';
  804. checkbox4.caption:='Fechar loja';
  805. checkbox5.caption:='Demitir vendedores';
  806. checkbox6.caption:='Converter para operario';
  807. checkbox7.caption:='Treinar vendedores';
  808. checkbox8.caption:='Loja virtual';
  809. checkbox9.caption:='Revender produtos';
  810. //Grupo 5
  811. GroupBox2.Caption:='Gestão estrategica';
  812. checkbox10.caption:='Mudar processo';
  813. checkbox11.caption:='Nova ferramenta';
  814. checkbox12.caption:='Mudar politica';
  815. checkbox13.caption:='-gastos RH';
  816. checkbox14.caption:='-gastos Prod';
  817. checkbox15.caption:='-gastos marketing';
  818. checkbox16.caption:='-gastos vendas';
  819. checkbox17.caption:='Arriscar dinheiro';
  820. checkbox18.caption:='Forçar novo produto';
  821. //Grupo 6
  822. GroupBox3.Caption:='Finanças';
  823. checkbox19.caption:='Aumentar gastos';
  824. checkbox20.caption:='Diminuir gastos';
  825. checkbox21.caption:='Fechar loja';
  826. checkbox22.caption:='Desistir produto';
  827. checkbox23.caption:='Vender maquina';
  828. checkbox24.caption:='Sem propaganda';
  829. checkbox25.caption:='Troca forncedor';
  830. checkbox26.caption:='Sem treinamento';
  831. checkbox27.caption:='Sem café';
  832. end;
  833.  
  834. procedure TForm1.Edit1Change(Sender: TObject);
  835. begin
  836.  
  837. end;
  838.  
  839. procedure TForm1.FormCreate(Sender: TObject);
  840. begin
  841. novoProcessos:=1;
  842. flag:=0;
  843. atual:=1;
  844. //Dinheiro
  845. capital:=400000;
  846. custoFuncionario:=400;
  847. custoProduto:=10;
  848. //Operarios
  849. QuantosF:=5; //Quantos funcionarios
  850. FuncionarioF:=5; //Funcionario feliz,30% chance de produzir 10% a mais
  851. FuncionarioN:=0; //Funcionario normal
  852. FuncionarioT:=0; //Funcionario triste, 10% de chance de sair da empresa
  853. FuncionarioC:=0; //Funcionario cansado, 30% de chance de produzir 10% a menos
  854. //Ambiente fabrica
  855. Cafe:=1; //Multiplicador de café
  856. Ambiente:=1; //Multiplicador de ambiente
  857. treinados:=false;
  858. //Produtos
  859. QuantosP:=1; //Quantos produtos
  860. //Aceitacao
  861. Publico[0]:=600;
  862. Publico[1]:=1000;
  863. Publico[2]:=25000;
  864.  
  865. aAProdutos[0]:=50;
  866. aMProdutos[0]:=30;
  867. aBProdutos[0]:=10;
  868. preco[0]:=20;
  869. //Vendas em loja
  870. VendasExportacao:=0;
  871. VendasRevenda:=0; //Valor ganho na revenda
  872. VendasQueimaDeEstoque:=0; //Valor ganho na queima de estoque
  873. QuantasLojas:=0;
  874. //Vendas para revendedores
  875. QuantiaComprada:=0;
  876. QuantiaPaga:=0;
  877.  
  878. //Gestao
  879. novaFerramenta:=1;
  880. novoProcessos:=1;
  881. CapitalAReceber:=0;
  882. PesquisaProd:=false;
  883. //Cortes e Limites
  884. cRH:=false;
  885. cProd:=false;
  886. cMark:=false;
  887. cVendas:=false;
  888. limiteRenda:=(capital/100)*15;
  889. noMarket:=false;
  890. noTrain:=false;
  891. noProd:=false;
  892.  
  893. AtualizaTodos(Sender);
  894. BotaoEsquerda(Sender);
  895. end;
  896.  
  897. procedure TForm1.lFuncionariosClick(Sender: TObject);
  898. begin
  899.  
  900. end;
  901.  
  902. procedure TForm1.SpeedButton1Click(Sender: TObject);
  903. begin
  904. button1.Enabled:=false;
  905. button2.Enabled:=false;
  906. button3.Enabled:=false;
  907. checkbox1.checked:=false;
  908. checkbox2.checked:=false;
  909. checkbox3.checked:=false;
  910. checkbox4.checked:=false;
  911. checkbox5.checked:=false;
  912. checkbox6.checked:=false;
  913. checkbox7.checked:=false;
  914. checkbox8.checked:=false;
  915. checkbox9.checked:=false;
  916. checkbox10.checked:=false;
  917. checkbox11.checked:=false;
  918. checkbox12.checked:=false;
  919. checkbox13.checked:=false;
  920. checkbox14.checked:=false;
  921. checkbox15.checked:=false;
  922. checkbox16.checked:=false;
  923. checkbox17.checked:=false;
  924. checkbox18.checked:=false;
  925. checkbox19.checked:=false;
  926. checkbox20.checked:=false;
  927. checkbox21.checked:=false;
  928. checkbox22.checked:=false;
  929. checkbox23.checked:=false;
  930. checkbox24.checked:=false;
  931. checkbox25.checked:=false;
  932. checkbox26.checked:=false;
  933. checkbox27.checked:=false;
  934. if(flag=0)then
  935. begin
  936. botaoDireita(sender);
  937. flag:=1;
  938. if(atual=1) then
  939. begin
  940. button2.Enabled:=true;
  941. end;
  942. if(atual=2) then
  943. begin
  944. button3.Enabled:=true;
  945. end;
  946. if(atual=6) then
  947. begin
  948. button1.Enabled:=true;
  949. end;
  950. end
  951. else if(flag=1)then
  952. begin
  953. botaoEsquerda(sender);
  954. flag:=0;
  955. if(atual=3) then
  956. begin
  957. button1.Enabled:=true;
  958. end;
  959. if(atual=4) then
  960. begin
  961. button2.Enabled:=true;
  962. end;
  963. if(atual=5) then
  964. begin
  965. button3.Enabled:=true;
  966. end;
  967. end;
  968.  
  969. end;
  970.  
  971.  
  972.  
  973. end.
Advertisement
Add Comment
Please, Sign In to add comment