Close
Faqja 0 prej 4 FillimFillim 12 ... FunditFundit
Duke shfaqur rezultatin -9 deri 0 prej 34
  1. #1
    Liburne Maska e Urijan
    Anëtarësuar
    16-07-2004
    Vendndodhja
    United States of Albanian
    Postime
    104

    Një lojë me një copë letër (drejtkëndësh ose katror)

    Dy lojtareve u jepet nje cope leter (drejtkendesh ose katror). Njeri lojtar duhet ta prese ne mes kete cope letre (qe te fitohet perseri drejtekendesh ose katror), pjesen me te vogel e hudh ndersa pjesen me te madhe ia jep lojtarit tjeter. Lojtari tjeter poashtu ben nje prerje te drejte dhe pjesen me te madhe ia jep lojtarit kundershtar. Keshtu vazhdon loja, me kusht qe cdo lojtar te beje vetem nje prerje, derisa te zvogelohet copa e letres ne 1 cm2. Lojtari i cili e pranon letren me siperfaqe 1 cm2 eshte humbes, dtth. lojtari qe me prerjen e fundit krijon cope letre (sipas kushteve te dhena me larte) me siperfaqe 1 cm2 eshte fitues.
    Pra kushtet ishin: qe cdo lojtar mund te beje vetem nje prerje njekohesisht, dhe kushti tjeter ishte qe pjesa me e madhe e letres mbahet ne loje, ndersa pjesa e vogel hudhet.

    ne gjuhet programore C++ ose JAVA
    Çdo ditë që jetojmë është një mundësi e veçantë

  2. #2
    i/e regjistruar Maska e hot_prinz
    Anëtarësuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    nuk po kuptoj,

    nese prejm mu ne mes nje drejtkendesh ose katror, atehre nuk do te kete pjese te vogel ose pjese te madhe, por qe te dyat jane te barabarta, apo jo?

  3. #3
    i/e regjistruar Maska e hot_prinz
    Anëtarësuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    por nese kemi nje leter 20 x 20cm dhe premjet behen ne menyre te rastesishme (randome) nga lojtaret, po e postoj shpejt e shpejt nje kod te pa optimuar ne C#:

    Kodi PHP:

            
    private void loja()
            {
                
    Random numri_random = new Random();
                
    int letra_x 20;
                
    int letra_y 20;
                
    string radha "L1";
                
    int shuma_katrore letra_x letra_y;
                while (
    shuma_katrore 1)
                {
                if (
    radha == "L1")
                    {
                    
    prej(ref shuma_katroreref letra_xref letra_y"Lojtari i pare"numri_random);
                    
    radha "L2";
                    }
                else
                    {
                        
    prej(ref shuma_katroreref letra_xref letra_y"Lojtari i dyte"numri_random);
                    
    radha "L1";
                    }
                }
            }

           private 
    void prej(ref int shuma_katroreref int letra_xref int letra_ystring pRandom numri_random)
           {
                
    int pika_ndarjes 0;
                
                if (
    letra_x >= letra_y)
                {
                    
    pika_ndarjes numri_random.Next(1letra_x);
                    if (
    pika_ndarjes > (letra_x pika_ndarjes))
                    {
                        if ((
    pika_ndarjes letra_y) > ((letra_x pika_ndarjes) * letra_y))
                        {
                            
    shuma_katrore pika_ndarjes letra_y;
                            
    letra_x pika_ndarjes;
                        }
                        else
                        {
                            
    shuma_katrore = (letra_x pika_ndarjes) * letra_y;
                            
    letra_x letra_x pika_ndarjes;
                        }
                    }
                    else
                    {
                        if ((
    pika_ndarjes letra_y) > ((letra_x pika_ndarjes) * letra_y))
                        {
                            
    shuma_katrore pika_ndarjes letra_y;
                            
    letra_x pika_ndarjes;
                        }
                        else
                        {
                            
    shuma_katrore = (letra_x pika_ndarjes) * letra_y;
                            
    letra_x letra_x pika_ndarjes;
                        }
                    }
                }
                else
                {
                    
    pika_ndarjes numri_random.Next(1letra_y);

                    if (
    pika_ndarjes > (letra_y pika_ndarjes))
                    {
                        if ((
    pika_ndarjes letra_x) > ((letra_y pika_ndarjes) * letra_x))
                        {
                            
    shuma_katrore pika_ndarjes letra_x;
                            
    letra_y pika_ndarjes;
                        }
                        else
                        {
                            
    shuma_katrore = (letra_y pika_ndarjes) * letra_x;
                            
    letra_y letra_y pika_ndarjes;
                        }
                    }
                    else
                    {
                        if ((
    pika_ndarjes letra_x) > ((letra_y pika_ndarjes) * letra_x))
                        {
                            
    shuma_katrore pika_ndarjes letra_x;
                            
    letra_y pika_ndarjes;
                        }
                        else
                        {
                            
    shuma_katrore = (letra_y pika_ndarjes) * letra_x;
                            
    letra_y letra_y pika_ndarjes;
                        }
                    }
                }

                if (
    shuma_katrore <= 1)
                    
    MessageBox.Show(" humbi duke marrur katrorin me siperfaqen (shuma katrore) " 
                        
    shuma_katrore.ToString(), "Humbje!",
                            
    MessageBoxButtons.OKMessageBoxIcon.Error);
                else
                    
    MessageBox.Show(" muar katrorin me siperfaqen (shuma katrore) " 
                        
    shuma_katrore.ToString(), "Informacion",
                            
    MessageBoxButtons.OK,MessageBoxIcon.Information);
               } 

  4. #4
    i/e regjistruar Maska e hot_prinz
    Anëtarësuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    kodin me larte e postova shpejte pasi qe nuk pata kohe ta korigjoj shume, tani po vendos nje kod me te optimuar dhe te komentuar:

    Kodi PHP:

            
    private void loja()
            {
                
    Random numri_random = new Random();
                
    int gjatesia_letres_x 20;
                
    int gjatesia_letres_y 20;
                
    string radha_lojtarit "L1";
                
    int shuma_katrore gjatesia_letres_x gjatesia_letres_y;

                
    //perderisa siperfaqja e letres eshte me e madhe se 1
                //letra do te prehet nga lojtari i cili e ka radhen
                
    while (shuma_katrore 1)
                {
                    if (
    radha_lojtarit == "L1")
                    {
                        
    prej(ref shuma_katroreref gjatesia_letres_xref gjatesia_letres_y
                            
    "Lojtari i pare"numri_random);
                        
    radha_lojtarit "L2";
                    }
                    else
                    {
                        
    prej(ref shuma_katroreref gjatesia_letres_xref gjatesia_letres_y
                            
    "Lojtari i dyte"numri_random);
                        
    radha_lojtarit "L1";
                    }
                }

                
    //verifikimi dhe hudhja e informacionit se cilit lojtar te fundit
                //i mbeti katrori me siperfaqen prej 1cm²
                
    if (radha_lojtarit == "L1")
                    
    MessageBox.Show("Lojtari i pare humbi lojen\n sepse i mbeti katrori me siperfaqen 1!"
                        
    "Informacion"MessageBoxButtons.OKMessageBoxIcon.Error);
                else
                    
    MessageBox.Show("Lojtari i dyte humbi lojen\n sepse i mbeti katrori me siperfaqen 1!"
                        
    "Informacion"MessageBoxButtons.OKMessageBoxIcon.Error);

            }

            private 
    void prej(ref int shuma_katroreref int gjatesia_letres_x
                                
    ref int gjatesia_letres_ystring pRandom numri_random)
            {
                
    int pika_ndarjes 0;

                
    //nese eshte e mundur do ndajme letren ne anen me gjatesi me te madhe
                //nese gjatesia eshte e barabarte atehere do te fillojme ne koordinaten x
                
    if (gjatesia_letres_x >= gjatesia_letres_y)
                {
                    
    //do nxjerrim nje numer random te plote ne gjatesi per te bere prerjen e letres
                    
    pika_ndarjes numri_random.Next(1gjatesia_letres_x);

                    
    //nese siperfaqja prej fillimit deri tek pika e prerjes * koordinata ne y
                    //eshte me e madhe se siperfaqja e mbetur
                    
    if ((pika_ndarjes gjatesia_letres_y) > 
                        ((
    gjatesia_letres_x pika_ndarjes) * gjatesia_letres_y))
                    {
                        
    //vendosen siperfaqja katrore dhe gjatesia e re e anes se prere
                        //per letren e ndare me te madhe
                        
    shuma_katrore pika_ndarjes gjatesia_letres_y;
                        
    gjatesia_letres_x pika_ndarjes;
                    }
                    else
                    {
                        
    shuma_katrore = (gjatesia_letres_x pika_ndarjes) * gjatesia_letres_y;
                        
    gjatesia_letres_x gjatesia_letres_x pika_ndarjes;
                    }
                }
                else
                {
                    
    pika_ndarjes numri_random.Next(1gjatesia_letres_y);

                    if ((
    pika_ndarjes gjatesia_letres_x) > 
                        ((
    gjatesia_letres_y pika_ndarjes) * gjatesia_letres_x))
                    {
                        
    shuma_katrore pika_ndarjes gjatesia_letres_x;
                        
    gjatesia_letres_y pika_ndarjes;
                    }
                    else
                    {
                        
    shuma_katrore = (gjatesia_letres_y pika_ndarjes) * gjatesia_letres_x;
                        
    gjatesia_letres_y gjatesia_letres_y pika_ndarjes;
                    }
                }

                
    //
                
    MessageBox.Show(" preu letren dhe fitoi katrorin me siperfaqe " shuma_katrore.ToString()
                        , 
    "Informacion"MessageBoxButtons.OKMessageBoxIcon.Information);
            } 

  5. #5
    Liburne Maska e Urijan
    Anëtarësuar
    16-07-2004
    Vendndodhja
    United States of Albanian
    Postime
    104
    te faleminderit per kohen qe e ndat per te me ndihmur a do te kishte mundesi qe te ma leshoshe skedarin ne C#
    Çdo ditë që jetojmë është një mundësi e veçantë

  6. #6
    i/e regjistruar Maska e hot_prinz
    Anëtarësuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    nese mendon skedarin e projekteve ne C# te Visual Studio 2008, ja ku e bashkangjis.
    Lojerat gjinden ne te njejtin projekt sepse nuk krijova dy projekte, duhesh vetem te aktivizosh/caktivizosh kodin.
    Skedarët e Bashkëngjitur Skedarët e Bashkëngjitur

  7. #7
    Liburne Maska e Urijan
    Anëtarësuar
    16-07-2004
    Vendndodhja
    United States of Albanian
    Postime
    104
    te faleminderit per mundin qe te me ndihmosh
    Çdo ditë që jetojmë është një mundësi e veçantë

  8. #8
    Liburne Maska e Urijan
    Anëtarësuar
    16-07-2004
    Vendndodhja
    United States of Albanian
    Postime
    104
    A do te mundeshte te me ndihmoni ne modifikimin e kesaj loje dhe ate ne keto rregulla:

    letra te jete e madhesise m dhe n te cilat ti japim nga tastiera dhe po ashtu dhe prerjet ne siperfaqe njeri lojtar ti jape nga tastiera a lojtari tjeter te jet kompjuteri, po e pershkruaj per nje madhesi:
    m=5 a n=60

    qe te mundet te fitohet loja duhet te vendohen ca rregulla se pari duhet te krahasohet se cila eshte me e madhe m apo n, nese eshte n si ne rastin tone atehere numrat magjik jane : 5, 11, 23, 47

    dhe nese pret lojtari nga n (60) por te mos harrojme se nuk mundet asnjeher te prese me shum se gjysma psh. nga 60 ai pret 12 dhe mbetet 48 a qe tre fitosh lojen duhet te kapesh 47 jo 48 nese arrin dhe kap njeren nga keto numra ti e fiton lojen ,

    por lojtati mundet te prese edhe nga n me te njeten rregul jo me shum se gjysma ateher ndryshojne numrat magjik nese pret 1 mbesin 4 ateher numrat magjik jane : 4, 9, 19, .... ( m, 2m+1, 4m+3, ....), duhet te ruhet kjo rregull qe te fitoje kompjuteri cdo here .
    nuk e di a po me kuputoni deri ketu nese nuk do arrini te me kuptoni do te mundohem te jap me shum sqarime

    DO JU JEM MIRENJOHES PER KETE NDIHME.


    te shtoj dhe nje gje prerjet te jepen nga tastiera.
    Ndryshuar për herë të fundit nga Urijan : 23-01-2009 më 18:03
    Çdo ditë që jetojmë është një mundësi e veçantë

  9. #9
    i/e regjistruar Maska e hot_prinz
    Anëtarësuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    e kam ndryshuar deri te numrat magjike, tani dy pyetje:

    - tek numrat magjike thua se nese njera ane e letres eshte = 60cm atehere numrat magjike jane 5,11,23,47. Pyetje, si jane numrat magjike nese ana e gjate e letres eshte 50cm ose 120cm, jane ende 5,11,23,47?

    - pastaj thua se lojtari nese pren letren me 1 atehere numrat magjike zbriten ne: 4, 9, 19, .... ( m, 2m+1, 4m+3, ....). E cfare nese lojtari nuk pren letren me 1 por me 37 atehere te gjithe numrat magjike me te vegjel se 37 do te behen negative, e ?

    projektin e ndrrova ne console-app*:

    Kodi PHP:

    using System
    ;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace 
    Loja_letres
    {
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {
                
    Random numri_random = new Random();

                
    shkruaj("\n\n     ************************************************",0);
                
    shkruaj("     ***                                          ***",0);
                
    shkruaj("     ***                 prej letrën!             ***"0);
                
    shkruaj("     ***                                          ***",0);
                
    shkruaj("     ************************************************\n\n",1);

                
    shkruaj("shënoni madhësinë e letrës në x (vlerë numerike):"1);
                
    int gjatesia_letres_x int.Parse(Console.ReadLine());
                
    shkruaj("shënoni madhësinë e letrës në y (vlerë numerike):"1);
                
    int gjatesia_letres_y int.Parse(Console.ReadLine());
                
    shkruaj("shënoni emrin tuaj (psh: Brus-Lia :)):"1);
                
    String strEmri Console.ReadLine();
                
    string radha_lojtarit strEmri;
                
    int shuma_katrore gjatesia_letres_x gjatesia_letres_y;

                while (
    shuma_katrore 1)
                {
                    if (
    radha_lojtarit == strEmri)
                    {
                        
    shkruaj("\n\n-> në radhë është - " strEmri1);
                        
    prej(ref shuma_katroreref gjatesia_letres_xref gjatesia_letres_y,
                            
    strEmrinumri_random);
                        
    radha_lojtarit "L2";
                    }
                    else
                    {
                        
    shkruaj("\n\n-> në radhë është - Kompjuteri (loz automatikisht)"1);
                        
    prej(ref shuma_katroreref gjatesia_letres_xref gjatesia_letres_y,
                            
    "Kompjuteri"numri_random);
                        
    radha_lojtarit strEmri;
                    }
                }
                if (
    radha_lojtarit == strEmri)
                    
    shkruaj("\n*\n*\n\n" strEmri " humbi lojën\n sepse i mbeti katrori me siperfaqën 1 cm²\n\n*\n*"1);
                else
                    
    shkruaj("\n*\n*\n\nKompjuteri humbi lojën\n sepse i mbeti katrori me siperfaqën 1 cm²\n\n*\n*"1);
                
    shkruaj("\n\nshtyp një tastë në tastierë për të përfunduar lojën..."1);
                
    Console.Read();
            }
            static 
    void prej(ref int shuma_katroreref int gjatesia_letres_x,
                                
    ref int gjatesia_letres_ystring pRandom numri_random)
            {
                
    int pika_ndarjes 0;

                if (
    gjatesia_letres_x >= gjatesia_letres_y)
                {
                    if (
    == "Kompjuteri")
                    {
                        
    shkruaj("letra për tu prerë ka përmasat x=" gjatesia_letres_x "cm, y=" gjatesia_letres_y "cm"
                            
    " ose një sipërfaqe " gjatesia_letres_x gjatesia_letres_y "cm²"1);
                        
    pika_ndarjes numri_random.Next(1, (gjatesia_letres_x 2));
                        
    shkruaj("Kompjuteri preu letrën në pikën " pika_ndarjes " të x-it"1);
                    }
                    else
                    {
                        
    shkruaj("letra për tu prerë ka përmasat x=" gjatesia_letres_x "cm, y=" gjatesia_letres_y "cm"
                            
    " ose një sipërfaqe " gjatesia_letres_x gjatesia_letres_y "cm²"1);
                        
    shkruaj("në cilën pikë dëshironi të preni letrën në x?"1);
                        
    shkruaj("(shkruaj një vlerë numerike prej 1 deri " + (gjatesia_letres_x 2) + ")"1);
                        
    pika_ndarjes int.Parse(Console.ReadLine());
                        if (
    pika_ndarjes > (gjatesia_letres_x 2))
                        {
                            
    shkruaj("gabim:\nzgjidh vetëm një vlerë numerike prej 1 deri " + (gjatesia_letres_x 2), 1);
                            
    pika_ndarjes int.Parse(Console.ReadLine());
                        }
                        
    shkruaj(" preu letrën në pikën " pika_ndarjes " të x-it"1);
                    }

                    if ((
    pika_ndarjes gjatesia_letres_y) >
                        ((
    gjatesia_letres_x pika_ndarjes) * gjatesia_letres_y))
                    {
                        
    shuma_katrore pika_ndarjes gjatesia_letres_y;
                        
    gjatesia_letres_x pika_ndarjes;
                    }
                    else
                    {
                        
    shuma_katrore = (gjatesia_letres_x pika_ndarjes) * gjatesia_letres_y;
                        
    gjatesia_letres_x gjatesia_letres_x pika_ndarjes;
                    }
                }
                else
                {
                    if (
    == "Kompjuteri")
                    {
                        
    shkruaj("letra për tu prerë ka përmasat x=" gjatesia_letres_x "cm, y=" gjatesia_letres_y "cm"
                            
    " ose një sipërfaqe " gjatesia_letres_x gjatesia_letres_y "cm²"1);
                        
    pika_ndarjes numri_random.Next(1, (gjatesia_letres_y 2));
                        
    shkruaj("Kompjuteri preu letrën në pikën " pika_ndarjes " të y-it"1);
                    }
                    else
                    {
                        
    shkruaj("letra për tu prerë ka përmasat x=" gjatesia_letres_x "cm, y=" gjatesia_letres_y "cm"
                            
    " ose një sipërfaqe " gjatesia_letres_x gjatesia_letres_y "cm²"1);
                        
    shkruaj("në cilën pikë dëshironi të preni letrën në y?"1);
                        
    shkruaj("(shkruaj një vlerë numerikë prej 1 deri " + (gjatesia_letres_y 2) + ")"1); 
                        
    pika_ndarjes int.Parse(Console.ReadLine());
                        if (
    pika_ndarjes > (gjatesia_letres_y 2))
                        {
                            
    shkruaj("gabim:\nzgjidh vetëm një vlerë numerike prej 1 deri " + (gjatesia_letres_y 2), 1);
                            
    pika_ndarjes int.Parse(Console.ReadLine());
                        }
                        
    shkruaj(" preu letrën në pikën " pika_ndarjes " te y-it"1);
                    }

                    if ((
    pika_ndarjes gjatesia_letres_x) >
                        ((
    gjatesia_letres_y pika_ndarjes) * gjatesia_letres_x))
                    {
                        
    shuma_katrore pika_ndarjes gjatesia_letres_x;
                        
    gjatesia_letres_y pika_ndarjes;
                    }
                    else
                    {
                        
    shuma_katrore = (gjatesia_letres_y pika_ndarjes) * gjatesia_letres_x;
                        
    gjatesia_letres_y gjatesia_letres_y pika_ndarjes;
                    }
                }
                
    shkruaj(" fitoi katrorin me siperfaqe " shuma_katrore.ToString() + "cm²",1);
            }
            static 
    void shkruaj(string p,int i)
            {
                
    Console.WriteLine(p);
                if(
    i>0)
                
    System.Threading.Thread.Sleep(1000);
            }
        }

    Fotografitë e Bashkëngjitura Fotografitë e Bashkëngjitura  
    Skedarët e Bashkëngjitur Skedarët e Bashkëngjitur
    Ndryshuar për herë të fundit nga hot_prinz : 25-01-2009 më 17:10 Arsyeja: *

  10. #10
    Liburne Maska e Urijan
    Anëtarësuar
    16-07-2004
    Vendndodhja
    United States of Albanian
    Postime
    104
    po leshoj nje pershkrim te kesaj loje beso qe jam pak me i qart tani.

    ju faleminderit per mundi qe po e jepni.
    Fotografitë e Bashkëngjitura Fotografitë e Bashkëngjitura
    Çdo ditë që jetojmë është një mundësi e veçantë

Faqja 0 prej 4 FillimFillim 12 ... FunditFundit

Tema të Ngjashme

  1. Presidenti Moisiu: Jo emërimit të Harxhit si ambasadore në SHBA
    Nga Hyllien në forumin Tema e shtypit të ditës
    Përgjigje: 141
    Postimi i Fundit: 14-11-2008, 16:39
  2. Familja Kika Dhuron 5000 metra katror truall per nje shkolle
    Nga honzik në forumin Tema e shtypit të ditës
    Përgjigje: 20
    Postimi i Fundit: 29-06-2005, 17:31
  3. Poezi nga Diabolis
    Nga Diabolis në forumin Letërsia shqiptare
    Përgjigje: 499
    Postimi i Fundit: 13-05-2004, 12:06
  4. Pasurite qe disponojn ministrat e "Nanos"s
    Nga ALBA në forumin Tema e shtypit të ditës
    Përgjigje: 8
    Postimi i Fundit: 03-07-2003, 00:17
  5. Kangjëll Hekuri Katror
    Nga Diabolis në forumin Letërsia shqiptare
    Përgjigje: 4
    Postimi i Fundit: 24-01-2003, 21:03

Regullat e Postimit

  • Ju nuk mund të hapni tema të reja.
  • Ju nuk mund të postoni në tema.
  • Ju nuk mund të bashkëngjitni skedarë.
  • Ju nuk mund të ndryshoni postimet tuaja.
  •