private void Start() { Cursor.visible = false; visualiser = GetComponent <Visualiser>(); particleSystem = GetComponent <ParticleSystem>(); ParticleSystem.MainModule particleSystemMain = particleSystem.main; numParticles = size * size; particleSystemMain.maxParticles = numParticles; particles = new ParticleSystem.Particle[numParticles]; particleSystem.Emit(numParticles); particleSystem.GetParticles(particles); // Lets assume particle x y dimension is 1x1 for (int i = 0; i < numParticles; i++) { if (ParticleOnEdge(i)) { particles[i].position = new Vector3(i % size, i / size); } else { particles[i].position = new Vector3(i % size, i / size, -2); } } particleSystem.SetParticles(particles, numParticles); }
public AnalysisDem() { InitializeComponent(); Constants.RawData Data = Constants.Item.GetRawData(); int n = Constants.Item.GetCount(); var PredictedBP = new List <double>(); var ResidSup = new List <double>(); double ResidBP = 0; double[,] Regressors = FittingFunctions.FitLin(Data, n); for (var i = 0; i < n; i++) { var Qs = Data.SellQuantity.ElementAt(i); double BP = (Qs - Regressors[1, 1]) / Regressors[0, 1]; ResidBP = Qs - BP; PredictedBP.Add(BP); ResidSup.Add(ResidBP); } var StrdResid = DataPreparer.ListStrd(ResidSup); //create observable points for graphing AnalysisDis = Visualiser.SeriesBuilder(PredictedBP); DataContext = this; }
/// <summary> /// Funkcja wykrywająca kliknięcia na ekranie i wywołująca na odpowienich obiektach event kliknięcia /// </summary> private void OnScreenClick() { if (GameplayController.instance.session.gameState == GameState.running && boardVisible) { for (int i = 0; i < Input.touchCount; i++) { //Wykrywa tylko kliknięcia, które się rozpoczęły if (Input.GetTouch(i).phase == TouchPhase.Began && !EventSystem.current.IsPointerOverGameObject(Input.GetTouch(i).fingerId)) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position); if (Physics.Raycast(ray, out RaycastHit hit)) { Visualiser visualiser = hit.collider.gameObject.GetComponent <Visualiser>(); if (visualiser != null) { visualiser.OnClick(); } } else //Jeśli dotkniemy poza budynkami środkowy budynek jest usuwany { centerBuilding.GetComponent <CenterVisualiser>().ToggleVisibility(false); } } } } }
/// <summary> /// scatter plots of EWMA vs. raw /// </summary> public ScatterPlots() { InitializeComponent(); Constants.RawData data = Constants.Item.GetRawData(); int n = Constants.Item.GetCount(); var Ewma = DataPreparer.Weighter(data, 0.5); //LINQ, $ formatting PriceFormatter = value => value.ToString("C"); List <double> BuyQ = data.BuyQuantity.Select <int, double>(i => i).ToList(); List <double> BuyP = data.BuyPrice.Select <int, double>(i => i).ToList(); List <double> SellQ = data.SellQuantity.Select <int, double>(i => i).ToList(); List <double> SellP = data.SellPrice.Select <int, double>(i => i).ToList(); //~3500 data points possible with current config = 7000 total Object[] ScatterPoints = Visualiser.ScatterListBuilder(BuyQ, BuyP, SellQ, SellP, n); Object[] WScatterPoints = Visualiser.ScatterListBuilder(Ewma._strdBuyQuant, Ewma._strdBuyPrice, Ewma._strdSellQuant, Ewma._strdSellPrice, n); //note explicit conversion of types Supply = (ChartValues <ObservablePoint>)ScatterPoints[0]; Demand = (ChartValues <ObservablePoint>)ScatterPoints[1]; EwmaSupply = (ChartValues <ObservablePoint>)WScatterPoints[0]; EwmaDemand = (ChartValues <ObservablePoint>)WScatterPoints[1]; DataContext = this; }
/// <summary> /// When a shot fired has already been attempted /// </summary> private void AlreadyAttempted(Game game) { Console.Clear(); Visualiser.PrintCurrentGame(game); Console.WriteLine(); Console.WriteLine("'Avast ye! You've already fired ere'"); }
public IActionResult Index() { Map map = new Map(EnumMapType.small); map.FindAllJunctions(); Visualiser visualiser = new Visualiser(map); Playboard pb = new Playboard(visualiser.DrawMap(topJunctionAmount), map.GetTopJunctions(topJunctionAmount)); List <ITile> result = map.tiles; HttpContext.Session.SetString("stringurl", $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"); // get the previous url and store it with view model //var obj = result; //var serializer = new JsonSerializer(); //serializer.Serialize(new JsonTextWriter(new StringWriter()), obj); //serializer.ContractResolver. //var indented = Formatting.Indented; //var settings = new JsonSerializerSettings() //{ // TypeNameHandling = TypeNameHandling.All //}; //var json = JsonConvert.SerializeObject(obj, indented, settings); //var json = new WebClient().DownloadString("url"); //System.IO.File.WriteAllText(@"C:\Users\Mike\Documents\test\oof.json", json); //TempData.Put("pbData", map.tiles); //Playboard lol = TempData.Get<Playboard>("pbData"); var json = JsonConvert.SerializeObject(result); ViewBag.ExportJsonString = json; return(View(pb)); }
/// <summary> /// Prints the initial splash screen /// </summary> private static void PrintSplash() { Visualiser.WriteTitle(); AsciiHelper.DrawBoat(); Console.WriteLine(); Console.WriteLine("Press Any Key to Start"); Console.ReadKey(); }
private void button_Click(object sender, RoutedEventArgs e) { var coldplate = new ColdPlate(); coldplate.Dimension.X = 300; coldplate.Dimension.Y = 300; coldplate.Name = new KeyValuePair <string, string>("Coldplate basic", "rr"); var lis = new ObservableCollection <LossElementInstance>(); var li1 = new LossElementInstance(); li1.Name = "li 1"; li1.Position.X = 55; li1.Position.Y = 55; var li2 = new LossElementInstance(); li2.Name = "li 2"; li2.Position.X = 100; li2.Position.Y = 50; lis.Add(li1); lis.Add(li2); var les = new Collection <LossElement>(); var le1 = new LossElement(); le1.Dimension.X = 50; le1.Dimension.Y = 50; var le2 = new LossElement(); le2.Dimension.X = 50; le2.Dimension.Y = 50; les.Add(le1); les.Add(le2); Visualiser popup = new Visualiser( coldplate, lis, les ); popup.ShowDialog(); }
private void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } audioSource = this.GetComponent <AudioSource>(); visualiser = this.GetComponent <Visualiser>(); audioSource.clip = audioFile; }
private void Visualise(FightStat fitnessValue) { if (isDebug) { Visualiser.Visualise(Battle); fitnessValue.CountFitness(Battle); Console.WriteLine($"LastCommand: {Battle.Map.Tank.Strategy.LastCommand} "); Console.WriteLine($"FitnessValue: {fitnessValue.Result}"); Console.WriteLine($"Steps: {fitnessValue.Steps}"); Console.WriteLine($"Killed: {fitnessValue.Killed}"); Console.WriteLine($"EnemiesKilledEachOther:{fitnessValue.EnemiesKilledByEnemies} "); Console.WriteLine($"Tanks left: {Battle.Map.Enemies.Count} "); System.Threading.Thread.Sleep(1000); } }
public IActionResult BigMap() { Map map = new Map(EnumMapType.big); map.FindAllJunctions(); Visualiser visualiser = new Visualiser(map); Playboard pb = new Playboard(visualiser.DrawMap(topJunctionAmount), map.GetTopJunctions(topJunctionAmount)); var json = JsonConvert.SerializeObject(map.tiles); ViewBag.ExportJsonString = json; return(View("Index", pb)); }
/// <summary> /// The main entry point into BattleShips /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Dependency Injection var kernel = new StandardKernel(); kernel.Load(Assembly.GetExecutingAssembly()); var gameService = kernel.Get <IGameService>(); // Print the splash screen PrintSplash(); // Create a new game instance and set the player name var game = gameService.CreateGame(); game.PlayerName = Visualiser.RequestPlayerName(); // Print the grid Visualiser.PrintCurrentGame(game); // Prompt the user for input Console.WriteLine(); Console.WriteLine("Take aim, type in a grid reference e.g C5 and hit Return to fire!"); // The Game Loop do { var input = Console.ReadLine(); try { var y = input.Substring(0, 1).ToUpper(); var x = Convert.ToInt32(input.Substring(1)); var shot = new GridCoords(x, y); game = gameService.FireShot(game, shot); } catch (Exception) { Console.WriteLine("Shot Invalid, Try again"); } } while (game.Active == true); }
public ActionResult ImportData() { var files = Request.Form.Files; string fileContent = null; Visualiser visualiser = new Visualiser(); Playboard pb = null; if (files.Count > 0) { Map map = new Map(EnumMapType.small); map.FindAllJunctions(); using (var reader = new StreamReader(files[0].OpenReadStream())) { fileContent = reader.ReadToEnd(); } string result = JsonConvert.DeserializeObject(fileContent).ToString(); JsonConverter[] converters = { new TileConverter(), new TileTypeConverter() }; List <ITile> importedTiles = JsonConvert.DeserializeObject <List <ITile> >(result, new JsonSerializerSettings() { Converters = converters }); pb = new Playboard(visualiser.DrawMap(importedTiles), map.GetTopJunctions(topJunctionAmount)); return(View("Index", pb)); } //List<ITile> kek = TempData.Get<List<ITile>>("pbData"); //Map map2 = new Map(EnumMapType.small); //map2.tiles = kek; //pb = new Playboard(visualiser.DrawMap(map2.tiles), map2.GetTopJunctions(topJunctionAmount)); //Playboard lol = (Playboard)TempData["pbData"]; return(Redirect(HttpContext.Session.GetString("stringurl"))); }
/// <summary> /// When a shot fired misses /// </summary> /// <param name="game"></param> /// <param name="indices"></param> private Game ShotMissed(Game game, Indices indices) { game.GameGrid.Cells[indices.X, indices.Y].Status = GridCellStatus.ShotMissed; // Lose a life game.Lives--; // Reset Streak game.Streak = 0; // Deduct from Score if (game.Score > 0) { game.Score = game.Score - 1; } ; Console.Clear(); Visualiser.PrintCurrentGame(game); Console.WriteLine(); Console.WriteLine("'Unlucky Squire! Ya misses.. Try agen'"); if (game.Lives == 0) { Console.Clear(); game.Active = false; game.Score = 0; AsciiHelper.DrawYouLose(); Console.WriteLine(); Console.WriteLine(); Console.ReadLine(); } return(game); }
//Executes every frame private void Update() { // Turn on "Gizmos" in game window for the visualiser to work Visualiser.DrawRectangle(CalculateRaycastOriginPosition(), detectionBoxSize, Color.red); // Skill is on cooldown? if (currentProjectileCooldown > 0) { // Decrease cooldown time according to frame time currentProjectileCooldown -= Time.deltaTime; } // Pressed C button and skill is off cooldown? if (Input.GetKey(KeyCode.X) && currentProjectileCooldown <= 0) { Transform targetTransform = DetectTargetInDetectionBox(); // Fire projectile at target FireProjectile(targetTransform); // Set cooldown for the skill currentProjectileCooldown = projectileCooldown; } }
/// <summary> /// When a shot is landed /// </summary> /// <param name="game"></param> /// <param name="indices"></param> private Game ShotLanded(Game game, Indices indices) { // Update cell and beep game.GameGrid.Cells[indices.X, indices.Y].Status = GridCellStatus.ShotLanded; Console.Beep(432, 750); // Incrememnt streak game.Streak++; // Initialise first points if (game.Score == 0) { game.Score = 1; } ; // Update score and apply streak if not negative. if (game.Score > 0) { game.Score = game.Score + (game.Score * game.Streak); } else { game.Score = game.Score + game.Score; } // Incremement the boat hit counter var target = game.GameGrid.Cells[indices.X, indices.Y]; game.Boats .First(b => b.Id == target.BoatHeld.Id) .Hits++; Console.Clear(); Visualiser.PrintCurrentGame(game); Console.WriteLine(); Console.WriteLine("'Arrrgh you scurvy landlubber!!, You've hit me' boat!'"); // Get the boat var boat = game.Boats .First(b => b.Id == target.BoatHeld.Id); // Check length vs. hits if (boat.Hits == boat.Length) { game.BoatsSank++; Console.Beep(432, 1500); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("'Blimey! Boat down'"); Console.ForegroundColor = ConsoleColor.Magenta; } ; if (game.Boats.Count() == game.BoatsSank) { Console.Clear(); // Winner, Winner. game.Score = game.Score + (game.Lives * 10); game.Active = false; AsciiHelper.DrawWinner(); Console.WriteLine(); Console.WriteLine(); Console.Write("Congratulations, "); Console.Write(game.PlayerName); Console.Write(", Your Final Score was: "); Console.Write(game.Score); Console.WriteLine(); Console.ReadLine(); } ; return(game); }