Advertisement
csaki

Sakktábla

Apr 16th, 2013
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. // Franciasakk
  7. // http://aries.ektf.hu/~hz/wiki7/mprog2gy/gyak-09
  8.  
  9. namespace prog_II_7_gyak
  10. {
  11.     class Cella
  12.     {
  13.         protected int _x;
  14.         protected int _y;
  15.  
  16.         public int x
  17.         {
  18.             get { return _x; }
  19.             set { if (0 < value && value < 9) _x = value; else throw new Exception("Hibás x érték"); }
  20.         }
  21.  
  22.         public int y
  23.         {
  24.             get { return _y; }
  25.             set { if (0 < value && value < 9) _y = value; else throw new Exception("Hibás y érték"); }
  26.         }
  27.  
  28.         public Cella(int x, int y)
  29.         {
  30.             this.x = x;
  31.             this.y = y;
  32.         }
  33.     }
  34.  
  35.     enum Csapat { Világos, Sötét }
  36.  
  37.     interface Sakkbabu
  38.     {
  39.         Csapat csapat { get; }
  40.         Cella pozicio { get; }
  41.         void Utes(List<Sakkbabu> list);
  42.         void Lepes(List<Cella> list);
  43.     }
  44.  
  45.     class Paraszt : Sakkbabu
  46.     {
  47.         protected Csapat _csapat;
  48.         public Csapat csapat { get { return _csapat; } }
  49.  
  50.         protected Cella _pozicio;
  51.         public Cella pozicio { get { return _pozicio; } }
  52.  
  53.         public void Utes(List<Sakkbabu> list)
  54.         {
  55.  
  56.         }
  57.  
  58.         public void Lepes(List<Cella> list)
  59.         {
  60.  
  61.         }
  62.  
  63.         public Paraszt(Csapat csapat, Cella pozicio)
  64.         {
  65.  
  66.         }
  67.     }
  68.  
  69.     class Bastya : Sakkbabu
  70.     {
  71.         protected Csapat _csapat;
  72.         public Csapat csapat { get { return _csapat; } }
  73.  
  74.         protected Cella _pozicio;
  75.         public Cella pozicio { get { return _pozicio; } }
  76.  
  77.         public void Utes(List<Sakkbabu> list)
  78.         {
  79.  
  80.         }
  81.  
  82.         public void Lepes(List<Cella> list)
  83.         {
  84.  
  85.         }
  86.     }
  87.  
  88.     class Futo : Sakkbabu
  89.     {
  90.         protected Csapat _csapat;
  91.         public Csapat csapat { get { return _csapat; } }
  92.  
  93.         protected Cella _pozicio;
  94.         public Cella pozicio { get { return _pozicio; } }
  95.  
  96.         public void Utes(List<Sakkbabu> list)
  97.         {
  98.  
  99.         }
  100.  
  101.         public void Lepes(List<Cella> list)
  102.         {
  103.  
  104.         }
  105.     }
  106.  
  107.     class Huszar : Sakkbabu
  108.     {
  109.         protected Csapat _csapat;
  110.         public Csapat csapat { get { return _csapat; } }
  111.  
  112.         protected Cella _pozicio;
  113.         public Cella pozicio { get { return _pozicio; } }
  114.  
  115.         public void Utes(List<Sakkbabu> list)
  116.         {
  117.  
  118.         }
  119.  
  120.         public void Lepes(List<Cella> list)
  121.         {
  122.  
  123.         }
  124.     }
  125.  
  126.     class Kiraly : Sakkbabu
  127.     {
  128.         static Random rand = new Random();
  129.         protected Csapat _csapat;
  130.         public Csapat csapat { get { return _csapat; } }
  131.  
  132.         protected Cella _pozicio;
  133.         public Cella pozicio { get { return _pozicio; } }
  134.  
  135.         public bool Utes(List<Sakkbabu> list)
  136.         {
  137.             List<Cella> babuIndex = new List<Cella>();
  138.             foreach (var x in list)
  139.             {
  140.                 if ((int)x.csapat > (int)csapat || (int)x.csapat < (int)csapat)
  141.                 {
  142.                     if ((x.pozicio.x + 1 == pozicio.x &&
  143.                         x.pozicio.y + 1 == pozicio.y) ||
  144.                         (x.pozicio.x + 1 == pozicio.x &&
  145.                         x.pozicio.y - 1 == pozicio.y) ||
  146.                         (x.pozicio.x - 1 == pozicio.x &&
  147.                         x.pozicio.y + 1 == pozicio.y) ||
  148.                         (x.pozicio.x - 1 == pozicio.x &&
  149.                         x.pozicio.y - 1 == pozicio.y) ||
  150.                         (x.pozicio.x == pozicio.x &&
  151.                         x.pozicio.y + 1 == pozicio.y) ||
  152.                         (x.pozicio.x == pozicio.x &&
  153.                         x.pozicio.y - 1 == pozicio.y) ||
  154.                         (x.pozicio.x - 1 == pozicio.x &&
  155.                         x.pozicio.y == pozicio.y) ||
  156.                         (x.pozicio.x + 1 == pozicio.x &&
  157.                         x.pozicio.y == pozicio.y))
  158.                     {
  159.                         babuIndex.Add(x.pozicio);
  160.                     }
  161.                 }
  162.             }
  163.  
  164.             if (babuIndex == null || babuIndex.Count == 0)
  165.             {
  166.                 return false;
  167.             }
  168.             else
  169.             {
  170.                 int poz = rand.Next(babuIndex.Count);
  171.                 pozicio = babuIndex[poz];
  172.                 list.RemoveAt(babuIndex[poz]);
  173.             }
  174.         }
  175.  
  176.         public void Lepes(List<Cella> list)
  177.         {
  178.  
  179.         }
  180.     }
  181.  
  182.     class Kiralyno : Sakkbabu
  183.     {
  184.         protected Csapat _csapat;
  185.         public Csapat csapat { get { return _csapat; } }
  186.  
  187.         protected Cella _pozicio;
  188.         public Cella pozicio { get { return _pozicio; } }
  189.  
  190.         public void Utes(List<Sakkbabu> list)
  191.         {
  192.  
  193.         }
  194.  
  195.         public void Lepes(List<Cella> list)
  196.         {
  197.  
  198.         }
  199.     }
  200.  
  201.  
  202.     class Program
  203.     {
  204.         static void Main(string[] args)
  205.         {
  206.         }
  207.     }
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement