Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- // Franciasakk
- // http://aries.ektf.hu/~hz/wiki7/mprog2gy/gyak-09
- namespace prog_II_7_gyak
- {
- class Cella
- {
- protected int _x;
- protected int _y;
- public int x
- {
- get { return _x; }
- set { if (0 < value && value < 9) _x = value; else throw new Exception("Hibás x érték"); }
- }
- public int y
- {
- get { return _y; }
- set { if (0 < value && value < 9) _y = value; else throw new Exception("Hibás y érték"); }
- }
- public Cella(int x, int y)
- {
- this.x = x;
- this.y = y;
- }
- }
- enum Csapat { Világos, Sötét }
- interface Sakkbabu
- {
- Csapat csapat { get; }
- Cella pozicio { get; }
- void Utes(List<Sakkbabu> list);
- void Lepes(List<Cella> list);
- }
- class Paraszt : Sakkbabu
- {
- protected Csapat _csapat;
- public Csapat csapat { get { return _csapat; } }
- protected Cella _pozicio;
- public Cella pozicio { get { return _pozicio; } }
- public void Utes(List<Sakkbabu> list)
- {
- }
- public void Lepes(List<Cella> list)
- {
- }
- public Paraszt(Csapat csapat, Cella pozicio)
- {
- }
- }
- class Bastya : Sakkbabu
- {
- protected Csapat _csapat;
- public Csapat csapat { get { return _csapat; } }
- protected Cella _pozicio;
- public Cella pozicio { get { return _pozicio; } }
- public void Utes(List<Sakkbabu> list)
- {
- }
- public void Lepes(List<Cella> list)
- {
- }
- }
- class Futo : Sakkbabu
- {
- protected Csapat _csapat;
- public Csapat csapat { get { return _csapat; } }
- protected Cella _pozicio;
- public Cella pozicio { get { return _pozicio; } }
- public void Utes(List<Sakkbabu> list)
- {
- }
- public void Lepes(List<Cella> list)
- {
- }
- }
- class Huszar : Sakkbabu
- {
- protected Csapat _csapat;
- public Csapat csapat { get { return _csapat; } }
- protected Cella _pozicio;
- public Cella pozicio { get { return _pozicio; } }
- public void Utes(List<Sakkbabu> list)
- {
- }
- public void Lepes(List<Cella> list)
- {
- }
- }
- class Kiraly : Sakkbabu
- {
- static Random rand = new Random();
- protected Csapat _csapat;
- public Csapat csapat { get { return _csapat; } }
- protected Cella _pozicio;
- public Cella pozicio { get { return _pozicio; } }
- public bool Utes(List<Sakkbabu> list)
- {
- List<Cella> babuIndex = new List<Cella>();
- foreach (var x in list)
- {
- if ((int)x.csapat > (int)csapat || (int)x.csapat < (int)csapat)
- {
- if ((x.pozicio.x + 1 == pozicio.x &&
- x.pozicio.y + 1 == pozicio.y) ||
- (x.pozicio.x + 1 == pozicio.x &&
- x.pozicio.y - 1 == pozicio.y) ||
- (x.pozicio.x - 1 == pozicio.x &&
- x.pozicio.y + 1 == pozicio.y) ||
- (x.pozicio.x - 1 == pozicio.x &&
- x.pozicio.y - 1 == pozicio.y) ||
- (x.pozicio.x == pozicio.x &&
- x.pozicio.y + 1 == pozicio.y) ||
- (x.pozicio.x == pozicio.x &&
- x.pozicio.y - 1 == pozicio.y) ||
- (x.pozicio.x - 1 == pozicio.x &&
- x.pozicio.y == pozicio.y) ||
- (x.pozicio.x + 1 == pozicio.x &&
- x.pozicio.y == pozicio.y))
- {
- babuIndex.Add(x.pozicio);
- }
- }
- }
- if (babuIndex == null || babuIndex.Count == 0)
- {
- return false;
- }
- else
- {
- int poz = rand.Next(babuIndex.Count);
- pozicio = babuIndex[poz];
- list.RemoveAt(babuIndex[poz]);
- }
- }
- public void Lepes(List<Cella> list)
- {
- }
- }
- class Kiralyno : Sakkbabu
- {
- protected Csapat _csapat;
- public Csapat csapat { get { return _csapat; } }
- protected Cella _pozicio;
- public Cella pozicio { get { return _pozicio; } }
- public void Utes(List<Sakkbabu> list)
- {
- }
- public void Lepes(List<Cella> list)
- {
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement