Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Ship Custom - commercio.h

commercio.h

Caricato da: Dany
Scarica il programma completo

  1. /**************************************************************************************
  2.         commercia.h è responsabile della gestione della finestra di commercio.
  3. ***************************************************************************************/
  4. //Lista include                                                                         //
  5. //SDL Header//                                                                          //
  6. #include <SDL\SDL.h>                                                            //
  7. #include <SDL\SDL_mixer.h>                                                      //
  8. #include <SDL\SDL_ttf.h>                                                        //
  9. //////////////////////////////////////////////////////
  10. //CLASSI:
  11. class merce
  12. {
  13.         /*Variabili membro*/
  14. public:
  15.         //(Incremento sistema è esterna)
  16.         //Valori standard compra/vendita per un elemento
  17.         int standard_compra, standard_vendi;
  18.         //Valori effettivi compra/vendita di un elemento
  19.         int val_compra, val_vendi;
  20.         //Quantità media di un elemento
  21.         int q_m;
  22.         /*Funzioni membro*/
  23. public:
  24.         //Carica valori elemento
  25.         void Load(int sc, int sv, int quan_media)
  26.         {
  27.                 q_m=quan_media;
  28.                 standard_compra=sc;
  29.                 standard_vendi=sv;
  30.         }
  31.         //In base alla quantità, al prezzo ideale, ed alla variazione tipica del sistema, ne ricava i valori di compa/vendita.
  32.         void Assegna_val(int var_sistema, int q)
  33.         {
  34.                 val_compra=standard_compra+var_sistema+(q_m-q);
  35.                 val_vendi=standard_vendi+var_sistema+(q_m-q)/1.5;
  36.                 if (val_compra<=standard_compra/2)
  37.                 {
  38.                         val_compra=standard_compra/2;
  39.                 }
  40.                 if (val_vendi<=standard_vendi/2)
  41.                 {
  42.                         val_vendi=standard_vendi/2;
  43.                 }
  44.         }
  45. };
  46. //NAMESPACE:
  47. namespace commercio
  48. {
  49.         //Sfondo
  50.         SDL_Surface *Sfondo;
  51.         //Pulsanti
  52.         Pulsante fatto;
  53.         Pulsante compra_d, compra_hg, compra_ti, compra_po, compra_p, compra_co, compra_br, compra_pd, compra_os, compra_ar;
  54.         Pulsante vendi_d, vendi_hg, vendi_ti, vendi_po, vendi_p, vendi_co, vendi_br, vendi_pd, vendi_os, vendi_ar;
  55.         //Merce
  56.         merce d, hg, ti, po, p, co, br, pd, os, ar;
  57. }
  58. //FUNZIONI:
  59. void Load_Commercio (void)
  60. {
  61.         //Sfondo
  62.         Load_Immagine(&commercio::Sfondo, "Risorse/Commercio/Sfondo.bmp");
  63.         //Pulsante 'fatto'
  64.         commercio::fatto.Load("Risorse/Commercio/Fatto.bmp", "Risorse/Commercio/FattoON.bmp", 412, 719, "", 0);
  65.         ///////////////////////////////////Pulsanti merci
  66.         commercio::compra_d.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 100, "Compra deuterio", 2);
  67.         commercio::vendi_d.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 100, "Vendi deuterio", 2);
  68.         commercio::compra_hg.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 162, "Compra mercurio", 2);
  69.         commercio::vendi_hg.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 162, "Vendi mercurio", 2);
  70.         commercio::compra_ti.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 224, "Compra titanio", 2);
  71.         commercio::vendi_ti.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 224, "Vendi titanio", 2);
  72.         commercio::compra_po.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 285, "Compra polonio", 2);
  73.         commercio::vendi_po.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 285, "Vendi polonio", 2);
  74.         commercio::compra_p.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 346, "Compra fosforo", 2);
  75.         commercio::vendi_p.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 346, "Vendi fosforo", 2);
  76.         commercio::compra_co.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 408, "Compra cobalto", 2);
  77.         commercio::vendi_co.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 408, "Vendi cobalto", 2);
  78.         commercio::compra_br.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 470, "Compra bromo", 2);
  79.         commercio::vendi_br.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 470, "Vendi bromo", 2);
  80.         commercio::compra_pd.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 531, "Compra palladio", 2);
  81.         commercio::vendi_pd.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 531, "Vendi palladio", 2);
  82.         commercio::compra_os.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 592, "Compra osmio", 2);
  83.         commercio::vendi_os.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 592, "Vendi osmio", 2);
  84.         commercio::compra_ar.Load("Risorse/Commercio/Compra.bmp", "Risorse/Commercio/CompraON.bmp", 440, 653, "Compra argon", 2);
  85.         commercio::vendi_ar.Load("Risorse/Commercio/Vendi.bmp", "Risorse/Commercio/VendiON.bmp", 521, 653, "Vendi argon", 2);
  86.         ///////////////////////////////Elementi (valori compra/vendita e quantità ideali
  87.         commercio::d.Load(144,120,150);
  88.         commercio::hg.Load(120,100,200);
  89.         commercio::ti.Load(90,75,300);
  90.         commercio::po.Load(180,150,100);
  91.         commercio::p.Load(156,130,130);
  92.         commercio::co.Load(240,200,80);
  93.         commercio::br.Load(216,180,90);
  94.         commercio::pd.Load(300,250,40);
  95.         commercio::os.Load(168,140,125);
  96.         commercio::ar.Load(264,220,85);
  97. }
  98. void Free_Commercio (void)
  99. {
  100.         SDL_FreeSurface(commercio::Sfondo);
  101.         commercio::fatto.Free();
  102.         commercio::compra_d.Free();     commercio::compra_hg.Free();    commercio::compra_ti.Free();    commercio::compra_po.Free();    commercio::compra_p.Free();
  103.         commercio::compra_co.Free();    commercio::compra_br.Free();    commercio::compra_pd.Free();    commercio::compra_os.Free();    commercio::compra_ar.Free();
  104.         commercio::vendi_d.Free();      commercio::vendi_hg.Free();     commercio::vendi_ti.Free();     commercio::vendi_po.Free();     commercio::vendi_p.Free();
  105.         commercio::vendi_co.Free();     commercio::vendi_br.Free();     commercio::vendi_pd.Free();     commercio::vendi_os.Free();     commercio::vendi_ar.Free();
  106. }
  107. int Commercia (SDL_Surface *screen, SDL_Event evento, int sistema)
  108. {
  109.         //Valore di ritorno:
  110.         int valore_ritorno=0;
  111.         //Pos mouse
  112.         int mx=0, my=0;
  113.         //Musica di sottofondo->play_music_galassia()
  114.         stato::mus=2;
  115.         //Catturo mouse
  116.         SDL_GetMouseState(&mx,&my);
  117.         //Disegno sfondo
  118.         SDL_BlitSurface(commercio::Sfondo, NULL, screen, NULL);
  119.         //Assegno valore alle merci in base alla variazione dei costi del sistema attuale, e alla loro abbondanza:
  120.         commercio::d.Assegna_val(sis_at::variazione_sistema,sis_at::d);
  121.         commercio::hg.Assegna_val(sis_at::variazione_sistema,sis_at::hg);
  122.         commercio::ti.Assegna_val(sis_at::variazione_sistema,sis_at::ti);
  123.         commercio::po.Assegna_val(sis_at::variazione_sistema,sis_at::po);
  124.         commercio::p.Assegna_val(sis_at::variazione_sistema,sis_at::p);
  125.         commercio::co.Assegna_val(sis_at::variazione_sistema,sis_at::co);
  126.         commercio::br.Assegna_val(sis_at::variazione_sistema,sis_at::br);
  127.         commercio::pd.Assegna_val(sis_at::variazione_sistema,sis_at::pd);
  128.         commercio::os.Assegna_val(sis_at::variazione_sistema,sis_at::os);
  129.         commercio::ar.Assegna_val(sis_at::variazione_sistema,sis_at::ar);
  130.         /////Testi:
  131.         settext::dimensione=20;
  132.         Setcolor(0,132,223);
  133.         Scrivi(screen, "Inventario astronave:","Segoeui.ttf", 155,48);
  134.         Scrivi(screen, "Inventario stazione:","Segoeui.ttf", 670,48);
  135.         char soldi[8]="";
  136.         itoa(workshop::crediti, soldi, 10);
  137.         strcat(soldi, "§");
  138.         settext::dimensione=30; Setcolor(34,177,76);
  139.         Scrivi(screen, soldi, "segoeui.ttf", 630, 12);
  140.         ///////////////////////////////////VALORI Quantità NAVE:
  141.         //Scrivo la quantità che la nave possiede di ogni merce:
  142.         char num_buf[8]="";
  143.         settext::dimensione=25;
  144.         Setcolor(150,150,150);
  145.         itoa(astronave::d, num_buf, 10);
  146.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 100);
  147.         itoa(astronave::hg, num_buf, 10);
  148.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 162);
  149.         itoa(astronave::ti, num_buf, 10);
  150.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 224);
  151.         itoa(astronave::po, num_buf, 10);
  152.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 285);
  153.         itoa(astronave::p, num_buf, 10);
  154.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 346);
  155.         itoa(astronave::co, num_buf, 10);
  156.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 408);
  157.         itoa(astronave::br, num_buf, 10);
  158.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 470);
  159.         itoa(astronave::pd, num_buf, 10);
  160.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 531);
  161.         itoa(astronave::os, num_buf, 10);
  162.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 592);
  163.         itoa(astronave::ar, num_buf, 10);
  164.         Scrivi(screen, num_buf, "segoeui.ttf", 355, 653);
  165.         //////////////////////////////////VALORI quantità stazione:
  166.         //Scrivo la quantità che la stazione spaziale possiede di ogni merce
  167.         Setcolor(150, 150,150);
  168.         itoa(sis_at::d, num_buf, 10);
  169.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 100);
  170.         itoa(sis_at::hg, num_buf, 10);
  171.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 162);
  172.         itoa(sis_at::ti, num_buf, 10);
  173.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 224);
  174.         itoa(sis_at::po, num_buf, 10);
  175.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 285);
  176.         itoa(sis_at::p, num_buf, 10);
  177.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 346);
  178.         itoa(sis_at::co, num_buf, 10);
  179.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 408);
  180.         itoa(sis_at::br, num_buf, 10);
  181.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 470);
  182.         itoa(sis_at::pd, num_buf, 10);
  183.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 531);
  184.         itoa(sis_at::os, num_buf, 10);
  185.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 592);
  186.         itoa(sis_at::ar, num_buf, 10);
  187.         Scrivi(screen, num_buf, "segoeui.ttf", 640, 653);
  188.         /////////////////////////////////////VALORI prezzi compra:
  189.         //Scrivo i costi di ogni merce
  190.         settext::dimensione=25;
  191.         Setcolor(155,121,121);
  192.         itoa(commercio::d.val_compra, num_buf, 10);
  193.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 100);
  194.         itoa(commercio::hg.val_compra, num_buf, 10);
  195.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 162);
  196.         itoa(commercio::ti.val_compra, num_buf, 10);
  197.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 224);
  198.         itoa(commercio::po.val_compra, num_buf, 10);
  199.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 285);
  200.         itoa(commercio::p.val_compra, num_buf, 10);
  201.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 346);
  202.         itoa(commercio::co.val_compra, num_buf, 10);
  203.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 408);
  204.         itoa(commercio::br.val_compra, num_buf, 10);
  205.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 470);
  206.         itoa(commercio::pd.val_compra, num_buf, 10);
  207.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 531);
  208.         itoa(commercio::os.val_compra, num_buf, 10);
  209.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 592);
  210.         itoa(commercio::ar.val_compra, num_buf, 10);
  211.         Scrivi(screen, num_buf, "segoeui.ttf", 100, 653);
  212.         /////////////////////////////////////VALORI PREZZI VENDITA:
  213.         //Scrivo i valori (in vendita) di ogni merce
  214.         settext::dimensione=25;
  215.         Setcolor(125,156,126);
  216.         itoa(commercio::d.val_vendi, num_buf, 10);
  217.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 100);
  218.         itoa(commercio::hg.val_vendi, num_buf, 10);
  219.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 162);
  220.         itoa(commercio::ti.val_vendi, num_buf, 10);
  221.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 224);
  222.         itoa(commercio::po.val_vendi, num_buf, 10);
  223.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 285);
  224.         itoa(commercio::p.val_vendi, num_buf, 10);
  225.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 346);
  226.         itoa(commercio::co.val_vendi, num_buf, 10);
  227.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 408);
  228.         itoa(commercio::br.val_vendi, num_buf, 10);
  229.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 470);
  230.         itoa(commercio::pd.val_vendi, num_buf, 10);
  231.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 531);
  232.         itoa(commercio::os.val_vendi, num_buf, 10);
  233.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 592);
  234.         itoa(commercio::ar.val_vendi, num_buf, 10);
  235.         Scrivi(screen, num_buf, "segoeui.ttf", 850, 653);
  236.         //////////////////////////////////////////////////////// PULSANTI
  237.         //Fatto
  238.         commercio::fatto.Crea(screen ,&evento);
  239.         if (commercio::fatto.Get_state()==2)
  240.         {
  241.                 valore_ritorno=1;
  242.         }
  243.         //Vendi deuterio, solo se disponibile nell'inventario della nave:
  244.         commercio::vendi_d.Crea(screen ,&evento);
  245.         if (commercio::vendi_d.Get_state()==2)
  246.         {
  247.                 if (astronave::d>0)
  248.                 {
  249.                         sis_at::d++;
  250.                         astronave::d--;
  251.                         workshop::crediti+=commercio::d.val_vendi;
  252.                 }
  253.         }
  254.         //Compra deuterio, solo se disponibile nell'inventario della stazione e se si dispone di abbastanza crediti.
  255.         commercio::compra_d.Crea(screen ,&evento);
  256.         if (commercio::compra_d.Get_state()==2)
  257.         {
  258.                 if ((sis_at::d>0)&&(workshop::crediti>commercio::d.val_compra))
  259.                 {
  260.                         sis_at::d--;
  261.                         astronave::d++;
  262.                         workshop::crediti-=commercio::d.val_compra;
  263.                 }
  264.         }
  265.         ////E così via per gli altri elementi......
  266.         commercio::vendi_hg.Crea(screen ,&evento);
  267.         if (commercio::vendi_hg.Get_state()==2)
  268.         {
  269.                 if (astronave::hg>0)
  270.                 {
  271.                         sis_at::hg++;
  272.                         astronave::hg--;
  273.                         workshop::crediti+=commercio::hg.val_vendi;
  274.                 }
  275.         }
  276.         commercio::compra_hg.Crea(screen ,&evento);
  277.         if (commercio::compra_hg.Get_state()==2)
  278.         {
  279.                 if ((sis_at::hg>0)&&(workshop::crediti>commercio::hg.val_compra))
  280.                 {
  281.                         sis_at::hg--;
  282.                         astronave::hg++;
  283.                         workshop::crediti-=commercio::hg.val_compra;
  284.                 }
  285.         }
  286.         commercio::vendi_ti.Crea(screen ,&evento);
  287.         if (commercio::vendi_ti.Get_state()==2)
  288.         {
  289.                 if (astronave::ti>0)
  290.                 {
  291.                         sis_at::ti++;
  292.                         astronave::ti--;
  293.                         workshop::crediti+=commercio::ti.val_vendi;
  294.                 }
  295.         }
  296.         commercio::compra_ti.Crea(screen ,&evento);
  297.         if (commercio::compra_ti.Get_state()==2)
  298.         {
  299.                 if ((sis_at::ti>0)&&(workshop::crediti>commercio::ti.val_compra))
  300.                 {
  301.                         sis_at::ti--;
  302.                         astronave::ti++;
  303.                         workshop::crediti-=commercio::ti.val_compra;
  304.                 }
  305.         }
  306.         commercio::vendi_po.Crea(screen ,&evento);
  307.         if (commercio::vendi_po.Get_state()==2)
  308.         {
  309.                 if (astronave::po>0)
  310.                 {
  311.                         sis_at::po++;
  312.                         astronave::po--;
  313.                         workshop::crediti+=commercio::po.val_vendi;
  314.                 }
  315.         }
  316.         commercio::compra_po.Crea(screen ,&evento);
  317.         if (commercio::compra_po.Get_state()==2)
  318.         {
  319.                 if ((sis_at::po>0)&&(workshop::crediti>commercio::po.val_compra))
  320.                 {
  321.                         sis_at::po--;
  322.                         astronave::po++;
  323.                         workshop::crediti-=commercio::po.val_compra;
  324.                 }
  325.         }
  326.         commercio::vendi_p.Crea(screen ,&evento);
  327.         if (commercio::vendi_p.Get_state()==2)
  328.         {
  329.                 if (astronave::p>0)
  330.                 {
  331.                         sis_at::p++;
  332.                         astronave::p--;
  333.                         workshop::crediti+=commercio::p.val_vendi;
  334.                 }
  335.         }
  336.         commercio::compra_p.Crea(screen ,&evento);
  337.         if (commercio::compra_p.Get_state()==2)
  338.         {
  339.                 if ((sis_at::p>0)&&(workshop::crediti>commercio::p.val_compra))
  340.                 {
  341.                         sis_at::p--;
  342.                         astronave::p++;
  343.                         workshop::crediti-=commercio::p.val_compra;
  344.                 }
  345.         }
  346.         commercio::vendi_co.Crea(screen ,&evento);
  347.         if (commercio::vendi_co.Get_state()==2)
  348.         {
  349.                 if (astronave::co>0)
  350.                 {
  351.                         sis_at::co++;
  352.                         astronave::co--;
  353.                         workshop::crediti+=commercio::co.val_vendi;
  354.                 }
  355.         }
  356.         commercio::compra_co.Crea(screen ,&evento);
  357.         if (commercio::compra_co.Get_state()==2)
  358.         {
  359.                 if ((sis_at::co>0)&&(workshop::crediti>commercio::co.val_compra))
  360.                 {
  361.                         sis_at::co--;
  362.                         astronave::co++;
  363.                         workshop::crediti-=commercio::co.val_compra;
  364.                 }
  365.         }
  366.         commercio::vendi_br.Crea(screen ,&evento);
  367.         if (commercio::vendi_br.Get_state()==2)
  368.         {
  369.                 if (astronave::br>0)
  370.                 {
  371.                         sis_at::br++;
  372.                         astronave::br--;
  373.                         workshop::crediti+=commercio::br.val_vendi;
  374.                 }
  375.         }
  376.         commercio::compra_br.Crea(screen ,&evento);
  377.         if (commercio::compra_br.Get_state()==2)
  378.         {
  379.                 if ((sis_at::br>0)&&(workshop::crediti>commercio::br.val_compra))
  380.                 {
  381.                         sis_at::br--;
  382.                         astronave::br++;
  383.                         workshop::crediti-=commercio::br.val_compra;
  384.                 }
  385.         }
  386.         commercio::vendi_pd.Crea(screen ,&evento);
  387.         if (commercio::vendi_pd.Get_state()==2)
  388.         {
  389.                 if (astronave::pd>0)
  390.                 {
  391.                         sis_at::pd++;
  392.                         astronave::pd--;
  393.                         workshop::crediti+=commercio::pd.val_vendi;
  394.                 }
  395.         }
  396.         commercio::compra_pd.Crea(screen ,&evento);
  397.         if (commercio::compra_pd.Get_state()==2)
  398.         {
  399.                 if ((sis_at::pd>0)&&(workshop::crediti>commercio::pd.val_compra))
  400.                 {
  401.                         sis_at::pd--;
  402.                         astronave::pd++;
  403.                         workshop::crediti-=commercio::pd.val_compra;
  404.                 }
  405.         }
  406.         commercio::vendi_os.Crea(screen ,&evento);
  407.         if (commercio::vendi_os.Get_state()==2)
  408.         {
  409.                 if (astronave::os>0)
  410.                 {
  411.                         sis_at::os++;
  412.                         astronave::os--;
  413.                         workshop::crediti+=commercio::os.val_vendi;
  414.                 }
  415.         }
  416.         commercio::compra_os.Crea(screen ,&evento);
  417.         if (commercio::compra_os.Get_state()==2)
  418.         {
  419.                 if ((sis_at::os>0)&&(workshop::crediti>commercio::os.val_compra))
  420.                 {
  421.                         sis_at::os--;
  422.                         astronave::os++;
  423.                         workshop::crediti-=commercio::os.val_compra;
  424.                 }
  425.         }
  426.         commercio::vendi_ar.Crea(screen ,&evento);
  427.         if (commercio::vendi_ar.Get_state()==2)
  428.         {
  429.                 if (astronave::ar>0)
  430.                 {
  431.                         sis_at::ar++;
  432.                         astronave::ar--;
  433.                         workshop::crediti+=commercio::ar.val_vendi;
  434.                 }
  435.         }
  436.         commercio::compra_ar.Crea(screen ,&evento);
  437.         if (commercio::compra_ar.Get_state()==2)
  438.         {
  439.                 if ((sis_at::ar>0)&&(workshop::crediti>commercio::ar.val_compra))
  440.                 {
  441.                         sis_at::ar--;
  442.                         astronave::ar++;
  443.                         workshop::crediti-=commercio::ar.val_compra;
  444.                 }
  445.         }
  446.         /////////Fine.
  447.         return valore_ritorno;
  448. }