Beispiel #1
0
        public bool CreateRoadblock(RoadblockCreate model)
        {
            var entity = new Roadblock()
            {
                OwnerId       = _ownerId,
                RoadblockName = model.RoadblockName,
                IsComplete    = model.IsComplete,
                Plan          = model.Plan,
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Roadblocks.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
Beispiel #2
0
 // done
 internal void DecideWhereToPutRoadblock(GameState g, Roadblock roadblockCounter)
 {
     Logger.WriteToDebugLog("Deciding where to put Roadblock");
     List<LocationDetail> map = g.GetMap();
     LocationDetail firstLocationToBlock;
     do
     {
         firstLocationToBlock = map[new Random().Next(0, map.Count())];
     } while (firstLocationToBlock.Type != LocationType.City && firstLocationToBlock.Type != LocationType.Town);
     List<LocationDetail> secondLocationToBlockCandidates = new List<LocationDetail>();
     foreach (LocationDetail loc in firstLocationToBlock.ByRoad)
     {
         secondLocationToBlockCandidates.Add(loc);
     }
     foreach (LocationDetail loc in firstLocationToBlock.ByTrain)
     {
         secondLocationToBlockCandidates.Add(loc);
     }
     LocationDetail secondLocationToBlock = secondLocationToBlockCandidates[new Random().Next(0, secondLocationToBlockCandidates.Count())];
     if (firstLocationToBlock.ByRoad.Contains(secondLocationToBlock))
     {
         if (firstLocationToBlock.ByTrain.Contains(secondLocationToBlock))
         {
             if (new Random().Next(0, 2) > 0)
             {
                 roadblockCounter.connectionType = "road";
             }
             else
             {
                 roadblockCounter.connectionType = "rail";
             }
         }
         else
         {
             roadblockCounter.connectionType = "road";
         }
     }
     else
     {
         roadblockCounter.connectionType = "rail";
     }
     roadblockCounter.firstLocation = firstLocationToBlock;
     roadblockCounter.secondLocation = secondLocationToBlock;
     Logger.WriteToDebugLog("Nothing is returned, but the Roadblock counter has been put on the " + roadblockCounter.connectionType + " between " + roadblockCounter.firstLocation + " and " + roadblockCounter.secondLocation);
 }
Beispiel #3
0
 internal void PlayGoodLuck(int hunterIndex, UserInterface ui)
 {
     int response = ui.AskHunterDiscardAllyOrRoadblock();
     switch (response)
     {
         case 1:
             EventDiscard.Add(DraculaAlly);
             DraculaAlly = null;
             DiscardEventFromHunterAtIndex("Good Luck", hunterIndex, ui);
             break;
         case 2:
             RoadblockCounter = new Roadblock();
             DiscardEventFromHunterAtIndex("Good Luck", hunterIndex, ui);
             break;
     }
 }
Beispiel #4
0
 internal void PlaceRoadBlockCounter(GameState g, Roadblock roadblockCounter)
 {
     logic.DecideWhereToPutRoadblock(g, roadblockCounter);
 }