Kodi PHP:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Loja_letres
{
class Program
{
public static ArrayList nr_magjike;
public static bool bool_loja = true;
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ë m (vlerë numerike):", 1);
int gjatesia_letres_m = int.Parse(Console.ReadLine());
shkruaj("shënoni madhësinë e letrës në n (vlerë numerike):", 1);
int gjatesia_letres_n = 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_m * gjatesia_letres_n;
bool perfundoi = false;
while (shuma_katrore > 1 & perfundoi == false)
{
if (bool_loja)
{
if (radha_lojtarit == strEmri)
{
shkruaj("\n\n-> në radhë është - " + strEmri, 1);
prej(ref shuma_katrore, ref gjatesia_letres_m, ref gjatesia_letres_n,
strEmri, numri_random);
if (bool_loja)
radha_lojtarit = "Kompjuteri";
}
else
{
shkruaj("\n\n-> në radhë është - Kompjuteri (loz automatikisht)", 1);
prej(ref shuma_katrore, ref gjatesia_letres_m, ref gjatesia_letres_n,
"Kompjuteri", numri_random);
if (bool_loja)
radha_lojtarit = strEmri;
}
}
else
{
if (radha_lojtarit == strEmri)
{
shkruaj("\n*\n*\n\n" + strEmri + " fitoi lojën\n sepse ndau letren ne nje numer magjik", 1);
string t1 = " -> numrat_magjike ishin {";
for (int i = 0; i < nr_magjike.Count; i++)
{
if (i > 0)
t1 += "," + nr_magjike[i];
else
t1 += nr_magjike[i];
}
t1 += "}\n\n*\n*";
shkruaj(t1, 0);
perfundoi = true;
}
else
{
shkruaj("\n*\n*\n\nKompjuteri fitoi lojën\n sepse ndau letren ne nje numer magjik", 1);
string t1 = " -> numrat_magjike ishin {";
for (int i = 0; i < nr_magjike.Count; i++)
{
if(i>0)
t1 += "," + nr_magjike[i];
else
t1 += nr_magjike[i];
}
t1 += "}\n\n*\n*";
shkruaj(t1, 0);
perfundoi = true;
}
}
}
if (bool_loja)
{
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_katrore, ref int gjatesia_letres_m,
ref int gjatesia_letres_n, string p, Random numri_random)
{
int pika_ndarjes = 0;
bool m = false;
bool n = false;
if (p == "Kompjuteri")
{
shkruaj("letra për tu prerë ka përmasat m=" + gjatesia_letres_m + "cm, n=" + gjatesia_letres_n + "cm"
+ " ose një sipërfaqe " + gjatesia_letres_m * gjatesia_letres_n + "cm²", 1);
if (gjatesia_letres_m != gjatesia_letres_n)
merr_nr_magjike(gjatesia_letres_m, gjatesia_letres_n);
else
nr_magjike = new ArrayList();
int ana_ndarjes = numri_random.Next(1, 2);
switch (ana_ndarjes)
{
case 1:
if (gjatesia_letres_m == 1)
{
ana_ndarjes = 2;
shkruaj(" -> ana m nuk ben te ndahet sepse ka vleren 1! <--<", 1);
}
break;
case 2:
if (gjatesia_letres_n == 1)
{
ana_ndarjes = 1;
shkruaj(" -> ana n nuk ben te ndahet sepse ka vleren 1! <--<", 1);
}
break;
}
switch (ana_ndarjes)
{
case 1:
pika_ndarjes = numri_random.Next(1, (gjatesia_letres_m / 2));
shkruaj("Kompjuteri - preu ne anen m!", 1);
shkruaj("Kompjuteri preu letrën në pikën " + pika_ndarjes + " të m-it", 1);
m = true;
break;
case 2:
pika_ndarjes = numri_random.Next(1, (gjatesia_letres_n / 2));
shkruaj("Kompjuteri - preu ne anen n!", 1);
shkruaj("Kompjuteri preu letrën në pikën " + pika_ndarjes + " të n-it", 1);
n = true;
break;
}
for (int i = 0; i < nr_magjike.Count; i++)
{
if (pika_ndarjes == (int)nr_magjike[i])
bool_loja = false;
}
}
else
{
shkruaj("letra për tu prerë ka përmasat m=" + gjatesia_letres_m + "cm, n=" + gjatesia_letres_n + "cm"
+ " ose një sipërfaqe " + gjatesia_letres_m * gjatesia_letres_n + "cm²", 1);
shkruaj("(shkruaj <1> per prere anen m dhe <2> per te prere anen n)", 1);
int ana_ndarjes = int.Parse(Console.ReadLine());
switch (ana_ndarjes)
{
case 1:
if (gjatesia_letres_m == 1)
{
ana_ndarjes = 2;
shkruaj(" -> ana m nuk ben te ndahet sepse ka vleren 1! <--<", 1);
}
break;
case 2:
if (gjatesia_letres_n == 1)
{
ana_ndarjes = 1;
shkruaj(" -> ana n nuk ben te ndahet sepse ka vleren 1! <--<", 1);
}
break;
}
switch (ana_ndarjes)
{
case 1:
if (gjatesia_letres_m > 1)
{
pika_ndarjes = numri_random.Next(1, (gjatesia_letres_m / 2));
shkruaj(p + " - preu ne anen m!", 1);
shkruaj("në cilën pikë dëshironi të preni letrën në m?", 1);
shkruaj("(shkruaj një vlerë numerike prej 1 deri " + (gjatesia_letres_m / 2) + ")", 1);
pika_ndarjes = int.Parse(Console.ReadLine());
while (pika_ndarjes >(gjatesia_letres_m/2))
{
shkruaj("(Verejtje -> shkruaj vetem një vlerë numerike prej 1 deri " + (gjatesia_letres_m / 2) + ")", 1);
pika_ndarjes = int.Parse(Console.ReadLine());
}
shkruaj(p + " preu letrën në pikën " + pika_ndarjes + " të m-it", 1);
m = true;
}
break;
case 2:
if (gjatesia_letres_n > 1)
{
pika_ndarjes = numri_random.Next(1, (gjatesia_letres_n / 2));
shkruaj(p + " - preu ne anen n!", 1);
shkruaj("në cilën pikë dëshironi të preni letrën në n?", 1);
shkruaj("(shkruaj një vlerë numerike prej 1 deri " + (gjatesia_letres_n / 2) + ")", 1);
pika_ndarjes = int.Parse(Console.ReadLine());
while (pika_ndarjes > (gjatesia_letres_n / 2))
{
shkruaj("(Verejtje -> shkruaj vetem një vlerë numerike prej 1 deri " + (gjatesia_letres_n / 2) + ")", 1);
pika_ndarjes = int.Parse(Console.ReadLine());
}
shkruaj(p + " preu letrën në pikën " + pika_ndarjes + " të n-it", 1);
n = true;
}
break;
}
if (gjatesia_letres_m != gjatesia_letres_n)
merr_nr_magjike(gjatesia_letres_m, gjatesia_letres_n);
else
nr_magjike = new ArrayList();
for (int i = 0; i < nr_magjike.Count; i++)
{
if (pika_ndarjes == (int)nr_magjike[i])
bool_loja = false;
}
}
if (m)
{
if ((pika_ndarjes * gjatesia_letres_n) >
((gjatesia_letres_m - pika_ndarjes) * gjatesia_letres_n))
{
shuma_katrore = pika_ndarjes * gjatesia_letres_n;
gjatesia_letres_m = pika_ndarjes;
}
else
{
shuma_katrore = (gjatesia_letres_m - pika_ndarjes) * gjatesia_letres_n;
gjatesia_letres_m = gjatesia_letres_m - pika_ndarjes;
}
}
else
{
if ((pika_ndarjes * gjatesia_letres_m) >
((gjatesia_letres_n - pika_ndarjes) * gjatesia_letres_m))
{
shuma_katrore = pika_ndarjes * gjatesia_letres_m;
gjatesia_letres_n = pika_ndarjes;
}
else
{
shuma_katrore = (gjatesia_letres_n - pika_ndarjes) * gjatesia_letres_m;
gjatesia_letres_n = gjatesia_letres_n - pika_ndarjes;
}
}
shkruaj(p + " fitoi katrorin me siperfaqe " + shuma_katrore.ToString() + "cm²",1);
string t1 = " -> numrat_magjike ishin {";
if (nr_magjike.Count > 0)
{
for (int i = 0; i < nr_magjike.Count; i++)
{
if (i > 0)
t1 += "," + nr_magjike[i];
else
t1 += nr_magjike[i];
}
t1 += "}";
shkruaj(t1, 1);
}
else
{
shkruaj(" -> ska numra magjike, sepse anet e letres jane te barabarta! <----<< (:O)", 0);
}
}
static void merr_nr_magjike(int i, int j)
{
int aMadhe, aVogel;
if (i > j)
{
aMadhe = i;
aVogel = j;
}
else
{
aMadhe = j;
aVogel = i;
}
if (aVogel > 1)
{
int iTemp = aVogel;
nr_magjike = new ArrayList();
nr_magjike.Add(aVogel);
for (int x = 1; x < aMadhe; x++)
{
if ((2 * iTemp) + 1 < aMadhe)
{
iTemp = (2 * iTemp) + 1;
nr_magjike.Add(iTemp);
}
}
}
}
static void shkruaj(string p, int i)
{
Console.WriteLine(p);
if(i>0)
System.Threading.Thread.Sleep(500);
}
}
}
Krijoni Kontakt