Exemplo n.º 1
0
        //obtains the premade game object, begin the game
        public frmGameWindow(Player[] players, int deckSize)
        {
            InitializeComponent();
            //create the deck
            game = new Durak(deckSize);
            //shuffling the deck, setting the players and AIs

            Players.InitializeGame(players, true);
            game.SetPlayers(players);

            //  Get reference to the game table (Card container)

            game.Table.InPlay.CardsChanged += hand_CardChanged;
            //lblTrump.Text = game.TrumpSuit();
            cbTrump.Card = game.TrumpCard;

            player = Players.GetHumanPlayer();
            player.PlayHand.CardsChanged += hand_CardChanged;
            //Dealing the hands
            game.DealHands();
            attacker = Players.GetCurrentPlayer();   //  Determine attacker
            defender = Players.PeakNextPlayer();     //  Determine defender

            lblDeckSize.Text = game.GetCardsRemaining().ToString();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Durak _durak1 = new Durak("IskeleYolu", DateTime.Now);
            Durak _durak2 = new Durak("HalkEvi", DateTime.Now);
            Rota  _rota1  = new Rota("Rota1");

            _rota1.DurakEkle(_durak1);
            _rota1.DurakEkle(_durak2);

            Servis _servis1 = new Servis("41E7922", _rota1);

            Sofor _sofor1 = new Sofor("Metin", "Catak", 50, _servis1);

            Kullanici _kullanici1 = new Kullanici("Tunahan");
            Kullanici _kullanici2 = new Kullanici("Yagmur");

            _servis1.Attach(_kullanici1);
            _servis1.Attach(_kullanici2);

            //Yeni Rota
            Durak _durak3 = new Durak("Garajlar", DateTime.Now);
            Rota  _rota2  = new Rota("Rota2");

            _rota2.DurakEkle(_durak3);
            _rota2.DurakEkle(_durak2);

            _sofor1.RotaDegistir(_rota2);

            _sofor1.DurakZamanDegistir(_durak3, DateTime.Now);
        }
Exemplo n.º 3
0
        public GameView(Durak game, int id)
        {
            this.game = game;
            variation = game.variation;

            List <Player> players = game.GetPlayers();

            playerID = id;
            hand     = players[id].GetPlayersHand();

            if (prevDiscardedHeapValue != discardHeapSize)
            {
                discardHeapChanged = true;
            }
            prevDiscardedHeapValue = discardHeapSize;

            PlayerView        playerView;
            List <PlayerView> pViews = new List <PlayerView>();


            for (int i = 0; i < game.GetSizeOfPlayers(); i++)
            {
                playerView = new PlayerView();

                playerView.numberOfCards = players[i].GetNumberOfCards();
                playerView.isAttacking   = (attackingPlayer == i);
                playerView.playerState   = players[i].playerState;
                playerView.passport      = players[i].passport;

                if (players[i].playerState == PlayerState.Winner)
                {
                    passportGameOver = true;
                }

                if (variation == Variation.Passport && players[i].CheckIfAllCardsPassport())
                {
                    playerView.allCardsPassport = true;
                }

                pViews.Add(playerView);
            }
            playersView = pViews;

            trumpCard = deckSize == 0 ? new Card(game.GetTrumpCard().suit, (Rank)5)
                                       : game.GetTrumpCard();

            attackingCards = game.GetBoutInformation().GetAttackingCards();
            defendingCards = game.GetBoutInformation().GetDefendingCards();

            takingCards = game.GetPlayer(defendingPlayer).IsPlayerTaking();

            playerTurn = game.GetPlayersTurn();
            gameStatus = game.gameStatus;
        }
Exemplo n.º 4
0
 public PlayerView(Durak.Player _p)
 {
     InitializeComponent();
     _player = _p;
     foreach(Durak.objects.Card c in _player.Hand)
     {
         handVew.Controls.Add(new CardView(c));
     }
     _count = _p.Hand.Count;
     this.Paint += new PaintEventHandler(PlayerView_Paint);
 }
Exemplo n.º 5
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            int    deckSize    = 0;
            int    playerCount = 0;
            String playerName  = "";

            if (cbxPlayers.SelectedIndex != -1)
            {
                if (rbtn20.Checked)
                {
                    deckSize = 20;
                }
                else if (rbtn36.Checked)
                {
                    deckSize = 36;
                }
                else if (rbtn52.Checked)
                {
                    deckSize = 52;
                }

                Int32.TryParse(cbxPlayers.SelectedItem.ToString(), out playerCount);

                if (txtName.Text.Length > 0)
                {
                    Durak newGame = new Durak(deckSize);

                    //Creates an array of players. Can be between 2 and 7
                    Player[] players;

                    List <Player> playerList = new List <Player>();
                    playerName = txtName.Text;
                    playerList.Add(new Player(playerName));
                    for (int i = 0; i < playerCount - 1; i++)
                    {
                        playerList.Add(new Player("AI " + i));
                    }
                    //Sets each player in the arary.
                    players = playerList.ToArray();

                    //Setting the players. Must be done before starting the game.
                    newGame.SetPlayers(players);
                    //Close the main menu, and open the game window
                    this.Hide();
                    var gameWindow = new frmGameWindow();
                    gameWindow.Closed += (s, args) => this.Close();
                    gameWindow.Show();
                }
            }
        }
Exemplo n.º 6
0
            // Agaca bir dügüm eklemeyi saglayan metot
            public void insert(Durak newdata)
            {
                TreeNode newNode = new TreeNode();

                newNode.data = newdata;
                if (root == null)
                {
                    root = newNode;
                }

                else
                {
                    TreeNode current = root;
                    TreeNode parent;
                    while (true)
                    {
                        parent = current;
                        if (string.Compare(newdata.getDurakAdi(), current.data.getDurakAdi()) < 0)
                        {
                            current = current.leftChild;
                            if (current == null)
                            {
                                parent.leftChild = newNode;
                                return;
                            }
                        }
                        else
                        {
                            current = current.rightChild;
                            if (current == null)
                            {
                                parent.rightChild = newNode;
                                return;
                            }
                        }
                    } // end while
                }     // end else not root
                size++;
            }         // end insert()
Exemplo n.º 7
0
        public CardView(Durak.objects.Card c)
        {
            InitializeComponent();
            splitCard.SplitterDistance = 17;
            _card = c;
            _opened = false;
            this.BackColor = Color.Maroon;

            if (Convert.ToInt32(_card.Suit) == 0 || Convert.ToInt32(_card.Suit) == 3)
            {
                numberView.ForeColor = Color.Red;
            }
            if (_card.Number < 11)
            {
                numberView.Text = _card.Number.ToString();
            }
            else
            {
                string s = "";
                switch (_card.Number)
                {
                    case 11: s = "J"; break;
                    case 12: s = "Q"; break;
                    case 13: s = "K"; break;
                    case 14: s = "A"; break;
                }
                numberView.Text = s;
            }
            switch (Convert.ToInt32(_card.Suit))
            {
                case 0: pictureBox.BackgroundImage = PngSuits.spades_red; break;
                case 1: pictureBox.BackgroundImage = PngSuits.clubs_black; break;
                case 2: pictureBox.BackgroundImage = PngSuits.hearts_black; break;
                case 3: pictureBox.BackgroundImage = PngSuits.diamonds_red; break;
            }
            OpenCard();
            this.Click += new EventHandler(CardView_Click);
        }
Exemplo n.º 8
0
        private void duraklar()
        {
            XmlTextWriter yaz = new XmlTextWriter("Duraklar.xml", System.Text.UTF8Encoding.UTF8);

            yaz.Formatting = Formatting.Indented;
            yaz.WriteStartDocument();
            yaz.WriteStartElement("hepsi");

            foreach (string item in tmhatlar.Items)
            {
                string[] ayir = item.Split('*');

                IConnection connection;

                connection = NSoupClient.Connect("http://www.iett.istanbul/tr/main/hatlar/" + ayir[1]).UserAgent("Mozilla");

                connection.Timeout(600000);

                Document document = connection.Get();

                yaz.WriteStartElement("hatid");
                yaz.WriteAttributeString("h", ayir[1]);
                foreach (Element yon in document.Select("div.LineMapList ol"))
                {
                    int i = 1;
                    if (yon.Select("li").Count > 0)
                    {
                        yaz.WriteStartElement("yon");
                        string yn = "Geliş";
                        if (yon.Attr("data-station-direction") == "Going")
                        {
                            yn = "Gidiş";
                        }
                        yaz.WriteAttributeString("y", yn);
                    }
                    foreach (Element Durak in yon.Select("li"))
                    {
                        yaz.WriteStartElement("durak");
                        yaz.WriteAttributeString("durakno", i.ToString());
                        yaz.WriteAttributeString("lat", Durak.Attr("data-station-lat"));
                        yaz.WriteAttributeString("lng", Durak.Attr("data-station-lng"));
                        yaz.WriteAttributeString("isim", Durak.Attr("data-station-name"));

                        yaz.WriteEndElement();



                        i++;
                    }
                    if (yon.Select("li").Count > 0)
                    {
                        yaz.WriteEndElement();
                    }
                }
                yaz.WriteEndElement();
                durum++;
            }

            yaz.WriteEndElement();
            yaz.Close();
            MessageBox.Show("Duraklar XML kayit edildi.");
        }
Exemplo n.º 9
0
 public frmGameWindow(Durak game)
 {
 }
Exemplo n.º 10
0
 /// <summary>
 /// Belirtilen durağın sınırları dahilinde miyiz?
 /// </summary>
 /// <param name="sonrakiDurak"></param>
 /// <returns></returns>
 private bool YolcuAlabilirMi(Durak sonrakiDurak)
 {
     float otobusArkaNoktasi = KonumX-Otobus.Uzunluk;
     float durakArkaNoktasi = sonrakiDurak.KonumX-Durak.Uzunluk;
     return KonumX <= sonrakiDurak.KonumX+50 && ( otobusArkaNoktasi > durakArkaNoktasi );
 }
Exemplo n.º 11
0
        public void Update(GameTime gameTime)
        {
            if (sonDurak == null && Durak.duraklar.Count > 0) // duraklar oluşturulunca sondurağı tespit et.
                sonDurak = Durak.duraklar.OrderByDescending(d => d.KonumX).FirstOrDefault();

            if (!seyehatTamamlandi && Durak.duraklar.Count>0 && (sonDurak == null || KonumX > sonDurak.KonumX + 600))
            {
                seyehatTamamlandi = true;
                var sure = DateTime.Now.Subtract(seyehatBaslangicZamani);
                logger.Info(id + " seyehati tamamladı. Toplam gecen süre (dk):"+(sure.TotalMinutes*Ayar.Default.SimulasyonHizi));
            }

            var onumuzdekiOtobus = OndekiOtobusuGetir();
            Durak sonrakiDurak = SonrakiDurakGetir();
            bool otobusdenDolayiYavaslamali = false;
            bool duraktanDolayiYavaslamali = false;

            if (hiz > 0) // hareket halinde
            {
                if (onumuzdekiOtobus != null)
                {
                    var xPoint = onumuzdekiOtobus.KonumX - Otobus.Uzunluk;
                    var guvenliDurmaMesafesi = GuvenliDurusMesafesiHesapla(hiz);
                    if ((xPoint - KonumX) <= guvenliDurmaMesafesi)
                        otobusdenDolayiYavaslamali = true;
                }

                if (!otobusdenDolayiYavaslamali && sonrakiDurak != null)
                {
                    var xPoint = sonrakiDurak.KonumX;
                    var guvenliDurmaMesafesi = GuvenliDurusMesafesiHesapla(hiz);
                    duraktanDolayiYavaslamali = (xPoint - KonumX) <= guvenliDurmaMesafesi;
                }

                if (otobusdenDolayiYavaslamali || duraktanDolayiYavaslamali)
                {
                    HizAzalt(gameTime);
                }
                else
                {
                    HizArttır(gameTime);
                }
            }
            else // duruyor
            {
                if (sonrakiDurak != null && YolcuAlabilirMi(sonrakiDurak))
                {
                    if (durakZamanSayaci == 0)
                    {
                        // yolcu almaya başlıyoruz.
                        logger.Info("{0} {1} durağında yolcu almaya başlandı. Seyehat {2} saniye sürdü",id, sonrakiDurak.durakAdi, DateTime.Now.Subtract(hizlanmaBasi).TotalMilliseconds / 1000f * Ayar.Default.SimulasyonHizi);
                    }
                    // yolcu alma sürecince bekle.
                    durakZamanSayaci += gameTime.ElapsedGameTime.Milliseconds / 1000f;

                    if (durakZamanSayaci > durakBeklemeSuresiSn / SimulasyonHizi)
                    {
                        durakZamanSayaci = 0;
                        HizArttır(gameTime);
                        durdugumuzDuraklar.Add(sonrakiDurak);
                        hizlanmaBasi = DateTime.Now;
                        logger.Info("{0} {1} durağından hareket ediliyor.", id, sonrakiDurak.durakAdi);
                    }
                }
                else if (onumuzdekiOtobus != null && (onumuzdekiOtobus.KonumX - Otobus.Uzunluk - KonumX) > 1)
                {
                    HizArttır(gameTime);
                }
            }

            KonumGuncelle(gameTime);
        }