示例#1
0
        private void NewGame()
        {
            var randomSeed         = new Random().Next();
            var tetrominoGenerator =
                new PeekableTetrominoGenerator(
                    new RandomBagTetrominoGenerator(randomSeed));
            var game = new Game.Game(FieldWidth, FieldHeight,
                                     tetrominoGenerator);

            screenView.Game             = game;
            screenView.GetNextTetromino = tetrominoGenerator.Peek;

            var gameController = new GameController(game, scheduler);

            gameController.Update   += screenView.Invalidate;
            gameController.GameOver += HandleGameOver;

            var keyboard = new Keyboard(gameController, scheduler);

            keyMap = new Dictionary <Keys, Key>();
            Bind(Keys.Up, rotateButton, keyboard.Rotate);
            Bind(Keys.Left, shiftLeftButton, keyboard.ShiftLeft);
            Bind(Keys.Right, shiftRightButton, keyboard.ShiftRight);
            Bind(Keys.Down, softDropButton, keyboard.SoftDrop);
            Bind(Keys.Space, hardDropButton, keyboard.HardDrop);

            var levelUpKey = new Key();

            keyMap[Keys.U]       = levelUpKey;
            levelUpKey.KeyPress += gameController.HandleForceLevelUp;

            Invalidate(true);
        }
示例#2
0
 static void Main(string[] args)
 {
     using (var game = new Game("Lighting thing", 800, 600))
     {
         game.Run();
     }
 }
示例#3
0
        public void goldTests()
        {
            var myGame = new Game.Game();
            var village = myGame.Villages[0];
            var families = village.FamiliesList;
            var family1 = families[0];
            var family2 = families[1];

            village.CalculateVillageGold();
            Assert.That(village.Gold, Is.EqualTo(100));

            // Less gold
            family1.TakeFromGoldStash(10);
            village.CalculateVillageGold();
            Assert.That(village.Gold, Is.EqualTo(90));

            // More gold
            family1.AddToGoldStash(10);
            village.CalculateVillageGold();
            Assert.That(village.Gold, Is.EqualTo(100));

            // No gold
            int i;
            for(i=0; i<families.Count; i++) families[i].TakeFromGoldStash(20);

            village.CalculateVillageGold();
            Assert.That(village.Gold, Is.EqualTo(0));

            // Negative gold -> 0
            family1.TakeFromGoldStash(1);
            Assert.That(family1.GoldStash, Is.EqualTo(0));
            village.CalculateVillageGold();
            Assert.That(village.Gold, Is.EqualTo(0));
        }
示例#4
0
        public void EngagementTest()
        {
            var MyGame = new Game.Game();
            var village = MyGame.Villages[0];
            Family family1 = MyGame.Villages[0].FamiliesList[0];
            Villager motherf1 = family1.Mother;
            Villager fatherf1 = family1.Father;

            Family family2 = MyGame.Villages[0].FamiliesList[1];
            Villager motherf2 = family2.Mother;
            Villager fatherf2 = family2.Father;

            Assert.That(family1.OwnerVillage != null, "family1.OwnerVillage is Null");
            Assert.That(family1.OwnerVillage.Game != null, "family1.OwnerVillage.Game is Null");

            Villager kidf1;
            do
            {
                kidf1 = family1.NewFamilyMember();
            } while (kidf1.Gender != Genders.MALE);

            Villager kidf2;
            do
            {
                kidf2 = family2.NewFamilyMember();
            } while (kidf1.Gender == kidf2.Gender);

            Assert.That(kidf1.StatusInFamily == Status.ENGAGED);
            Assert.That(kidf2.StatusInFamily == Status.ENGAGED);
        }
示例#5
0
 static void Main()
 {
     using (Game game = new Game())
       {
     game.Run();
       }
 }
示例#6
0
 public Cooker(Game game, JobList list, string name)
     : base(game, list, name)
 {
     _job = Jobs.COOKER;
     _coefficient = 13;
     HappinessToAdd = 1.3;
 }
示例#7
0
 public Construction_Worker(Game game, JobList list, string name)
     : base(game,list, name)
 {
     ToRepair = new List<Buildings.BuildingsModel>();
     _job = Jobs.CONSTRUCTION_WORKER;
     _coefficient = 10;
 }
 public void IsGame_forvartest_true()
 {
     Game testGame1 = new Game("r");
       Game testGame2 = new Game("p");
       var result = Game.RockPaperScissors();
       Assert.Equal("draw", result);
 }
示例#9
0
        // Use this for initialization
        override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
        {
            UIManager.Instance.ClearUI();


            UIManager.Instance.GetUIComponent("GameVisualInfoPanel").gameObject.SetActive(true);



            Game.Game game = GameManager.Instance.Game;
            game.StartCoroutine(
                game.CountDown());
            animator.SetTrigger("NextSubState");

            //Game.GameManager.Instance.Game.Player.SetActive(true);

            //game.Player.transform.Find("Car_Body").GetComponent<Renderer>().enabled = true;

            //foreach (Renderer wheel_renderer in game.Player.transform.Find("Car_Body").Find("wheels").GetComponentsInChildren<Renderer>())
            //{
            //    wheel_renderer.enabled = true;
            //}


            Game.GameManager.Instance.Game.Player
            .GetComponent <BridgeEngine.Input.CarControllerInput>()
            .SetAnimationBool("isDriverEjected", false);

            Game.GameManager.Instance.Game.Player
            .GetComponent <BridgeEngine.Input.CarControllerInput>()
            .m_CarVisibility.SetActive(true);
        }
示例#10
0
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 /// 
 static void Main(string[] args)
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Game g = new Game();
     g.Run();
 }
示例#11
0
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main(string[] args)
 {
     using (Game game = new Game())
     {
         game.Run();
     }
 }
示例#12
0
        public void TestChangingActivity()
        {
            var MyGame = new Game.Game();
            var village = MyGame.Villages[0];
            Family family = village.FamiliesList[0];
            Villager mother = family.Mother;
            Villager father = family.Father;
            Family family2 = village.FamiliesList[1];
            Villager mother2 = family2.Mother;
            Villager father2 = family2.Father;
            var meeting = new Meeting(family2);

            meeting.Convocate();

            Assert.That(mother2.ActivityStatus == ActivityStatus.CONVOCATED);
            Assert.That(father2.ActivityStatus == ActivityStatus.CONVOCATED);
            var meeting2 = new Meeting(family);
            meeting2.Convocate();

            Assert.That((mother2.ActivityStatus & ActivityStatus.CONVOCATED) == 0);
            Assert.That((father2.ActivityStatus & ActivityStatus.CONVOCATED) == 0);

            Assert.That(mother.ActivityStatus == ActivityStatus.CONVOCATED);
            Assert.That(father.ActivityStatus == ActivityStatus.CONVOCATED);
        }
示例#13
0
 static void AddNewPlayers(int gamersNum, Game.Game game)
 {
     for (int i = 1; i <= gamersNum; i++)
     {
         game.AddNewGamer((GamerTypesEnum)(GetInt($"Input type {i} player: ", 0, 4)), "Gamer" + i, random.Next(20, 65));
     }
 }
示例#14
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
 public void TenthFrame_WithoutSpareOrStrike()
 {
     Game.Game game = new Game.Game();
     Adder(21, 1, game);
     //Assert.Equal(20, game.Score());
     Assert.NotEqual(21, game.Score());
 }
示例#15
0
        public void FamilyName()
        {
            var myGame = new Game.Game();
            var village = myGame.Villages[0];
            var families = village.FamiliesList;

            // Check families ever created
            for (int i = 1; i < 5; i++)
            {
                Assert.That(families[i].Name, Is.Not.Empty);
                if (i == 0)
                    Assert.That(families[i].Name, Is.Not.EqualTo(families[i - 1].Name));
                else
                {
                    for (int j = 0; j < 5; j++)
                    {
                        if (j != i)
                            Assert.That(families[i].Name, Is.Not.EqualTo(families[j].Name));
                    }
                }
            }

            // Add new family
            village.CreateFamilyFromScratch();
            for (int i = 0; i < 5; i++)
            {
                Assert.That(families[5].Name, Is.Not.EqualTo(families[i].Name));
            }
        }
示例#16
0
 public Miller(Game game, JobList list, string name)
     : base(game, list, name)
 {
     _job = Jobs.MILLER;
     _coefficient = 13;
     _happinessAddition = 1;
 }
示例#17
0
        public void faithTests()
        {
            var myGame = new Game.Game();
            var village = myGame.Villages[0];
            var families = village.FamiliesList;
            var m1 = families[0].FamilyMembers[0];
            var m2 = families[1].FamilyMembers[0];
            var f1 = families[0].FamilyMembers[1];
            var f2 = families[1].FamilyMembers[1];

            village.CalculateAverageVillageFaith();
            Assert.That(village.Faith, Is.EqualTo(100));
            // Less faith
            m1.AddOrRemoveFaith(-50); // family1 = 75% family2 = 100%
            village.CalculateAverageVillageFaith();
            Assert.That(village.Faith, Is.EqualTo(95));
            // More faith
            m1.AddOrRemoveFaith(50); // family1 = family2 = 100%
            village.CalculateAverageVillageFaith();
            Assert.That(village.Faith, Is.EqualTo(100));
            // No faith
            m1.AddOrRemoveFaith(-100);
            m2.AddOrRemoveFaith(-100);
            f1.AddOrRemoveFaith(-100);
            f2.AddOrRemoveFaith(-100);
            families[2].FamilyMembers[0].AddOrRemoveFaith(-100);
            families[2].FamilyMembers[1].AddOrRemoveFaith(-100);
            families[3].FamilyMembers[0].AddOrRemoveFaith(-100);
            families[3].FamilyMembers[1].AddOrRemoveFaith(-100);
            families[4].FamilyMembers[0].AddOrRemoveFaith(-100);
            families[4].FamilyMembers[1].AddOrRemoveFaith(-100);

            village.CalculateAverageVillageFaith();
            Assert.That(village.Faith, Is.EqualTo(0));
        }
示例#18
0
 internal UpgradesModel(Game g, Village v)
     : base(g)
 {
     _isActivated = new HistorizedValue<bool, UpgradesModel>(this, "IsActivated", 5);
     _owner = v;
     IsActivated = false;
 }
示例#19
0
 public Tailor(Game game, JobList list, string name)
     : base(game, list, name)
 {
     _job = Jobs.TAILOR;
     _coefficient = 15;
     _happinessAddition = 1.4;
 }
示例#20
0
 public Form1()
 {
     InitializeComponent();
     game = new Game(new Rectangle(78, 57,420,155));
     game.NewLevel(random);
     UpdateCharacters();
 }
示例#21
0
 public static void Save(Game g)
 {
     IFormatter formatter = new BinaryFormatter();
     Stream stream = new FileStream("SAVED.bin", FileMode.Create, FileAccess.Write, FileShare.None);
     formatter.Serialize(stream, g);
     stream.Close();
 }
示例#22
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
 private void Adder(int count, int pins, Game.Game obj)
 {
     for (int i = 0; i < count; i++)
     {
         obj.Roll(pins);
     }
 }
示例#23
0
 static void Main(string[] args)
 {
     try
     {
         String path = @"F:\2 курс гргу КБ\ЯП\Solutions\lab02_Csharp\Task\DictionarySorted.txt";
         Console.Write("Minimum length: ");
         uint minLen = uint.Parse(Console.ReadLine());
         Console.Write("Maximum length: ");
         uint maxLen = uint.Parse(Console.ReadLine());
         Game game = new Game(path, minLen, maxLen);
         String curWord = game.GetCurrentWord;
         Console.WriteLine(curWord);
         while (!game.isEnd())
         {
             Console.WriteLine(/*"Current word: " +*/ curWord);
             Console.WriteLine("Player1. HP: " + game.GetPlayerHP(0) + " Score: " + game.GetPlayerScore(0));
             Console.WriteLine("Player2. HP: " + game.GetPlayerHP(1) + " Score: " + game.GetPlayerScore(1));
             Console.Write("Player" + (game.GetCurPlayer() + 1) + ". Enter: ");
             String word = Console.ReadLine(); word = word.ToUpper();
             game.NextGameStep(word);
         }
         Console.WriteLine(game.Winner());
     }
     catch (Exception ex)
     {
         Console.WriteLine("ERROR: " + ex.Message);
     }
 }
示例#24
0
        public void Fiance()
        {
            var MyGame = new Game.Game();
            Family family1 = MyGame.Villages[0].CreateFamilyFromScratch();
            Family family2 = MyGame.Villages[0].CreateFamilyFromScratch();
            Villager girlf1;

            do
            {
                girlf1 = family1.NewFamilyMember();
            } while (girlf1.Gender != Genders.FEMALE);

            Assert.That(girlf1.StatusInFamily == Status.SINGLE);
            Villager guy1f2;

            do
            {
                guy1f2 = family1.NewFamilyMember();
            } while (guy1f2.Gender != Genders.MALE);

            Villager guy2f2;

            do
            {
                guy2f2 = family1.NewFamilyMember();
            } while (guy2f2.Gender != Genders.MALE);

            Assert.That(girlf1.StatusInFamily == Status.SINGLE);

            girlf1.Engage(guy1f2);//hmmm accessibility?
            Assert.That(girlf1.StatusInFamily == Status.ENGAGED);
            Assert.That(!MyGame.SingleMen.Contains(guy1f2));

            guy1f2.Kill();
                //guy1f2.DieOrIsAlive();
                MyGame.NextStep();//
                MyGame.NextStep();
                MyGame.NextStep();
            Assert.That(girlf1.StatusInFamily == Status.SINGLE, "is not single!");
            Assert.Throws<InvalidOperationException>(() => girlf1.GetFiance(), "is single");

            girlf1.Engage(guy2f2);
            Assert.That(girlf1.StatusInFamily == Status.ENGAGED);
            Assert.That(girlf1.GetFiance() == guy2f2);

            Assert.That(guy2f2.StatusInFamily == Status.ENGAGED);
            Assert.That(girlf1.GetFiance() == guy2f2);
            Assert.That(guy2f2.GetFiance() == girlf1);

            guy2f2.Kill();
                 //guy2f2.DieOrIsAlive();
                 MyGame.NextStep();

            Assert.That(girlf1.StatusInFamily == Status.SINGLE);
            Assert.Throws<InvalidOperationException>(() => girlf1.GetFiance(), "fiance is single");

            Assert.That(!MyGame.SingleMen.Contains(guy1f2));
            Assert.That(!MyGame.SingleMen.Contains(guy2f2));
        }
示例#25
0
 public Level3(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g,v)
 {
     CostPrice = 800;
     IsActivated = false;
     _selected = _jobs.Cooker;
     _owner = v;
 }
示例#26
0
 public GameService()
 {
     _game = new Game.Game();
     _game.PlayerWon += OnPlayerWon;
     _game.PlayerTurnChanged += OnPlayerTurnChanged;
     _game.PlayerHandChanged += OnPlayerHandChanged;
     _game.PlayerSelectedTile += OnPlayerSelectedTile;
 }
示例#27
0
 internal Pulley(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g, v)
 {
     CostPrice = 200;
     IsActivated = false;
     _selected = _jobs.Construction_Worker;
     _owner = v;
 }
示例#28
0
 public Fertilizer(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g, v)
 {
     CostPrice = 1000;
     IsActivated = false;
     _selected = _jobs.Farmer;
     _owner = v;
 }
示例#29
0
 internal Whitewash(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g, v)
 {
     CostPrice = 100;
     IsActivated = false;
     _selected = _jobs.Cooker;
     _owner = v;
 }
示例#30
0
 internal void Destroy()
 {
     Debug.Assert(_game != null, "Destroy must be called only once.");
     OnDestroy();
     _game.GameItemDestroyed(this);
     Debug.Assert(!_game._items.Contains(this), "(Destroy) the item was not removed from the gameitemlist");
      _game = null;
 }
示例#31
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
        public void IndexOutOfRangeException_MoreThan10Frames()
        {
            Game.Game game = new Game.Game();
            Adder(21, 1, game);
            Action act = () => game.Roll(1);

            Assert.Throws <IndexOutOfRangeException>(act);
        }
示例#32
0
 public Scarecrow(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g, v)
 {
     CostPrice = 500;
     IsActivated = false;
     _selected = _jobs.Farmer;
     _owner = v;
 }
示例#33
0
        private void DeleteClick(object sender, RoutedEventArgs e)
        {
            Game.Game m = new Game.Game();
            m.Id = int.Parse(txtId.Text);

            NGame.NGame n = new NGame.NGame();
            n.Delete(m);
        }
示例#34
0
文件: Saw.cs 项目: EmilieS/Gleipnir
 internal Saw(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g, v)
 {
     CostPrice = 600;
     IsActivated = false;
     _selected = _jobs.Blacksmith;
     _owner = v;
 }
示例#35
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
 public void TenthFrame_Spare()
 {
     Game.Game game = new Game.Game();
     Adder(18, 0, game);
     game.Roll(2);
     game.Roll(8);
     game.Roll(6);
     Assert.Equal(16, game.Score());
 }
示例#36
0
 public PlayForm()
 {
     InitializeComponent();
     labels = new Label[][] { new Label[] {label1, label2, label3},
         new Label [] {label4, label5, label6},
         new Label [] {label7, label8, label9}};
     Game = new Game(labels);
     Game.reset();
 }
示例#37
0
文件: Plow.cs 项目: EmilieS/Gleipnir
 public Plow(Game g, Village v, UpgradesList _listOfUpgrades, JobList _jobs)
     : base(g,v)
 {
     CostPrice = 1000;
     IsActivated = false;
     _selected = _jobs.Blacksmith;
     _owner = v;
     _jobsList = _jobs;
 }
示例#38
0
 public GameTests()
 {
     _playersHands = new ConcurrentDictionary<int, List<int>>();
     _game = new Game.Game();
     _game.PlayerTurnChanged += OnPlayerTurnChanged;
     _game.PlayerHandChanged += OnPlayerHandChanged;
     _game.PlayerWon += OnPlayerWon;
     _game.PlayerSelectedTile += OnPlayerSelectedTile;
 }
        private static void GetInitialParametrsFromXML(Game.Game szemerediGame, Parameters parameters)
        {
            szemerediGame.Lower = parameters.Lower;

            szemerediGame.Upper = parameters.Upper;

            szemerediGame.SetCount = parameters.SetCount;

            szemerediGame.SequenceLength = parameters.SequenceLength;
        }
示例#40
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
 public void CheckForStrike()
 {
     Game.Game game = new Game.Game();
     game.Roll(10);
     game.Roll(2);
     game.Roll(4);
     game.Roll(1);
     Adder(16, 0, game);
     Assert.Equal(23, game.Score());
 }
示例#41
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
 public void CheckForSpare()
 {
     Game.Game game = new Game.Game();
     game.Roll(3);
     game.Roll(7);
     game.Roll(2);
     game.Roll(5);
     Adder(16, 0, game);
     Assert.Equal(19, game.Score());
 }
示例#42
0
文件: UnitTest1.cs 项目: AnnZh/HiQo
        public void ArgumentException_moreThan10(int pins)
        {
            Game.Game game = new Game.Game();
            Action    act  = () => game.Roll(pins);

            Assert.Throws <ArgumentException>(act);

            /*for (int i = 0; i < 20; i++)
             *  game.Roll(11);
             * Assert.Equal(0, game.Score());*/
        }
示例#43
0
        private void UpdateClick(object sender, RoutedEventArgs e)
        {
            Game.Game m = new Game.Game();
            m.Nome       = txtNome.Text;
            m.Estrelas   = int.Parse(txtEstr.Text);
            m.DataCompra = DateTime.Parse(txtDC.Text);
            m.Fabricante = txtFab.Text;

            NGame.NGame n = new NGame.NGame();
            n.Update(m);
        }
示例#44
0
        private void button3_Click(object sender, EventArgs e)
        {
            //MessageBox.Show(@"This button is supposed to launch your program."
            //+ " It will only be enabled for VIP accounts with an active subscription,"
            //+ " or Trial accounts which didn't expire, either.");

            if (rank != "Expired" && expirydate != "Expired")
            {
                Game.Game Game = new Game.Game();
                Game.ShowDialog();
            }
        }
示例#45
0
 private void grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (grid.SelectedItem != null)
     {
         Game.Game c = grid.SelectedItem as Game.Game;
         txtId.Text   = c.Id.ToString();
         txtNome.Text = c.Nome;
         txtFab.Text  = c.Fabricante;
         txtDC.Text   = c.DataCompra.ToString("dd/MM/yyyy");
         txtEstr.Text = c.Estrelas.ToString();
     }
 }
示例#46
0
        static void Main(string[] args)
        {
            int gamersNum = GetInt("Input number of players: ", 2, 8);       // get number of players

            Game.Game game = new Game.Game(gamersNum, random.Next(40, 141)); // create new game

            AddNewPlayers(gamersNum, game);                                  // add players to game

            PrintWinners(game.StartPlay());                                  // play and print winners

            Console.ReadKey();
        }
        private static void GetInitialParametrs(Game.Game SzemerediGame)
        {
            Console.WriteLine("Initialize game\n");

            bool proceed = false;

            do
            {
                Console.Write("Lower limit: ");
                proceed = int.TryParse(Console.ReadLine(), out SzemerediGame.Lower);
                if (!proceed || SzemerediGame.Lower < 0)
                {
                    Console.WriteLine("Lower limit must be a  non-negative integer!");
                    proceed = false;
                }
            } while (!proceed);

            do
            {
                Console.Write("Upper limit: ");
                proceed = int.TryParse(Console.ReadLine(), out SzemerediGame.Upper);
                if (!proceed || SzemerediGame.Upper < SzemerediGame.Lower)
                {
                    Console.WriteLine("Upper limit must be a  non-negative integer greater than lower limit!");
                    proceed = false;
                }
            } while (!proceed);


            do
            {
                Console.Write("Cardinality of set: ");
                proceed = int.TryParse(Console.ReadLine(), out SzemerediGame.SetCount);
                if (!proceed || SzemerediGame.SetCount > SzemerediGame.Upper - SzemerediGame.Lower + 1 || SzemerediGame.SetCount <= 1)
                {
                    Console.WriteLine("Cardinality of set must be greater than  1 and smaller than (upper limit) - (lower limit) + 1!");
                    proceed = false;
                }
            } while (!proceed);

            do
            {
                Console.Write("Length of arithmetic sequence: ");
                proceed = int.TryParse(Console.ReadLine(), out SzemerediGame.SequenceLength);
                if (!proceed || SzemerediGame.SetCount < SzemerediGame.SequenceLength || SzemerediGame.SequenceLength <= 1)
                {
                    Console.WriteLine("Length of arithmetic sequence must be greater than 1 i smaller than generated set cardinality");
                    proceed = false;
                }
            } while (!proceed);
        }
示例#48
0
 public void Update(Game.Game g)
 {
     lg = p.Open();
     foreach (Game.Game v in lg)
     {
         if (g.Id == v.Id)
         {
             lg.RemoveAt(lg.IndexOf(v));
             break;
         }
     }
     lg.Add(g);
     p.Save(lg);
 }
示例#49
0
 public void Delete(Game.Game g)
 {
     lg = p.Open();
     Game.Game y = new Game.Game();
     foreach (Game.Game x in lg)
     {
         if (x.Id == g.Id)
         {
             y = x;
         }
     }
     lg.RemoveAt(lg.IndexOf(y));
     p.Save(lg);
 }
示例#50
0
 void Init()
 {
     if (game != null)
     {
         game.OnGameOver -= GameOver;
         game.OnWinGame  -= Win;
     }
     game                        = new Game.Game(5, 5, gameSpeed, new Size(pictureBox1.Width, pictureBox1.Height));
     controller                  = new UserController(game, this);
     game.OnGameOver            += GameOver;
     game.OnWinGame             += Win;
     pictureBox1.BackgroundImage = Game.Game.background;
     lasttime                    = DateTime.Now;
     timer1.Enabled              = true;
 }
示例#51
0
        public MainWindow()
        {
            CommandTerminal        = new CommandTerminal.CommandTerminal();
            TheWitcher3            = new Game.Game("The Witcher 3");
            DeusEx                 = new Game.Game("Deus Ex");
            CrazyCatLadyAdventure7 = new Game.Game("Crazy Cat Lady Adventure 7");
            Mediator               = new Mediator.Mediator();
            SelectedGame           = TheWitcher3;

            InitializeComponent();

            Buttons = new List <Button>()
            {
                BuyButton, InstallButton, PlayButton, StopButton, UninstallButton
            };
        }
示例#52
0
        private void GlControl1_ContextCreated(object sender, GlControlEventArgs e)
        {
            game = new Game.Game();
            game.World.DebugEvents.EntityAdded   += DebugEvents_EntityAdded;
            game.World.DebugEvents.EntityRemoved += DebugEvents_EntityRemoved;

            game.Init();
            renderer  = game.World.GetDependency <Renderer>();
            keyBinds  = GetKeyBindings();
            stopwatch = new Stopwatch();

            timescaleInput.ValidatingType = typeof(float);
            timestepInput.ValidatingType  = typeof(float);
            Gl.Enable(EnableCap.Blend);
            Gl.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
            previousTime = stopwatch.Elapsed.TotalSeconds;
        }
示例#53
0
        /// <summary>
        /// Create a game interface from a given game
        /// </summary>
        /// <param name="Game">Game object that is being played</param>
        public GameState(Game.Game Game, Microsoft.Xna.Framework.Game MonogameGame)
        {
            this.G = Game;

            this.G.TellStory = ShowStory;

            MapTileSprites       = AppContentManager.Load <Texture2D>("MapTiles");
            PCSprites            = AppContentManager.Load <Texture2D>("CharacterSprites");
            MomentumSprite       = AppContentManager.Load <Texture2D>("UiElements/MomentumMarker");
            SpentMomentumSprite  = AppContentManager.Load <Texture2D>("UiElements/SpentMomentumMarker");
            HpSprite             = AppContentManager.Load <Texture2D>("UiElements/HpMarker");
            MovementArrowsSprite = AppContentManager.Load <Texture2D>("UiElements/Arrows");
            MonsterDetailsFont   = AppContentManager.Load <SpriteFont>("UiElements/MonsterDisplay");
            StateFont            = AppContentManager.Load <SpriteFont>("UiElements/TurnState");

            arrowWidth  = MovementArrowsSprite.Width / 9;
            arrowHeight = MovementArrowsSprite.Height / 3;

            minimap           = new Minimap(Game, MonogameGame);
            minimap.showCrime = true;

            gui.Screen = new GuiScreen();

            storyWindow = new GuiWindowControl()
            {
                Name   = "StoryWindow",
                Bounds = new UniRectangle(new UniVector(new UniScalar(190), new UniScalar(200)), new UniVector(new UniScalar(900), new UniScalar(200))),
            };

            storyText = new GuiLabelControl()
            {
                Name   = "StoryText",
                Bounds = new UniRectangle(new UniVector(new UniScalar(10), new UniScalar(0)), new UniVector(new UniScalar(500), new UniScalar(120))),
            };
            storyWindow.Children.Add(storyText);

            storyButton = new GuiButtonControl()
            {
                Bounds = new UniRectangle(new UniVector(new UniScalar(375), new UniScalar(120)), new UniVector(new UniScalar(150), new UniScalar(70))),
                Text   = "Continue"
            };
            storyWindow.Children.Add(storyButton);
            storyButton.Pressed += StoryButton_Pressed;

            G.StartGame();
        }
示例#54
0
        public void GetByIndex_ShouldGetRiddle()
        {
            RiddleRepository repo     = new RiddleRepository();
            List <int>       usedList = new List <int>();
            Riddle           riddle   = new Riddle("keyword", "description");

            repo.AddToRiddles(riddle);

            Game.Game newGame = new Game.Game();

            Riddle getRiddle = newGame.GetRiddle(repo, usedList);

            string actualDescription   = getRiddle.Description;
            string expectedDescription = "description";

            string actualKeyword   = getRiddle.Keyword;
            string expectedKeyword = "keyword";

            Assert.AreEqual(expectedDescription, actualDescription);
            Assert.AreEqual(expectedKeyword, actualKeyword);
        }
示例#55
0
        public DeadState(Game.Game g)
        {
            this.g = g;

            gui.Screen = new GuiScreen();
            gui.Initialize();

            btnTitle = new GuiButtonControl
            {
                Name   = "Return to title",
                Bounds = new UniRectangle(new UniVector(new UniScalar(490), new UniScalar(600)), new UniVector(new UniScalar(300), new UniScalar(70))),
                Text   = "Return to title"
            };
            btnTitle.Pressed += BtnTitle_Pressed;
            gui.Screen.Desktop.Children.Add(btnTitle);

            if (g.DeadZulu)
            {
                background = AppContentManager.Load <Texture2D>("Title/Victory");
                DeathText  = $@"Zulu has fallen, and the denizens of New London are at peace once more.

You slayed {g.DeadLackeys} of Zulu's lackeys.
You slayed {g.DeadKnifes} of Zulu's cutters.
You slayed {g.DeadBrutes} of Zulu's brutes.
Zulu has been slain.";
            }
            else
            {
                background = AppContentManager.Load <Texture2D>("Title/Gameover");
                DeathText  = $@"Your vegeance was not satisfied.
The city of New London remains under the criminal guard of Zulu.

You slayed {g.DeadLackeys} of Zulu's lackeys.
You slayed {g.DeadKnifes} of Zulu's cutters.
You slayed {g.DeadBrutes} of Zulu's brutes.
Zulu remains alive.";
            }

            DeathFont = AppContentManager.Load <SpriteFont>("GameOverFont");
        }
示例#56
0
        private void Run()
        {
            var randomSeed         = new Random().Next();
            var tetrominoGenerator =
                new RandomBagTetrominoGenerator(randomSeed);

            game = new Game.Game(FieldWidth, FieldHeight,
                                 tetrominoGenerator);

            var scheduler      = new SleepingScheduler(FramesPerSecond);
            var gameController = new GameController(game, scheduler);

            gameController.Update   += RequestRender;
            gameController.GameOver += scheduler.Stop;

            var keyboard = new Keyboard(gameController, scheduler);

            keyMap = new Dictionary <ConsoleKey, Key>
            {
                [ConsoleKey.UpArrow]    = keyboard.Rotate,
                [ConsoleKey.LeftArrow]  = keyboard.ShiftLeft,
                [ConsoleKey.RightArrow] = keyboard.ShiftRight,
                [ConsoleKey.DownArrow]  = keyboard.SoftDrop,
                [ConsoleKey.Spacebar]   = keyboard.HardDrop,
                [ConsoleKey.W]          = keyboard.Rotate,
                [ConsoleKey.A]          = keyboard.ShiftLeft,
                [ConsoleKey.D]          = keyboard.ShiftRight,
                [ConsoleKey.S]          = keyboard.SoftDrop
            };

            scheduler.SetInterval(1, HandleInput);
            scheduler.SetInterval(1, MaybeRender);

            Console.Clear();
            RequestRender();
            scheduler.Run();
            Console.WriteLine(Pad("Game Over"));
            Console.WriteLine();
        }
示例#57
0
        public void StartMatch(Client a, Client b)
        {
            Console.WriteLine("StartMatch({0}, {1})", a.name, b.name);
            a.symbol = Symbol.Circle;
            b.symbol = Symbol.Cross;

            Client[] players = new Client[2];

            if (random.NextDouble() < 0.5)
            {
                players[0] = a;
                players[1] = b;
            }
            else
            {
                players[0] = b;
                players[1] = a;
            }

            Console.WriteLine("First player is: ({0})", players[0].name);

            Console.WriteLine("Sending startMatch to player {0}", a.name);
            bool sentOk = Message.Util.Send(a.client.GetStream(), new Message.StartMatch((int)a.symbol, Array.IndexOf(players, a)));

            Console.WriteLine("send result? {0}", sentOk);

            Console.WriteLine("Sending startMatch to player {0}", b.name);
            sentOk = Message.Util.Send(b.client.GetStream(), new Message.StartMatch((int)b.symbol, Array.IndexOf(players, b)));
            Console.WriteLine("send result? {0}", sentOk);


            Game.Game newMatch = new Game.Game(players);

            Game.Result matchResult = newMatch.Play();
            GameOver(matchResult, a, b);
        }
示例#58
0
 private void W_DoWork(object sender, DoWorkEventArgs e)
 {
     g = new Game.Game(AppContentManager, w.ReportProgress);
 }
示例#59
0
 public UserController(Game.Game game, Form form)
 {
     this.game     = game;
     form.KeyDown += KeyDown;
     form.KeyUp   += KeyUp;
 }
示例#60
0
 public void Insert(Game.Game g)
 {
     lg = p.Open();
     lg.Add(g);
     p.Save(lg);
 }