Hallo iedereen,
Voor school moet iedereen in de zesde klas een PWS maken. Nou moet ik onderzoek doen over de hersenen en hoe je reactievermogen beïnvloedt word door bv cafeïnerijke drankjes of middelen als ibuprofen of valdispert. Hiervoor gebruiken we onder andere de stroop test.
Nu probeer ik bonuspunten te scoren door zelf een stroop test programma te maken (Op aanraden van mijn studiebegeleider) alleen kom ik met mijn beperkte kennis van C# niet ver. Ik maak het programma in visual studio 2010 als een windows forms application, en dit is wat ik zover heb:
Hoofdmenu
De test zelf
Resultaten
Ik krijg het nu niet voor elkaar dat het programma wacht totdat de gebruiken een antwoord geeft. Ik heb van alles geprobeert maar het probleem blijft hem altijd in de while loop zitten. Nu hoop ik dat er iemand op dit forum is die mij uit de brand kan helpen en die programma werkend kan krijgen, al neem ik aan dat er dan een boel herschreven moet worden.
P.S. Let maar niet op de mooie cryptische namen die ik geef aan mijn variabelen
Voor school moet iedereen in de zesde klas een PWS maken. Nou moet ik onderzoek doen over de hersenen en hoe je reactievermogen beïnvloedt word door bv cafeïnerijke drankjes of middelen als ibuprofen of valdispert. Hiervoor gebruiken we onder andere de stroop test.
Nu probeer ik bonuspunten te scoren door zelf een stroop test programma te maken (Op aanraden van mijn studiebegeleider) alleen kom ik met mijn beperkte kennis van C# niet ver. Ik maak het programma in visual studio 2010 als een windows forms application, en dit is wat ik zover heb:
Hoofdmenu
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class start : Form
{
public start()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Visible = false;
Form1 form = new Form1();
form.Visible = true;
form.Show();
}
}
}
De test zelf
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int timedone = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
this.Visible = true;
// Timer tijd = new Timer();
// tijd.Start();
timer1.Start();
int fouten = 0;
int gedaan = 0;
while (gedaan < 10)
{
Random rnd = new Random();
int backgroundcolor = rnd.Next(1, 4);
int textcolor = rnd.Next(1, 4);
int text = rnd.Next(1, 4);
if (backgroundcolor == textcolor)
{
backgroundcolor = 1;
textcolor = 4;
}
if (backgroundcolor == 1)
{
this.BackColor = System.Drawing.Color.Red;
}
if (backgroundcolor == 2)
{
this.BackColor = System.Drawing.Color.Blue;
}
if (backgroundcolor == 3)
{
this.BackColor = System.Drawing.Color.Yellow;
}
if (backgroundcolor == 4)
{
this.BackColor = System.Drawing.Color.Green;
}
if (text == 1)
{
WOORD.Text = "Rood";
}
if (text == 2)
{
WOORD.Text = "Blauw";
}
if (text == 3)
{
WOORD.Text = "Geel";
}
if (text == 4)
{
WOORD.Text = "Groen";
}
if (textcolor == 1)
{
WOORD.ForeColor = Color.Red;
}
if (textcolor == 2)
{
WOORD.ForeColor = Color.Blue;
}
if (textcolor == 3)
{
WOORD.ForeColor = Color.Yellow;
}
if (textcolor == 4)
{
WOORD.ForeColor = Color.Green;
}
while (checkBox1.Checked == false && checkBox2.Checked == false && checkBox3.Checked == false && checkBox4.Checked == false)
{
}
if (checkBox1.Checked == true)
{
if (textcolor != 1)
{
fouten++;
}
checkBox1.Checked = false;
}
if (checkBox1.Checked == true)
{
if (textcolor != 2)
{
fouten++;
}
checkBox2.Checked = false;
}
if (checkBox3.Checked == true)
{
if (textcolor != 3)
{
fouten++;
}
checkBox3.Checked = false;
}
if (checkBox4.Checked == true)
{
if (textcolor != 4)
{
fouten++;
}
checkBox4.Checked = false;
}
gedaan++;
this.gedaannr.Text = System.Convert.ToString(gedaan);
}
//tijd.Stop();
timer1.Stop();
this.Visible = false;
Form2 formeind = new Form2();
formeind.tijdhandelaar = timedone;
formeind.foutenx = fouten;
formeind.Visible = true;
formeind.Show();
}
private void button1_Click(object sender, EventArgs e)
{
checkBox1.Checked = true;
}
private void button2_Click(object sender, EventArgs e)
{
checkBox2.Checked = true;
}
private void button3_Click(object sender, EventArgs e)
{
checkBox3.Checked = true;
}
private void button4_Click(object sender, EventArgs e)
{
checkBox4.Checked = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
timedone++;
}
}
}
Resultaten
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private int tijdgedaan;
public int tijdhandelaar
{
get
{
return tijdgedaan;
}
set
{
tijdgedaan = value;
}
}
private int fouten;
public int foutenx
{
get
{
return fouten;
}
set
{
fouten= value;
}
}
private void Form2_Load(object sender, EventArgs e)
{
int gemtijd = tijdgedaan / 10;
this.gemitijd.Text = Convert.ToString(gemtijd);
this.hoeveelfouten.Text = Convert.ToString(fouten);
}
private void button1_Click(object sender, EventArgs e)
{
this.Visible = false;
Form1 form = new Form1();
form.Visible = true;
form.Show();
}
}
}
Ik krijg het nu niet voor elkaar dat het programma wacht totdat de gebruiken een antwoord geeft. Ik heb van alles geprobeert maar het probleem blijft hem altijd in de while loop zitten. Nu hoop ik dat er iemand op dit forum is die mij uit de brand kan helpen en die programma werkend kan krijgen, al neem ik aan dat er dan een boel herschreven moet worden.
P.S. Let maar niet op de mooie cryptische namen die ik geef aan mijn variabelen