Guest User

Untitled

a guest
Jan 16th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.35 KB | None | 0 0
  1. {
  2. public partial class Form1 : Form
  3. {
  4. private Random throwDice = new Random();
  5. private int total;
  6. private int inzet;
  7. private int gamble;
  8. private int prize;
  9. private int bonus;
  10. public Form1()
  11. {
  12. InitializeComponent();
  13.  
  14. }
  15.  
  16. private void button1_Click(object sender, EventArgs e)
  17. {
  18. int die1, die2, die3;
  19.  
  20. die1 = throwDice.Next(1, 7);
  21. die2 = throwDice.Next(1, 7);
  22. die3 = throwDice.Next(1, 7);
  23.  
  24. label1.Text = die1.ToString();
  25. label2.Text = die2.ToString();
  26. label3.Text = die3.ToString();
  27. label4.Text = Convert.ToString(die1 + die2 + die3);
  28.  
  29. total = Convert.ToInt32(label4.Text);
  30. inzet = Convert.ToInt32(textBox1.Text);
  31. gamble = Convert.ToInt32(textBox2.Text);
  32.  
  33. if (gamble == total)
  34. {
  35. if (die1 == 6 && die1 == die2 && die1 == die3)
  36. {
  37. bonus = 20;
  38. }
  39. else if (die1 == die2 && die1 == die3)
  40. {
  41. bonus = 10;
  42. }
  43. else if (die1 == die2)
  44. {
  45. bonus = 5;
  46. }
  47. else if (die2 == die3)
  48. {
  49. bonus = 5;
  50. }
  51. else if (die1 == die3)
  52. {
  53. bonus = 5;
  54. }
  55. prize = inzet * 2 + bonus;
  56. textBox3.Text = prize.ToString();
  57.  
  58. }
  59. else if (gamble < total && gamble > total)
  60. {
  61. if (die1 == 6 && die1 == die2 && die1 == die3)
  62. {
  63. bonus = 20;
  64. }
  65. else if (die1 == die2 && die1 == die3 )
  66. {
  67. bonus = 10;
  68. }
  69. else if (die1 == die2)
  70. {
  71. bonus = 5;
  72. }
  73. else if (die2 == die3)
  74. {
  75. bonus = 5;
  76. }
  77. else if (die1 == die3)
  78. {
  79. bonus = 5;
  80. }
  81. prize = (inzet - inzet) + bonus;
  82. textBox3.Text = prize.ToString();
  83. }
  84. }
  85.  
  86. }
  87.  
  88. else if (gamble < total && gamble > total)
  89.  
  90. else if (gamble < total && gamble > total)
  91.  
  92. else if (gamble < total && gamble > total)
  93.  
  94. else
  95.  
  96. private void button1_Click(object sender, EventArgs e)
  97. {
  98. int die1 = throwDice.Next(1, 7);
  99. int die2 = throwDice.Next(1, 7);
  100. int die3 = throwDice.Next(1, 7);
  101.  
  102. var results = new DiceResults(die1, die2, die3);
  103.  
  104. label1.Text = results.Dice1;
  105. label2.Text = results.Dice2;
  106. label3.Text = results.Dice3;
  107. label4.Text = results.GetDiceTotal();
  108.  
  109. inzet = Convert.ToInt32(textBox1.Text);
  110. gamble = Convert.ToInt32(textBox2.Text);
  111.  
  112. int prize = results.GetPrize(gamble, inzet);
  113. textBox3.Text = prize;
  114. }
  115.  
  116. public class DiceResults
  117. {
  118. public DiceResults(int dice1, int dice2, int dice3)
  119. {
  120. Dice1 = dice1;
  121. Dice2 = dice2;
  122. Dice3 = dice3;
  123. }
  124.  
  125. public int Dice1 { get; private set; }
  126. public int Dice2 { get; private set; }
  127. public int Dice3 { get; private set; }
  128.  
  129. public int GetBonus()
  130. {
  131. int bonus = 0;
  132.  
  133. if (AllSixes())
  134. {
  135. bonus = 20;
  136. }
  137. else if (SetLessThanSix())
  138. {
  139. bonus = 10;
  140. }
  141. else if (AnyDouble())
  142. {
  143. bonus = 5;
  144. }
  145. return bonus;
  146. }
  147.  
  148. public bool AllSixes()
  149. {
  150. return Dice1 == 6 &&
  151. Dice1 == Dice2 &&
  152. Dice2 == Dice3;
  153. }
  154.  
  155. public bool SetLessThanSix()
  156. {
  157. return Dice1 < 6 &&
  158. Dice1 == Dice2 &&
  159. Dice2 == Dice3;
  160. }
  161.  
  162. public bool AnyDouble()
  163. {
  164. return Dice1 == Dice2 ||
  165. Dice2 == Dice3 ||
  166. Dice1 == Dice3;
  167. }
  168.  
  169. public int GetDiceTotal()
  170. {
  171. return Dice1 + Dice2 + Dice3;
  172. }
  173.  
  174. public int GetPrize(int gamble, int inzet)
  175. {
  176. int prize = GetBonus();
  177. if (gamble == GetDiceTotal())
  178. {
  179. prize += inzet * 2;
  180. }
  181. return prize;
  182. }
  183. }
  184.  
  185. [TestClass]
  186. public class DiceResultsTest
  187. {
  188. [TestMethod]
  189. public void TestDiceTotal()
  190. {
  191. //Arrange
  192. var results = new DiceResults(1, 2, 3);
  193.  
  194. //Act
  195. int diceTotal = results.GetDiceTotal();
  196.  
  197. //Assert
  198. Assert.AreEqual(6, diceTotal);
  199. }
  200.  
  201. [TestMethod]
  202. public void TestForAllSixes()
  203. {
  204. //Arrange
  205. var results = new DiceResults(6, 6, 6);
  206.  
  207. //Assert
  208. Assert.IsTrue(results.AllSixes());
  209. }
  210.  
  211. [TestMethod]
  212. public void TestForAllFives()
  213. {
  214. //Arrange
  215. var results = new DiceResults(5, 5, 5);
  216.  
  217. //Assert
  218. Assert.IsTrue(results.SetLessThanSix());
  219. }
  220.  
  221. [TestMethod]
  222. public void TestForDoubleTwo()
  223. {
  224. //Arrange
  225. var results = new DiceResults(2, 5, 2);
  226.  
  227. //Assert
  228. Assert.IsTrue(results.AnyDouble());
  229. }
  230.  
  231. [TestMethod]
  232. public void TestBonusForAllSixes()
  233. {
  234. //Arrange
  235. var results = new DiceResults(6, 6, 6);
  236.  
  237. //Act
  238. int bonus = results.GetBonus();
  239.  
  240. //Assert
  241. Assert.AreEqual(20, bonus);
  242. }
  243.  
  244. [TestMethod]
  245. public void TestBonusForAllFives()
  246. {
  247. //Arrange
  248. var results = new DiceResults(5, 5, 5);
  249.  
  250. //Act
  251. int bonus = results.GetBonus();
  252.  
  253. //Assert
  254. Assert.AreEqual(10, bonus);
  255. }
  256.  
  257. [TestMethod]
  258. public void TestBonusForDoubleTwo()
  259. {
  260. //Arrange
  261. var results = new DiceResults(2, 5, 2);
  262.  
  263. //Act
  264. int bonus = results.GetBonus();
  265.  
  266. //Assert
  267. Assert.AreEqual(5, bonus);
  268. }
  269.  
  270. [TestMethod]
  271. public void TestBonusWhenNoBonus()
  272. {
  273. //Arrange
  274. var results = new DiceResults(1, 2, 3);
  275.  
  276. //Act
  277. int bonus = results.GetBonus();
  278.  
  279. //Assert
  280. Assert.AreEqual(0, bonus);
  281. }
  282.  
  283. [TestMethod]
  284. public void TestPrizeForAllSixesAndCorrectGamble()
  285. {
  286. //Arrange
  287. var results = new DiceResults(6, 6, 6);
  288.  
  289. //Act
  290. var prize = results.GetPrize(18, 50);
  291.  
  292. //Assert
  293. Assert.AreEqual(120, prize);
  294. }
  295.  
  296. [TestMethod]
  297. public void TestPrizeForAllSixesAndIncorrectGamble()
  298. {
  299. //Arrange
  300. var results = new DiceResults(6, 6, 6);
  301.  
  302. //Act
  303. var prize = results.GetPrize(15, 50);
  304.  
  305. //Assert
  306. Assert.AreEqual(20, prize);
  307. }
  308.  
  309. //add more tests to cover all cases.....
  310. }
Add Comment
Please, Sign In to add comment