static void Feladat5()
        {
            // a fekete szín
            var fekete = new Szin(0, 0, 0);

            // végigmegyünk minden képponton
            for (int i = 0; i < kep.Length; i++)
            {
                // meghatározzuk, hogy az melyik sorban/oszlopban található
                // a sorhoz az i-t 50-el osztjuk (egy sorban található színek száma)
                // 0-49=0, 50-99=1, ..., 2450-2499 = 49
                var sor = i / 50;
                // az oszlophoz az 50-el való osztás maradékát vesszük
                // 0 mod 50 = 0, 1 mod 50 = 1, ... 49 mod 50 = 49, 50 mod 5 = 0, stb
                var oszlop = i % 50;

                // a három képpontos kerethez az elsö 3 és utolsó 3 teljes sort,
                // minden más sorban az elsö 3 és utolsó 3 pontot kell feketévé alakítani
                // elsö 3 sor:      sor < 3 (0, 1, 2)
                // utolsó 3 sor:    sor > 46 (47, 48, 49)
                // elsö 3 oszlop:   oszlop < 3 (0, 1, 2)
                // utolsó 3 oszlop: oszlop > 46 (47, 48, 49)
                if (sor < 3 || sor > 46 || oszlop < 3 || oszlop > 46)
                {
                    kep[i] = fekete;
                }
            }
        }
Beispiel #2
0
        public static ObservableCollection <Babu> InitBabuk(Szin szin)
        {
            int sor = szin == Szin.feher ? 7 : 0;
            ObservableCollection <Babu> babuk = new ObservableCollection <Babu>()
            {
                new Bastya(sor, 0, szin),
                new Bastya(sor, 7, szin),
                new Lo(sor, 1, szin),
                new Lo(sor, 6, szin),
                new Futo(sor, 2, szin),
                new Futo(sor, 5, szin),
                new Kiraly(sor, 4, szin),
                new Kiralyno(sor, 3, szin)
            };

            if (szin == Szin.feher)
            {
                sor--;
            }
            else
            {
                sor++;
            }
            for (int i = 0; i < 8; i++)
            {
                babuk.Add(new Gyalog(sor, i, szin));
            }
            return(babuk);
        }
Beispiel #3
0
 public Babu(int x, int y, Szin color)
 {
     xpozicio  = x;
     ypozicio  = y;
     aktiv     = true;
     this.Szin = color;
 }
 public Emelet(int start, int end, Szin color, string gardanev)
 {
     Start    = start;
     End      = end;
     Color    = color;
     Gardanev = gardanev;
 }
Beispiel #5
0
 // A játékos megnézi van-e adott színű kártyája
 public bool VanAdottSzinuKartyaja(Szin szin)
 {
     foreach (Kartya k in Kartyak)
     {
         if (k.Szin == szin)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #6
0
 public Besorolando(string nev, int irsz, string neptun, string nem, string gszoba, string kartya, int szoba, string garda, Szin szin)
 {
     this.Nev    = nev;
     this.Irsz   = irsz;
     this.Neptun = neptun;
     this.Nem    = nem;
     this.GSzoba = gszoba;
     this.Kartya = kartya;
     this.Szoba  = szoba;
     this.Garda  = garda;
     this.Szin   = szin;
 }
Beispiel #7
0
        // Formázó metódus.. Rövidít ha kell a kompakt kiírás érdekében
        public String KartyaNeve()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(Szin.ToString()[0] + ":");

            if (Ertek.ToString().Length > 4)
            {
                sb.Append(Ertek.ToString()[0]);
            }
            else
            {
                sb.Append(Ertek.ToString());
            }

            return(sb.ToString());
        }
        static void Feladat1()
        {
            // a fájl egyes sorai
            var sorok = System.IO.File.ReadAllLines(Be);

            // annyi szín van, ahány sor a fájlban
            kep = new Szin[sorok.Length];
            for (int i = 0; i < sorok.Length; i++)
            {
                var sor = sorok[i].Split(' ');
                kep[i] = new Szin(
                    byte.Parse(sor[0]), // R
                    byte.Parse(sor[1]), // G
                    byte.Parse(sor[2])  // B
                    );
            }
        }
        static void Feladat4()
        {
            Feladat4();
            // a színek találatai
            int voros = 0, zold = 0, kek = 0;
            // a keresett színek
            Szin r = new Szin(255, 0, 0), g = new Szin(0, 255, 0), b = new Szin(0, 0, 255);

            for (int i = 0; i < kep.Length; i++)
            {
                // ha a képpont színe vörös, megnöveljük a vörös találatok számát
                if (r.Azonos(kep[i]))
                {
                    voros++;
                }
                // különben ha zöld, akkör a zöld találatok számát
                else if (g.Azonos(kep[i]))
                {
                    zold++;
                }
                // különben ha kék, akkör a kék találatok számát
                else if (b.Azonos(kep[i]))
                {
                    kek++;
                }
            }

            Console.Write("A képen legtöbbször elöforduló szín a ");
            // a több vörös képpont van mint zöld és kék, akkor a vörös szint írjuk ki
            if (voros >= zold && voros >= kek)
            {
                Console.WriteLine("vörös.");
            }
            // különben ha több zöld van, mint vörös és kék, akkor a zöld színt írjuk ki
            else if (zold >= voros && zold >= kek)
            {
                Console.WriteLine("zöld.");
            }
            // különben a kék színek száma vagy több, vagy egyenlö a vörös és zöld színek számával
            // mivel csak az egyik színt kell kiírni, ezért a kéket írjuk ki
            else
            {
                Console.WriteLine("kék.");
            }
        }
Beispiel #10
0
 public Kartya(Szin szin, Ertek ertek)
 {
     this.Szin  = szin;
     this.Ertek = ertek;
 }
        static void Feladat7()
        {
            Kiir(7);
            // a keresett szín
            var sarga = new Szin(255, 255, 0);

            // a bal felsö és a jobb alsó képpont indexe
            int balFelso = -1, jobbAlso = -1;

            // végigmegyünk minden képponton
            for (int i = 0; i < kep.Length; i++)
            {
                // ha a szín sárga
                if (kep[i].Azonos(sarga))
                {
                    // ha ez az elsö sárga képpont, eltároljuk az indexét a bal felsö változóban
                    // a jobb alsó képpontot is eltároljuk
                    if (balFelso == -1)
                    {
                        balFelso = jobbAlso = i;
                    }
                    // különben ha még ugyanabban a sorban vagyunk, mint az elsö sárga képpont
                    // akkor a jobb alsó képpont értékét egyel növeljük
                    else if (balFelso - balFelso % 50 + 50 > i)
                    {
                        jobbAlso++;
                    }
                    // különben vagy sort váltottunk, ezért befejezzük a ciklust
                    else
                    {
                        break;
                    }
                }
                // különben ha már találtunk egy sárga pontot,
                // akkor még ugyanabban a sorban vagyünk, de a szín már nem sárge
                // kilépünk a ciklusból
                else if (balFelso > -1)
                {
                    break;
                }
            }

            // a két változóban most a téglalap bal felsö és jobb felsö pontja található
            // most meg kell állapítanunk a téglalap magasságát
            // ehhez végigmegyünk azon az oszlopon, amelyben a jobb felsö képpont található
            // ezt ugyanúgy végezzük el, mint a 3. feladatban
            // csak nem az elsö sortól kezdünk, hanem a jobb felsö pont utáni sortól
            for (int i = jobbAlso + 50; i < kep.Length; i += 50)
            {
                // ha a szín még sárga
                // akkor eltároljuk az indexét
                if (kep[i].Azonos(sarga))
                {
                    jobbAlso = i;
                }
                // különben végeztünk a ciklussal
                else
                {
                    break;
                }
            }

            Console.WriteLine("A sárga téglalap helye és mérete:");
            // a téglalap helye:
            // x (oszlop):  balFelso % 50
            // y (sor):     balFelso / 50
            // szélesség:   jobbAlso % 50 - x (a jobb alsó képpont oszlopa - x)
            // magasság:    jobbAlso / 50 - y (a jobb alsó képpont sora - y)
            int x = balFelso % 50, y = balFelso / 50, szelesseg = jobbAlso % 50 - x, magassag = jobbAlso / 50 - y;

            // a bal felsö képpont pozíciója, +1 mert a tömb indexelése 0-val kezdödik, de a kiírásnál 1-el
            Console.WriteLine($"Kezd: {y + 1}, {x + 1}");
            // a jobb alsó képpont pozíciója (balFelso + szelesseg|magassag + 1), szintén +1
            Console.WriteLine($"Vége: {y + magassag + 1}, {x + szelesseg + 1}");
            // a képpontok száma (a téglalap területe), +1 mert a "0." sort/oszlopot is figyelembe kell venni
            Console.WriteLine($"Képpontok száma: {(szelesseg + 1) * (magassag + 1)}");
        }
 // megadja, hogy ez a szín egy másikkal azonos-e
 public bool Azonos(Szin masik)
 {
     return(R == masik.R && G == masik.G && B == masik.B);
 }
Beispiel #13
0
 public Lo(int x, int y, Szin szin) : base(x, y, szin)
 {
     this.tipus = BabuTipus.lo;
 }
Beispiel #14
0
 public Bastya(int x, int y, Szin szin) : base(x, y, szin)
 {
     this.tipus = BabuTipus.bastya;
 }
Beispiel #15
0
 public Gyalog(int x, int y, Szin szin) : base(x, y, szin)
 {
     this.tipus = BabuTipus.gyalog;
 }
Beispiel #16
0
 public Szinespont(int x, int y, Szin szin) : base(x, y)
 {
     Szin = szin;
 }
Beispiel #17
0
 public Szinespont() : base(0, 0)
 {
     Szin = Szin.Piros;
 }
Beispiel #18
0
 //Konstruktor
 public Kartya(Szin szin, FiguraErtek figuraErtek)
 {
     this.szin        = szin;
     this.figuraErtek = figuraErtek;
 }
Beispiel #19
0
 public ParhuzamosJatekos(string name, Szin szin, Jatekos ellenfel) : base(name, szin)
 {
     this.ellenfel = ellenfel;
 }
Beispiel #20
0
 //konstruktor
 public Kartya(Szin szin, Figura figura)
 {
     this.szin   = szin;
     this.figura = figura;
     int ertek = (int)figura;
 }
Beispiel #21
0
 public Futo(int x, int y, Szin szin) : base(x, y, szin)
 {
     this.tipus = BabuTipus.futo;
 }
Beispiel #22
0
 public Szinespont(Szin szin) : base(0, 0)
 {
     Szin = szin;
 }
Beispiel #23
0
 public Kiraly(int x, int y, Szin szin) : base(x, y, szin)
 {
     this.tipus = BabuTipus.kiraly;
 }
Beispiel #24
0
 public Babu(Szin szin, char jel)
 {
     this.szin = szin;
     this.jel  = jel;
 }
Beispiel #25
0
 public Jatekos(string name, Szin szin)
 {
     this.Name  = name;
     this.Szin  = szin;
     this.Babuk = Util.InitBabuk(szin);
 }