public string displayResults(double[][] inputs, double[][] targets, double[][] results) { //Collapse results into this string before sending to textbox; string s = ""; //Counter for incorrect actions int countIncorrectActions = 0; //Display in results box s = "Health" + "\t" + "Knife" + "\t" + "Gun" + "\t" + "Enemies" + "\t" + "Target" + "\t" + "Calculated" + Environment.NewLine; for (int i = 0; i < results.Length; i++) { //Pick entry double[] inputItem = inputs[i]; double[] targetAction = targets[i]; //Show input int health = Convert.ToInt32(inputItem[0]); int knife = Convert.ToInt32(inputItem[1]); int gun = Convert.ToInt32(inputItem[2]); int enemies = Convert.ToInt32(inputItem[3]); s += health + "\t" + knife + "\t" + gun + "\t" + enemies; //Show target string targetActionString = TrainingData.outputToText(targetAction); s += "\t" + targetActionString; //Show calculation double[] calculatedAction = results[i]; string calculatedActionString = TrainingData.outputToText(calculatedAction); s += "\t" + calculatedActionString; //Count if not same action if (calculatedActionString != targetActionString) { countIncorrectActions++; } //Next line s += Environment.NewLine; } //Show number of incorrect actions s += "Incorrect actions: " + countIncorrectActions.ToString(); //Send to text box return(s); //string results2String = string.Join(",", Array.ConvertAll(results2, x => Math.Round(x, 3))); }
private void tbUseNetwork_TextChanged(object sender, EventArgs e) { //Default inputs int health = 2; int knife = 1; int gun = 0; int enemies = 0; //Try to get inputs from form try { health = Convert.ToInt32(tbHealth.Text); if (health <= 0) { throw new ArgumentException(); } knife = Convert.ToInt32(tbKnife.Text); if (knife < 0 || knife > 1) { throw new ArgumentException(); } gun = Convert.ToInt32(tbGun.Text); if (gun < 0 || gun > 1) { throw new ArgumentException(); } enemies = Convert.ToInt32(tbEnemies.Text); if (enemies < 0) { throw new ArgumentException(); } } catch { //Return if any errors tbAction.Text = ""; return; } //Calculate the action using the network double[] calcActionArray = net.ProcessInput(new double[] { health, knife, gun, enemies }); string calcActionString = TrainingData.outputToText(calcActionArray); tbAction.Text = calcActionString; }