/// <summary>
        /// Creates a game room form based on the game type passed in
        /// </summary>
        /// <param name="theGame"></param>
        internal GameRoom(DurakGame theGame)
        {
            // load the card images to memory from the sprite sheet
            loadCardImages();

            InitializeComponent();

            this.WindowState    = FormWindowState.Maximized;
            deckLocation        = new Point(this.Width - CARD_WIDTH * 2, Height / 2);
            this.DoubleBuffered = true;

            myGame = theGame;

            if (myGame.IsAiGame)
            {
                btnPass.Text = "Pause";
            }
            else
            {
                btnPass.Text = "End Turn";
            }

            setDrawnCards();
            myGame.fillHands();

            tmrFrameUpdate.Start();
            tmrGamePlay.Start();
        }
示例#2
0
        private void InitDeck(List <int> figureSet, DurakGame durak)
        {
            cards = new List <CardPictureBox>();

            foreach (var i in figureSet)
            {
                foreach (var j in SUITS)
                {
                    cards.Add(new CardPictureBox(j, i, durak));
                }
            }

            Mix();

            TrumpCard = cards[cards.Count - 1];
        }
示例#3
0
        private void Button1_Click(object sender, EventArgs e)
        {
            table = new TablePanel();
            deck  = new CardDeck();
            Durak = new DurakGame();

            deck.InitSmallSet(Durak);
            players = new List <PlayerPanel>()
            {
                new PlayerPanel("artem", table, deck), new PlayerPanel("nastya", table, deck)
            };
            Durak.Init(players, deck, table);

            players[0].Top       = 12;
            players[0].Left      = 315;
            players[0].Width     = 370;
            players[0].Height    = 100;
            players[0].BackColor = Color.White;
            Controls.Add(players[0]);

            players[1].Top       = 224;
            players[1].Left      = 315;
            players[1].Width     = 370;
            players[1].Height    = 100;
            players[1].BackColor = Color.White;
            Controls.Add(players[1]);

            table.Top       = 118;
            table.Left      = 315;
            table.Width     = 370;
            table.Height    = 100;
            table.BackColor = Color.White;
            Controls.Add(table);

            deck.TrumpCard.Top      = table.Top;
            deck.TrumpCard.Height   = table.Height;
            deck.TrumpCard.SizeMode = PictureBoxSizeMode.Zoom;
            deck.TrumpCard.Left     = table.Left - deck.TrumpCard.Width - 10;
            Controls.Add(deck.TrumpCard);

            button2.Visible = true;
            button2.Enabled = true;

            button1.Visible = false;
            button1.Enabled = false;
        }
示例#4
0
 public CardGameMenu()
 {
     InitializeComponent();
     theGame = new BasicRules();
 }
示例#5
0
 /// <summary>
 /// Default Constructor sets game object reference and name
 /// </summary>
 /// <param name="theGame"></param>
 /// <param name="name"></param>
 internal GenericPlayer(DurakGame theGame, String name = "")
 {
     this.theGame = theGame;
     this.name    = name;
 }
示例#6
0
 public void InitLargeSet(DurakGame durak)
 {
     InitDeck(LARGE_SET_FIGURES, durak);
 }
示例#7
0
 public void InitSmallSet(DurakGame durak)
 {
     InitDeck(SMALL_SET_FIGURES, durak);
 }
示例#8
0
 /// <summary>
 /// Calls base constructor and passes arguments
 /// </summary>
 /// <param name="theGame"></param>
 /// <param name="name"></param>
 public HumanPlayer(DurakGame theGame, String name = "Human Player") : base(theGame, name)
 {
 }
 /// <summary>
 /// used to constructor chain back to Generic Player
 /// </summary>
 /// <param name="theGame"></param>
 /// <param name="name"></param>
 public ComputerPlayer(DurakGame theGame, String name = "Computer Player") : base(theGame, name)
 {
 }
示例#10
0
 /// <summary>
 /// Default Constructor calls base constructor
 /// </summary>
 /// <param name="theGame"></param>
 /// <param name="name"></param>
 public BasicAI(DurakGame theGame, String name = "Basic AI")
     : base(theGame, name)
 {
 }