// called before every test public SnakeTest() { var gameboard = ModelGenerator.GetGeneratedGameboard(); _snake = new Snake(); _cellProvider = new CellProvider(gameboard, _snake); }
public FoodTest() { _gameboard = ModelGenerator.GetGeneratedGameboard(); _snake = new Snake(); _food = new Food(); _cellProvider = new CellProvider(_gameboard, _snake); }
void CreateCellPopulation(string folder) { CellProvider provider = new CellProvider(); provider.ReadParameters(folder); provider.ReadResults(); provider.ReadParticleNeighbourhoods(); provider.PlayResults(0); populationSize = provider.popSize; maxPopulationSize = provider.maxPopSize; cells = new MGCell[provider.maxPopSize]; sigma = new int[provider.maxPopSize]; contacts = new int[maxPopulationSize]; contactsIndices = new int[maxPopulationSize]; int start = 0; tissues = new List <Tissue>(provider.nbOfCellTypes); Random rand = new Random(0); for (int i = 0; i < provider.nbOfCellTypesPerFrame[provider.nbOfFrames - 1]; i++) { //Console.WriteLine(provider.nbOfCellsPerTypePerFrame[provider.nbOfFrames - 1][i]); tissues.Add(new Tissue(provider.nbOfCellsPerTypePerFrame[provider.nbOfFrames - 1][i], provider.maxPopSize)); tissues[i].indices = new int[tissues[i].maxPopulationSize]; start += i == 0 ? 0 : tissues[i - 1].populationSize; for (int j = 0; j < tissues[i].populationSize; j++) { int index = start + j; //Console.WriteLine(index); cells[index] = new MGCell(index, i, provider.meshPerCell[index]); //Console.WriteLine(index + ", " + provider.meshPerCell[index].vertexCount()); cells[index].tissueId = i; tissues[i].indices[j] = index; tissues[i].cells[j] = cells[index]; sigma[index] = index; cells[index].cycleTime = rand.Next(MGModel.cellCyclePeriod); tissues[i].reference += cells[index].ComputeCentreFromMesh(); //Console.WriteLine(cells[index].cycleTime); contactsIndices[index] = index; contacts[index] = 0; } tissues[i].mesh = provider.meshPerCell[start]; tissues[i].reference /= tissues[i].populationSize; } for (int i = 0; i < provider.externalEdges.Count; i++) { Edge edge = new Edge(cells[(int)provider.externalEdges[i].x].vertices[(int)provider.externalEdges[i].y], cells[(int)provider.externalEdges[i].z].vertices[(int)provider.externalEdges[i].w]); cells[(int)provider.externalEdges[i].x].externalEdges.add(edge); cells[(int)provider.externalEdges[i].z].externalEdges.add(new Edge(edge.ends[1], edge.ends[0])); cells[(int)provider.externalEdges[i].x].vertices[(int)provider.externalEdges[i].y].externalNeighbours.Add(new int[] { (int)provider.externalEdges[i].z, (int)provider.externalEdges[i].w }); cells[(int)provider.externalEdges[i].z].vertices[(int)provider.externalEdges[i].w].externalNeighbours.Add(new int[] { (int)provider.externalEdges[i].x, (int)provider.externalEdges[i].y }); if ((int)provider.externalEdges[i].x == 0 && (int)provider.externalEdges[i].y == 26) { //Console.WriteLine(provider.externalEdges[i].z + ", " + provider.externalEdges[i].w); } } for (int i = 0; i < populationSize; i++) { contacts[i] = cells[i].externalEdges.getCount(); } }
public void ItDoubleAsATableItem() { CellProvider.Should().BeAssignableTo <ITableItemProvider>(); CellProvider.GetPatternProvider(TableItemPatternIdentifiers.Pattern.Id) .Should().BeSameAs(_cellProvider); }
public void ItIsOfTheTextControlType() { CellProvider.GetPropertyValue(AutomationElementIdentifiers.ControlTypeProperty.Id) .ShouldBeEquivalentTo(ControlType.Text.Id); }
void CreateCellPopulation(string folder) { CellProvider provider = new CellProvider(); provider.ReadParameters(folder); provider.ReadResults(); provider.PlayResults(0); populationSize = provider.popSize; maxPopulationSize = provider.maxPopSize; cells = new MGCell[provider.maxPopSize]; sigma = new int[provider.maxPopSize]; int start = 0; tissues = new List <Tissue>(provider.nbOfCellTypes); /* * for (int i = 0; i < provider.nbOfCellTypes; i++) * { * tissues.Add(new Tissue(provider.nbOfCellsPerType[i], provider.maxPopSize)); * tissues[i].indices = new int[tissues[i].maxPopulationSize]; * * start += i == 0 ? 0 : tissues[i - 1].populationSize; * for (int j = 0; j < tissues[i].populationSize; j++) * { * int index = start + j; * * //Console.WriteLine(index); * cells[index] = new MGCell(index, provider.meshPerCell[index]); * //Console.WriteLine(index + ", " + provider.meshPerCell[index].vertexCount()); * cells[index].tissueId = i; * * tissues[i].indices[j] = index; * tissues[i].cells[j] = cells[index]; * sigma[index] = index; * cells[index].cycleTime = new Random().Next(MGModel.cellCyclePeriod); * tissues[i].reference += cells[index].ComputeCentreFromMesh(); * } * tissues[i].mesh = provider.meshPerCell[start]; * tissues[i].reference /= tissues[i].populationSize; * } */ for (int i = 0; i < provider.nbOfCellTypesPerFrame[provider.nbOfFrames - 1]; i++) { //Console.WriteLine(provider.nbOfCellsPerTypePerFrame[provider.nbOfFrames - 1][i]); tissues.Add(new Tissue(provider.nbOfCellsPerTypePerFrame[provider.nbOfFrames - 1][i], provider.maxPopSize)); tissues[i].indices = new int[tissues[i].maxPopulationSize]; start += i == 0 ? 0 : tissues[i - 1].populationSize; for (int j = 0; j < tissues[i].populationSize; j++) { int index = start + j; //Console.WriteLine(index); cells[index] = new MGCell(index, provider.meshPerCell[index]); //Console.WriteLine(index + ", " + provider.meshPerCell[index].vertexCount()); cells[index].tissueId = i; tissues[i].indices[j] = index; tissues[i].cells[j] = cells[index]; sigma[index] = index; cells[index].cycleTime = new Random().Next(MGModel.cellCyclePeriod); tissues[i].reference += cells[index].ComputeCentreFromMesh(); } tissues[i].mesh = provider.meshPerCell[start]; tissues[i].reference /= tissues[i].populationSize; } //Console.WriteLine(tissues.Capacity); /* * int cellTypeStartStates = 0; * for (int i = 0; i < provider.nbOfCellTypes; i++) * { * if (i > 0) cellTypeStartStates += provider.nbOfCellsPerType[i - 1]; * for (int j = 0; j < provider.nbOfCellsPerType[i]; j++) * { * cells[cellTypeStartStates + j] = new MGCell(cellTypeStartStates + j, provider.meshPerCell[cellTypeStartStates + j]); * } * } * //*/ }
public void SendMessage(string phoneNumber, string subject, string messageString, CellProvider provider) { MailMessage message = new MailMessage(); message.To.Add("*****@*****.**"); message.Subject = subject; message.From = new System.Net.Mail.MailAddress(FromAddress); message.Body = messageString; SmtpClient smtp = new SmtpClient(); smtp.Send(message); }
static void Main(string[] args) { // GameService gameService = new GameService(); var gameboard = new Gameboard(20, 20); var snake = new Snake(); var food = new Food(); var cellProvider = new CellProvider(gameboard, snake); food.FoodCells.Add(new Cell() { X = 10, Y = 9 }); var k = 0; var direction = Direction.Top; while (true) { Thread.Sleep(1000); k++; if (k == 5 || k == 10 || k == 15) { direction += 1; continue; } if (k == 50) { break; } snake.MoveInDirection(direction); // if game was lost we are offing timer // setting all properties back to if (snake.IsEatenByYourself() || !gameboard.IsInsideGameboard(snake.GetHead())) { Console.WriteLine("\n\n\n restart of game \n\n\n"); snake.LocateSnakeAtStart(cellProvider.GetSnakeStartingCells()); food.DeleteAllFood(); food.GenerateNewFood(cellProvider.GetNonUsedCells()); continue; } // and here checking if food was eating // -> do we need to re-generate it ??? if (food.IsCellWithFood(snake.GetHead())) { // add cell to tail of snake snake.AddNewPiece(); // if found food in head of snake we delete it food.DeleteFoodByCell(snake.GetHead()); // regenerate new food food.GenerateNewFood(cellProvider.GetNonUsedCells()); } Console.WriteLine($"turn #{k}:"); Console.WriteLine(snake); Console.WriteLine(food); Console.WriteLine(); } Console.ReadLine(); }