1 using
System;
2 using
System.Data;
3 using
System.Configuration;
4 using
System.Collections;
5 using
System.Web;
6
7
8
9 namespace
BicNet.Projects.mcp
10 {
11
public partial
class CreatingWebFormsApplications
: System.Web.UI.Page
12
{
13
FlashCardClass FlashCard;
14
15
protected
void Page_Load(object sender,
EventArgs e)
16
{
17
if (!IsPostBack)
18
{
19
FlashCard =
new FlashCardClass();
20
Session["FlashCard"]
= FlashCard;
21
}
22
else
23
{
24
//Get the Session Flashcard Object;
25
FlashCard = (FlashCardClass)Session["FlashCard"];
26
}
27
RefreshDisplay();
28
}
29
30
private
void RefreshDisplay()
31
{
32
lblFirst.Text = FlashCard.FirstNumber.ToString();
33
lblSecond.Text = FlashCard.Operation +
FlashCard.SecondNumber.ToString();
34
}
35
36
protected
void txtAnswer_TextChanged(object sender,
EventArgs e)
37
{
38
if (txtAnswer.Text
== FlashCard.Answer().ToString())
39
{
40
lblFeedback.Text = "Correct!";
41
//Get Another Set of Numbers
42
FlashCard.Shuffle();
43
//Refresh display to show new numbers
44
RefreshDisplay();
45
//Clear Answer
46
txtAnswer.Text =
"";
47
}
48
else
49
{
50
lblFeedback.Text = "Oops! Try Again";
51
}
52
}
53
}
54
55
public class
FlashCardClass
56
{
57
int intFirstNumber, intSecondNumber;
58
string strOp =
"+";
59
Random rndNumber;
60
61
public FlashCardClass()
62
{
63
//Initialize the random
number generator object;
64
rndNumber = new
Random();
65
}
66
67
public
void Shuffle(int Min,
int Max)
68
{
69
//Get random numbers
70
intFirstNumber = rndNumber.Next(Min, Max);
71
intSecondNumber = rndNumber.Next(Min, Max);
72
}
73
74
public
void Shuffle()
75
{
76
intFirstNumber = rndNumber.Next(0, 12);
77
intSecondNumber = rndNumber.Next(0, 12);
78
}
79
80
public
int FirstNumber
81
{
82
get
83
{
84
return intFirstNumber;
85
}
86
}
87
88
public
int SecondNumber
89
{
90
get
91
{
92
return intSecondNumber;
93
}
94
}
95
96
public
string Operation
97
{
98
get
99
{
100
return strOp;
101
}
102
set
103
{
104
strOp = value;
105
}
106
}
107
108
public int Answer()
109
{
110
switch (strOp.ToLower())
111
{
112
case "+":
113
return intFirstNumber + intSecondNumber;
114
case "x":
115
return intFirstNumber * intSecondNumber;
116
case "*":
117
return intFirstNumber * intSecondNumber;
118
case "-":
119
return intFirstNumber - intSecondNumber;
120
default:
121
return 0;
122
}
123
}
124 }
125 }
126