Advertisement
Guest User

Untitled

a guest
May 24th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7.  
  8. namespace yatzyspelet
  9. {
  10.  
  11. public partial class Spel1 : System.Web.UI.Page
  12. {
  13. class Score
  14. {
  15. int Ettor = 0;
  16. int Tvåor = 0;
  17. int Treor = 0;
  18. int Fyror = 0;
  19. int Femmor = 0;
  20. int Sexor = 0;
  21. int Par = 0;
  22. int Tvapar = 0;
  23. int Triss = 0;
  24. int Fyrtal = 0;
  25. int Litenstege = 0;
  26. int Storstege = 0;
  27. int Kak = 0;
  28. int Chans = 0;
  29. int Yatzy = 0;
  30. int maxkast = 0;
  31.  
  32. public int ettor
  33. {
  34. get { return Ettor; }
  35. set { Ettor = value; }
  36. }
  37. public int tvaor
  38. {
  39. get { return Tvåor; }
  40. set { Tvåor = value; }
  41. }
  42. public int treor
  43. {
  44. get { return Treor; }
  45. set { Treor = value; }
  46. }
  47. public int fyror
  48. {
  49. get { return Fyror; }
  50. set { Fyror = value; }
  51. }
  52. public int femmor
  53. {
  54. get { return Femmor; }
  55. set { Femmor = value; }
  56. }
  57. public int sexor
  58. {
  59. get { return Sexor; }
  60. set { Sexor = value; }
  61. }
  62. public int par
  63. {
  64. get { return Par; }
  65. set { Par = value; }
  66. }
  67. public int tvapar
  68. {
  69. get { return Tvapar; }
  70. set { Tvapar = value; }
  71. }
  72. public int triss
  73. {
  74. get { return Triss; }
  75. set { Triss = value; }
  76. }
  77. public int fyrtal
  78. {
  79. get { return Fyrtal; }
  80. set { Fyrtal = value; }
  81. }
  82. public int litenstege
  83. {
  84. get { return Litenstege; }
  85. set { Litenstege = value; }
  86. }
  87. public int storstege
  88. {
  89. get { return Storstege; }
  90. set { Storstege = value; }
  91. }
  92. public int kak
  93. {
  94. get { return Kak; }
  95. set { Kak = value; }
  96. }
  97. public int chans
  98. {
  99. get { return Chans; }
  100. set { Chans = value; }
  101. }
  102. public int yatzy
  103. {
  104. get { return Yatzy; }
  105. set { Yatzy = value; }
  106. }
  107. public int maxKast
  108. {
  109. get { return maxkast; }
  110. set { maxkast = value; }
  111. }
  112. }
  113.  
  114. Image[] bildDice = new Image[7];
  115. int[] tarning; // tärningens array
  116. int[] resultat; // resultat array
  117. Random rnd; // random variabel för att kunna slumpa tärningar
  118. Score kastsumma = new Score(); // objektet till Resultatlista
  119. List<Score> Resultatlista = new List<Score>(); // Resultatlista där alla poäng läggs in
  120.  
  121. protected void Page_Load(object sender, EventArgs e)
  122. {
  123. #region Declaration
  124.  
  125. bildDice = new Image[7]; // bildkällor
  126. //bildDice[0] = Properties;
  127. //bildDice[1] = Label1.Text += "<img src='D:\Yatzy\spelet\yatzyspelet\yatzyspelet\Resources\dice_1.png'></img>";
  128. // bildDice[2] = Properties.Resources.dice_2;
  129. // bildDice[3] = Properties.Resources.dice_3;
  130. // bildDice[4] = Properties.Resources.dice_4;
  131. // bildDice[5] = Properties.Resources.dice_5;
  132. // bildDice[6] = Properties.Resources.dice_6;
  133.  
  134. tarning = new int[5] { 0, 0, 0, 0, 0 };
  135.  
  136. resultat = new int[6] { 0, 0, 0, 0, 0, 0 };
  137.  
  138. rnd = new Random();
  139. #endregion
  140. }
  141.  
  142. protected void kasta_Click(object sender, EventArgs e)
  143. {
  144. RullaTarning();
  145.  
  146. resultatet();
  147.  
  148. resetResultat();
  149. }
  150.  
  151. private void RullaTarning()
  152. {
  153.  
  154. if (!CheckBox1.Checked) // kontrollerar checkboxar
  155. tarning[0] = rnd.Next(1, 7);
  156. if (!CheckBox2.Checked)
  157. tarning[1] = rnd.Next(1, 7);
  158. if (!CheckBox3.Checked)
  159. tarning[2] = rnd.Next(1, 7);
  160. if (!CheckBox4.Checked)
  161. tarning[3] = rnd.Next(1, 7);
  162. if (!CheckBox5.Checked)
  163. tarning[4] = rnd.Next(1, 7);
  164.  
  165. // label_dice1.Image = bildDice[tarning[0]]; // Bilder för tärningarna och att fem bilder visas samtidigt, en för varje tärning.
  166. //label_dice2.Image = bildDice[tarning[1]];
  167. //label_dice3.Image = bildDice[tarning[2]];
  168. //label_dice4.Image = bildDice[tarning[3]];
  169. // label_dice5.Image = bildDice[tarning[4]];
  170.  
  171. for (int i = 0; i < tarning.Length; i++) // Kod för hur många tärningar som ska kastas
  172. {
  173. switch (tarning[i])
  174. {
  175. case 1:
  176. resultat[0]++;
  177. break;
  178. case 2:
  179. resultat[1]++;
  180. break;
  181. case 3:
  182. resultat[2]++;
  183. break;
  184. case 4:
  185. resultat[3]++;
  186. break;
  187. case 5:
  188. resultat[4]++;
  189. break;
  190. case 6:
  191. resultat[5]++;
  192. break;
  193. }
  194. }
  195. }
  196. private void resultatet() // uträkning för de alternativ som kastet genererar. Skriver ut vilka olika resultatalternativ i listboxen
  197. {
  198. for (int i = 0; i < resultat.Length; i++)
  199. {
  200. if (resultat[i] == 5)
  201. {
  202. kastsumma.yatzy = 50;
  203. tboxYatzy.Text = kastsumma.yatzy.ToString();
  204. }
  205. if (resultat[i] == 4)
  206. {
  207. kastsumma.fyrtal = (i + 1) * 4;
  208. tboxFyrtal.Text = kastsumma.fyrtal.ToString();
  209. }
  210. if (resultat[i] == 3)
  211. {
  212. kastsumma.triss = (i + 1) * 3;
  213. tboxTriss.Text = kastsumma.triss.ToString();
  214. for (int j = 0; j < resultat.Length; j++)
  215. {
  216. if (resultat[j] == 2)
  217. {
  218. kastsumma.kak = kastsumma.triss + (j + 1) * 2;
  219. tboxKak.Text = kastsumma.kak.ToString();
  220. }
  221. }
  222. }
  223. if (resultat[i] == 2)
  224. {
  225. kastsumma.par = (i + 1) * 2;
  226. tboxPar.Text = kastsumma.par.ToString(); ;
  227. for (int j = i + 1; j < resultat.Length; j++)
  228. {
  229. if (resultat[j] == 2)
  230. {
  231. kastsumma.tvapar = (i + 1) * 2 + (j + 1) * 2;
  232. tbox2par.Text = kastsumma.tvapar.ToString();
  233. }
  234. }
  235. }
  236. }
  237. if (resultat[1] == 1 &&
  238. resultat[2] == 1 &&
  239. resultat[3] == 1 &&
  240. resultat[4] == 1 &&
  241. resultat[5] == 1)
  242. {
  243. kastsumma.storstege = 20;
  244. tboxSstege.Text = kastsumma.storstege.ToString();
  245. }
  246. if (resultat[0] == 1 &&
  247. resultat[1] == 1 &&
  248. resultat[2] == 1 &&
  249. resultat[3] == 1 &&
  250. resultat[4] == 1)
  251. {
  252. kastsumma.litenstege = 15;
  253. tboxLstege.Text = kastsumma.litenstege.ToString();
  254. }
  255. kastsumma.chans = tarning[0] + tarning[1] + tarning[2] + tarning[3] + tarning[4];
  256. tboxChans.Text = kastsumma.chans.ToString();
  257.  
  258. if (resultat[0] != 0)
  259. tboxEtt.Text = kastsumma.ettor.ToString();
  260. if (resultat[1] != 0)
  261. tboxTva.Text = kastsumma.tvaor.ToString();
  262. if (resultat[2] != 0)
  263. tboxTre.Text = kastsumma.treor.ToString();
  264. if (resultat[3] != 0)
  265. tboxFyra.Text = kastsumma.fyror.ToString();
  266. if (resultat[4] != 0)
  267. tboxFem.Text = kastsumma.femmor.ToString();
  268. if (resultat[5] != 0)
  269. tboxSex.Text = kastsumma.sexor.ToString();
  270. }
  271.  
  272. private void resetResultat() //tömmer listboxen för att få upp nya resultat i den vid nästa kast av tärning.
  273. {
  274. for (int i = 0; i < resultat.Length; i++)
  275. resultat[i] = 0;
  276. }
  277. private void VisaResultat()
  278. {
  279. char[] drop = { ' ', ':', '\t' }; // kod som tar bort angivna tecken när resultatet ska skrivas ut
  280. string val = kastsumma.ToString();
  281. string[] registrera = val.Split(drop); // splittar resultatet så det man vill registrera är endast siffrorna i detta fallet
  282.  
  283. var last = registrera.Last();
  284. var first = registrera.First();
  285.  
  286. if (first == "1")
  287. {
  288. if (tboxEtt == null)
  289. tboxEtt.Text = last;
  290. else
  291. {
  292. Response.Write("Du har redan valt 1");
  293.  
  294. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  295. }
  296. }
  297. if (first == "2")
  298. {
  299. if (tboxTva == null)
  300. tboxTva.Text = last;
  301. else
  302. {
  303. Response.Write("Redan valt 2:or!");
  304.  
  305. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  306. }
  307. }
  308. if (first == "3")
  309. {
  310. if (tboxTre == null)
  311. tboxTre.Text = last;
  312. else
  313. {
  314. Response.Write("Redan valt 3:or!");
  315.  
  316. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  317. }
  318. }
  319. if (first == "4")
  320. {
  321. if (tboxFyra == null)
  322. tboxFyra.Text = last;
  323. else
  324. {
  325. Response.Write("Redan valt 4:or!");
  326.  
  327. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  328. }
  329. }
  330. if (first == "5")
  331. {
  332. if (tboxFem == null)
  333. tboxFem.Text = last;
  334. else
  335. {
  336. Response.Write("Redan valt 5:or!");
  337.  
  338. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  339. }
  340. }
  341. if (first == "6")
  342. {
  343. if (tboxSex == null)
  344. tboxSex.Text = last;
  345. else
  346. {
  347. Response.Write("Redan valt 6:or!");
  348.  
  349. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  350. }
  351. }
  352. if (first == "Par")
  353. {
  354. if (tboxPar == null)
  355. tboxPar.Text = last;
  356. else
  357. {
  358. Response.Write("Redan valt Par!");
  359.  
  360. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  361. }
  362. }
  363. if (first == "Två par")
  364. {
  365. if (tbox2par == null)
  366. tbox2par.Text = last;
  367. else
  368. {
  369. Response.Write("Redan valt Två par!");
  370.  
  371. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  372. }
  373. }
  374. if (first == "Triss")
  375. {
  376. if (tboxTriss == null)
  377. tboxTriss.Text = last;
  378. else
  379. {
  380. Response.Write("Redan valt Triss!");
  381.  
  382. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  383. }
  384. }
  385. if (first == "Fyrtal")
  386. {
  387. if (tboxFyrtal == null)
  388. tboxFyrtal.Text = last;
  389. else
  390. {
  391. Response.Write("Redan valt Fyrtal!");
  392.  
  393. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  394. }
  395. }
  396. if (first == "Liten")
  397. {
  398. if (tboxLstege == null)
  399. tboxLstege.Text = last;
  400. else
  401. {
  402. Response.Write("Redan valt Liten stege!");
  403.  
  404. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  405. }
  406. }
  407. if (first == "Stor")
  408. {
  409. if (tboxSstege == null)
  410. tboxSstege.Text = last;
  411. else
  412. {
  413. Response.Write("Redan valt Stor stege!");
  414.  
  415. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  416. }
  417. }
  418. if (first == "Kåk")
  419. {
  420. if (tboxKak == null)
  421. tboxKak.Text = last;
  422. else
  423. {
  424. Response.Write("Redan valt Kåk!");
  425.  
  426. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  427. }
  428. }
  429. if (first == "CHANS")
  430. {
  431. if (tboxChans == null)
  432. tboxChans.Text = last;
  433. else
  434. {
  435. Response.Write("Redan valt Chans!");
  436.  
  437. VisaResultat();// lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  438. }
  439. }
  440. if (first == "YATZY")
  441. {
  442. if (tboxYatzy == null)
  443. tboxYatzy.Text = last;
  444. else
  445. {
  446. VisaResultat(); // lägger till angivet poäng om kolumn och rad är tom i resultattabellen, annars visas en messagebox om att välja annat alternativ
  447. }
  448. }
  449. //if (val == "")
  450. {
  451.  
  452. VisaResultat(); // visas en messagebox om att välja alternativ
  453. }
  454.  
  455.  
  456. if (tboxEtt != null &&
  457. tboxTva != null &&
  458. tboxTre != null &&
  459. tboxFyra != null &&
  460. tboxFem != null &&
  461. tboxSex != null)
  462. {
  463. int delsum10 = int.Parse(tboxEtt.ToString()); // konverterar värden
  464. int delsum11 = int.Parse(tboxTva.ToString());
  465. int delsum12 = int.Parse(tboxTre.ToString());
  466. int delsum13 = int.Parse(tboxFyra.ToString());
  467. int delsum14 = int.Parse(tboxFem.ToString());
  468. int delsum15 = int.Parse(tboxSex.ToString());
  469.  
  470. //lägga in delsumma?
  471. //lägga in bonus?
  472. }
  473.  
  474. if (tboxPar != null &&
  475. tbox2par != null &&
  476. tboxTriss != null &&
  477. tboxFyrtal != null &&
  478. tboxKak != null &&
  479. tboxLstege != null &&
  480. tboxSstege != null &&
  481. tboxYatzy != null &&
  482. tboxChans != null)
  483.  
  484. {
  485. int delSum1 = int.Parse(tboxPar.ToString()); // konverterar värden
  486. int delSum2 = int.Parse(tbox2par.ToString());
  487. int delSum3 = int.Parse(tboxTriss.ToString());
  488. int delSum4 = int.Parse(tboxFyrtal.ToString());
  489. int delSum5 = int.Parse(tboxKak.ToString());
  490. int delSum6 = int.Parse(tboxLstege.ToString());
  491. int delSum7 = int.Parse(tboxSstege.ToString());
  492. int delSum8 = int.Parse(tboxYatzy.ToString());
  493. int delSum9 = int.Parse(tboxChans.ToString());
  494.  
  495.  
  496. //int totalSumma = delSum1 + delSum2 + delSum3 + delSum4 + delSum5 + delSum6 + delSum7 + delSum8 + delSum9;
  497. //TextBox1.Text = totalSumma.ToString; // räknar ut spelarens totala summan för spelaren
  498. }
  499. }
  500. }
  501. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement