public async Task ShouldAddOrder() { // Arrange Given(DefaultPlayer); var orderId = Guid.NewGuid(); var rng = new Random(); var expectedPrice = rng.Next(); var expectedQuantity = rng.Next(); var expectedItemId = "iron-ore"; // Act await When(new OrderCreatedEvent(orderId, DefaultPlayer.Single()) { Price = expectedPrice, Quantity = expectedQuantity, ItemId = expectedItemId, OrderType = OrderType.Buy, }); // Assert using (var dbContext = GetInMemoryDatabase()) { Assert.NotEmpty(dbContext.Orders); var order = dbContext.Orders.Single(); Assert.Equal(orderId, order.OrderId); Assert.Equal(_playerId, order.OwnerId); Assert.Equal(OrderState.Active, order.State); Assert.Equal(expectedPrice, order.Price); Assert.Equal(expectedQuantity, order.Quantity); Assert.Equal(expectedItemId, order.ItemId); } }
public static DefaultPlayer CreatePlayer() { var random = new Random(); PlayerId++; DefaultPlayer newPlayer = null; switch (random.Next(1, 5)) { case 1: newPlayer = new CheaterPlayer(PlayerNameGenerator.GetNextPlayerName(), PlayerId); break; case 2: newPlayer = new MemoryPlayer(PlayerNameGenerator.GetNextPlayerName(), PlayerId); break; case 3: newPlayer = new RandomPlayer(PlayerNameGenerator.GetNextPlayerName(), PlayerId); break; case 4: newPlayer = new ThoroughCheaterPlayer(PlayerNameGenerator.GetNextPlayerName(), PlayerId); break; case 5: newPlayer = new ThoroughPlayer(PlayerNameGenerator.GetNextPlayerName(), PlayerId); break; } _playersList.Add(newPlayer); return(newPlayer); }
//private List<ObjectModel> players = new List<ObjectModel>(); void Awake() { this.gameObject.AddComponent<PlayerController>(); playerController = GetComponent<PlayerController>(); PlayerBehaviour player = new DefaultPlayer(); player.SetModel(ItemDatabase.GetItemByName("Aero").gameModel); Weapon weaponDefault = new AeroWeapon(); Bullet bullet = new PlazmaBullet(); bullet.SetModel(ItemDatabase.GetItemByName("plazmabullet").gameModel); bullet.SetType(BulletType.PLAYER); weaponDefault.SetWeaponBullet(bullet); //weaponDefault.SetWeaponBullet(ItemDatabase.GetItemByName("plazmabullet").gameModel); player.AddWeapon(weaponDefault); playerController.AddPlayer(player, false); UnityEngine.Cursor.visible = false; //SpawnPlayer //playerSpawn = new Vector3(0, -3, 0); //GameObject player = (GameObject)Instantiate(ItemDatabase.GetItemByName("Aero").gameModel, playerSpawn, ItemDatabase.GetItemByName("Aero").gameModel.transform.rotation) //player.AddComponent<AeroWeapon>(); //player.GetShipModel().AddComponent<AeroWeapon>(); //player.GetShipModel().GetComponent<AeroWeapon>().SetWeaponBullet(ItemDatabase.GetItemByName("PlazmaBullet")); Vector3 bottomLeft = Camera.main.ViewportToWorldPoint(new Vector3(0, 0, Camera.main.nearClipPlane)); Vector3 topRight = Camera.main.ViewportToWorldPoint(new Vector3(1, 1, Camera.main.nearClipPlane)); screenWidth = topRight.x - bottomLeft.x; screenHeight = topRight.y - bottomLeft.y; levelRows = File.ReadAllLines("Assets/Resources/LevelTexts/Level1.txt"); dbItems = ItemDatabase.GetItems(); //delay = Random.Range(minDelay, maxDelay) * Time.deltaTime; delay = spawnDelay * Time.deltaTime; }
private void initializeLives() { for (int i = 0; i < r_Player.Lives; i++) { Sprite currentPlayerShip = DefaultPlayer.ShallowClone(); this.Add(currentPlayerShip); } }
public async Task ShouldAddShipment() { // Arrange Given(DefaultPlayer, DefaultFactory); var shipmentId = Guid.NewGuid(); var expectedDestination = Guid.NewGuid().ToString(); var expectedCargo = new[] { new Cart { CartType = CartType.Cargo, Inventory = new[] { new LuaItemStack { Count = new Random().Next(), Name = Guid.NewGuid().ToString(), }, }, }, }; var expectedWaitConditions = new[] { new WaitCondition { CompareType = WaitConditionCompareType.And, Type = WaitConditionType.Empty, }, }; // Act await When(new ShipmentRequestedEvent(shipmentId, _factoryId, DefaultPlayer.Single()) { Carts = expectedCargo, WaitConditions = expectedWaitConditions, DestinationStation = expectedDestination, }); // Assert using (var dbContext = GetInMemoryDatabase()) { Assert.NotEmpty(dbContext.Shipments); var shipment = dbContext.Shipments .Include(s => s.Owner) .Include(s => s.Factory) .Single(); Assert.Equal(shipmentId, shipment.ShipmentId); Assert.Equal(_playerId, shipment.OwnerId); Assert.Equal(expectedDestination, shipment.DestinationStation); Assert.Equal(ShipmentState.Requested, shipment.State); Assert.NotNull(shipment.Owner); Assert.NotNull(shipment.Factory); Assert.Equal(JsonConvert.SerializeObject(expectedCargo), JsonConvert.SerializeObject(shipment.Carts)); Assert.Equal(JsonConvert.SerializeObject(expectedWaitConditions), JsonConvert.SerializeObject(shipment.WaitConditions)); } }
public async Task ShouldUpdateOrderWithFulfilled() { // Arrange Given(DefaultPlayer); var orderId = Guid.NewGuid(); // Act await When(new OrderCreatedEvent(orderId, DefaultPlayer.Single())); await When(new OrderFulfilledEvent(orderId, DefaultPlayer.Single())); // Assert using (var dbContext = GetInMemoryDatabase()) { Assert.NotEmpty(dbContext.Orders); var order = dbContext.Orders.Single(); Assert.Equal(OrderState.Fulfilled, order.State); } }
public async Task ShouldUpdateShipmentWithReceived() { // Arrange Given(DefaultPlayer, DefaultFactory); var shipmentId = Guid.NewGuid(); // Act await When(new ShipmentRequestedEvent(shipmentId, _factoryId, DefaultPlayer.Single())); await When(new ShipmentReceivedEvent(shipmentId, _factoryId, DefaultPlayer.Single())); // Assert using (var dbContext = GetInMemoryDatabase()) { Assert.NotEmpty(dbContext.Shipments); var shipment = dbContext.Shipments.Single(); Assert.Equal(ShipmentState.Received, shipment.State); } }
public override void Login() { var playersSO = GameFrameworkSettings.GameDatabase.GetGameData <PlayersSO>(Archetypes.GetFixed(Archetypes.Player)); var player = playersSO.Elements.FirstOrDefault((x) => x.Name == m_username); if (player == null) { player = new DefaultPlayer() { ID = playersSO.ElementsCount + 1, Name = m_username }; playersSO.Elements.Add(player); } m_id = player.ID.ToString(); m_resultCallback?.Invoke(); }
private async void OnNewGame(object sender, RoutedEventArgs e) { MyMenu.IsPaneOpen = false; await Task.Delay(500); try { if (_game != null) { if (_game.State != GameState.None) { if (await StaticHelpers.AskUserYesNoQuestion("Cribbage", "Start a new game?", "Yes", "No") == false) { return; } } _game = null; // what happens if we are in an await??? } await Reset(); _txtInstructions.Text = ""; var player = new InteractivePlayer(_cgDiscarded, _cgCrib, 0); var computer = new DefaultPlayer(0); computer.Init("-usedroptable"); _game = new Game(this, computer, player, 0); ((Button)sender).IsEnabled = true; await StartGame(GameState.Start); } catch { // eat this - user won't be able to do anythign anyway } finally { ((Button)sender).IsEnabled = true; } }
private void load(AudioManager audio) { DrawableRoom = new DrawableRoom(room, false, false, true, true, false, false); dependencies.Cache(DrawableRoom); Size = new Vector2(room.SizeX, room.SizeY) * DrawableTile.SIZE; Anchor = Anchor.Centre; Origin = Anchor.Centre; InternalChildren = new Drawable[] { DrawableRoom, CreateLayerBehindPlayer(), Player = new DefaultPlayer { Died = onDeath, Completed = onCompletion, Saved = onSave, }, new WaterRenderer(room), deathOverlay = new PlayerParticlesContainer(), roomEntering = new DrawableSample(audio.Samples.Get("room-entering")) }; }
public static void PauseThread(DefaultPlayer player, int factor) { Thread.Sleep(Math.Abs(player.GetCurrentNumber() - Basket.Weigth) * factor); }
public virtual void Start() { thisPlayer = GetComponent <DefaultPlayer>(); }
void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { MyPlayer.Close(); DefaultPlayer.Close(); }
private async void OnOpenGame(object sender, RoutedEventArgs e) { MyMenu.IsPaneOpen = false; if (_game != null) { if (_game.State != GameState.None) { if (await StaticHelpers.AskUserYesNoQuestion("Cribbage", "End this game and open an old one?", "yes", "no") == false) { return; } } } var openPicker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.DocumentsLibrary }; openPicker.FileTypeFilter.Add(".crib"); var file = await openPicker.PickSingleFileAsync(); if (file == null) { return; } await Reset(); _txtInstructions.Text = ""; var player = new InteractivePlayer(_cgDiscarded, _cgCrib, 0); var computer = new DefaultPlayer(0); computer.Init("-usedroptable"); _game = new Game(this, computer, player, 0); try { var contents = await FileIO.ReadTextAsync(file); var settings = await StaticHelpers.LoadSettingsFile(contents, file.Name); if (settings["Game"]["Version"] != "1.0") { await StaticHelpers.ShowErrorText($"Bad Version {settings["Game"]["Version"]}"); return; } _game.CurrentCount = int.Parse(settings["Game"]["CurrentCount"]); _game.Player.Score = int.Parse(settings["Game"]["PlayerBackScore"]); _game.AutoEnterScore = bool.Parse(settings["Game"]["AutoEnterScore"]); _board.AnimateScoreAsync(PlayerType.Player, _game.Player.Score); var scoreDelta = int.Parse(settings["Game"]["PlayerScoreDelta"]); _board.AnimateScoreAsync(PlayerType.Player, scoreDelta); _game.Player.Score += scoreDelta; _game.Computer.Score = int.Parse(settings["Game"]["ComputerBackScore"]); _board.AnimateScoreAsync(PlayerType.Computer, _game.Computer.Score); scoreDelta = int.Parse(settings["Game"]["ComputerScoreDelta"]); _board.AnimateScoreAsync(PlayerType.Computer, scoreDelta); _game.Computer.Score += scoreDelta; _game.Dealer = StaticHelpers.ParseEnum <PlayerType>(settings["Game"]["Dealer"]); _game.State = StaticHelpers.ParseEnum <GameState>(settings["Game"]["State"]); SetState(_game.State); await MoveCrib(_game.Dealer); var retTuple = LoadCardsIntoGrid(_cgComputer, settings["Cards"]["Computer"]); if (!retTuple.ret) { throw new Exception(retTuple.badToken); } retTuple = LoadCardsIntoGrid(_cgPlayer, settings["Cards"]["Player"]); if (!retTuple.ret) { throw new Exception(retTuple.badToken); } retTuple = LoadCardsIntoGrid(_cgDiscarded, settings["Cards"]["Counted"]); if (!retTuple.ret) { throw new Exception(retTuple.badToken); } var countedCards = new List <CardCtrl>(); var count = 0; foreach (var card in _cgDiscarded.Cards) { count += card.Value; if (count <= 31) { countedCards.Add(card); } else { foreach (var cc in countedCards) { cc.Counted = true; cc.Opacity = 0.8; } countedCards.Clear(); count = 0; } } retTuple = LoadCardsIntoGrid(_cgCrib, settings["Cards"]["Crib"]); if (!retTuple.ret) { throw new Exception(retTuple.badToken); } retTuple = LoadCardsIntoGrid(_cgDeck, settings["Cards"]["SharedCard"]); if (!retTuple.ret) { throw new Exception(retTuple.badToken); } var taskList = new List <Task>(); Task t = null; if ((int)_game.State > (int)GameState.GiveToCrib) { t = _cgDeck.Cards[0].SetOrientationTask(CardOrientation.FaceUp, 500, 0); taskList.Add(t); } foreach (var card in _cgPlayer.Cards) { t = card.SetOrientationTask(CardOrientation.FaceUp, 0, 0); taskList.Add(t); } foreach (var card in _cgDiscarded.Cards) { t = card.SetOrientationTask(CardOrientation.FaceUp, 0, 0); taskList.Add(t); } if ((int)_game.State >= (int)GameState.ScoreComputerHand) { foreach (var card in _cgComputer.Cards) { t = card.SetOrientationTask(CardOrientation.FaceUp, 0, 0); taskList.Add(t); } } await Task.WhenAll(taskList); await StartGame(_game.State); } catch (Exception ex) { await StaticHelpers.ShowErrorText( $"Error loading file {file.Name}\n\nYou should delete the file.\n\nTechnical details:\n{ex}"); } }
public void AddPlayer(DefaultPlayer element) { var scriptable = GetScriptable <PlayersSO>(Archetypes.GetFixed(Archetypes.Player)); scriptable.Add(element); }
public ShoutMessage(string message, DefaultPlayer sender) : base(message, sender) { }