Advertisement
Guest User

lyne

a guest
Jan 20th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.58 KB | None | 0 0
  1. Public Class Form1
  2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  3. Spillerliste(0) = New Spiller
  4. Spillerliste(0).Navn = "Spiller 1"
  5.  
  6. Spillerliste(1) = New Spiller
  7. Spillerliste(1).Navn = "Spiller 2"
  8.  
  9. Spillerliste(2) = New Spiller
  10. Spillerliste(2).Navn = "Spiller 3"
  11.  
  12. Spillerliste(3) = New Spiller
  13. Spillerliste(3).Navn = "Spiller 4"
  14.  
  15. Spillerliste(4) = New Spiller
  16. Spillerliste(4).Navn = "Spiller 5"
  17.  
  18. NuværendeSpiller = Spillerliste(0)
  19.  
  20. txtSpillerTur.Text = NuværendeSpiller.Navn
  21. End Sub
  22.  
  23. Public Sub OpdaterPointListe()
  24. If Spillerliste(0).PointBlok.EnereSat Then
  25. txtSpiller1Enere.Text = Spillerliste(0).PointBlok.Enere
  26. End If
  27. If Spillerliste(1).PointBlok.EnereSat Then
  28. txtSpiller2Enere.Text = Spillerliste(1).PointBlok.Enere
  29. End If
  30. If Spillerliste(2).PointBlok.EnereSat Then
  31. txtSpiller3Enere.Text = Spillerliste(2).PointBlok.Enere
  32. End If
  33. If Spillerliste(3).PointBlok.EnereSat Then
  34. txtSpiller4Enere.Text = Spillerliste(3).PointBlok.Enere
  35. End If
  36. If Spillerliste(4).PointBlok.EnereSat Then
  37. txtSpiller5Enere.Text = Spillerliste(4).PointBlok.Enere
  38. End If
  39.  
  40.  
  41. If Spillerliste(0).PointBlok.ToereSat Then
  42. txtSpiller1Toere.Text = Spillerliste(0).PointBlok.Toere
  43. End If
  44. If Spillerliste(1).PointBlok.ToereSat Then
  45. txtSpiller2Toere.Text = Spillerliste(1).PointBlok.Toere
  46. End If
  47. If Spillerliste(2).PointBlok.ToereSat Then
  48. txtSpiller3Toere.Text = Spillerliste(2).PointBlok.Toere
  49. End If
  50. If Spillerliste(3).PointBlok.ToereSat Then
  51. txtSpiller4Toere.Text = Spillerliste(3).PointBlok.Toere
  52. End If
  53. If Spillerliste(4).PointBlok.ToereSat Then
  54. txtSpiller5Toere.Text = Spillerliste(4).PointBlok.Toere
  55. End If
  56.  
  57.  
  58. If Spillerliste(0).PointBlok.TreereSat Then
  59. txtSpiller1Treere.Text = Spillerliste(0).PointBlok.Treere
  60. End If
  61. If Spillerliste(1).PointBlok.TreereSat Then
  62. txtSpiller2Treere.Text = Spillerliste(1).PointBlok.Treere
  63. End If
  64. If Spillerliste(2).PointBlok.TreereSat Then
  65. txtSpiller3Treere.Text = Spillerliste(2).PointBlok.Treere
  66. End If
  67. If Spillerliste(3).PointBlok.TreereSat Then
  68. txtSpiller4Treere.Text = Spillerliste(3).PointBlok.Treere
  69. End If
  70. If Spillerliste(4).PointBlok.TreereSat Then
  71. txtSpiller5Treere.Text = Spillerliste(4).PointBlok.Treere
  72. End If
  73.  
  74.  
  75. If Spillerliste(0).PointBlok.FirereSat Then
  76. txtSpiller1Firere.Text = Spillerliste(0).PointBlok.Firere
  77. End If
  78. If Spillerliste(1).PointBlok.FirereSat Then
  79. txtSpiller2Firere.Text = Spillerliste(1).PointBlok.Firere
  80. End If
  81. If Spillerliste(2).PointBlok.FirereSat Then
  82. txtSpiller3Firere.Text = Spillerliste(2).PointBlok.Firere
  83. End If
  84. If Spillerliste(3).PointBlok.FirereSat Then
  85. txtSpiller4Firere.Text = Spillerliste(3).PointBlok.Firere
  86. End If
  87. If Spillerliste(4).PointBlok.FirereSat Then
  88. txtSpiller5Firere.Text = Spillerliste(4).PointBlok.Firere
  89. End If
  90.  
  91.  
  92. If Spillerliste(0).PointBlok.FemmereSat Then
  93. txtSpiller1Femmere.Text = Spillerliste(0).PointBlok.Femmere
  94. End If
  95. If Spillerliste(1).PointBlok.FemmereSat Then
  96. txtSpiller2Femmere.Text = Spillerliste(1).PointBlok.Femmere
  97. End If
  98. If Spillerliste(2).PointBlok.FemmereSat Then
  99. txtSpiller3Femmere.Text = Spillerliste(2).PointBlok.Femmere
  100. End If
  101. If Spillerliste(3).PointBlok.FemmereSat Then
  102. txtSpiller4Femmere.Text = Spillerliste(3).PointBlok.Femmere
  103. End If
  104. If Spillerliste(4).PointBlok.FemmereSat Then
  105. txtSpiller5Femmere.Text = Spillerliste(4).PointBlok.Femmere
  106. End If
  107.  
  108.  
  109. If Spillerliste(0).PointBlok.SeksereSat Then
  110. txtSpiller1Seksere.Text = Spillerliste(0).PointBlok.Seksere
  111. End If
  112. If Spillerliste(1).PointBlok.SeksereSat Then
  113. txtSpiller2Seksere.Text = Spillerliste(1).PointBlok.Seksere
  114. End If
  115. If Spillerliste(2).PointBlok.SeksereSat Then
  116. txtSpiller3Seksere.Text = Spillerliste(2).PointBlok.Seksere
  117. End If
  118. If Spillerliste(3).PointBlok.SeksereSat Then
  119. txtSpiller4Seksere.Text = Spillerliste(3).PointBlok.Seksere
  120. End If
  121. If Spillerliste(4).PointBlok.SeksereSat Then
  122. txtSpiller5Seksere.Text = Spillerliste(4).PointBlok.Seksere
  123. End If
  124.  
  125.  
  126. 'Nedenstående metoder tjekker, om der er mere end 63 øjne i Enere - Seksere hos hver spiller.
  127. If NuværendeSpillerNummer = 0 Then
  128. txtSpiller1Sum.Text = CIntOr0(txtSpiller1Enere.Text) + CIntOr0(txtSpiller1Toere.Text) + CIntOr0(txtSpiller1Treere.Text) + CIntOr0(txtSpiller1Firere.Text) + CIntOr0(txtSpiller1Femmere.Text) + CIntOr0(txtSpiller1Seksere.Text)
  129. Dim total As Integer = PointBlok.GetTotal(txtSpiller1Enere, txtSpiller1Toere, txtSpiller1Treere, txtSpiller1Firere, txtSpiller1Femmere, txtSpiller1Seksere)
  130. If total > 63 Then
  131. txtSpiller1Bonus.Text = "50"
  132. txtSpiller1Bonus.BackColor = Color.LimeGreen
  133. Else txtSpiller1Bonus.Text = 0
  134. End If
  135. End If
  136.  
  137. If NuværendeSpillerNummer = 1 Then
  138. txtSpiller2Sum.Text = CIntOr0(txtSpiller2Enere.Text) + CIntOr0(txtSpiller2Toere.Text) + CIntOr0(txtSpiller2Treere.Text) + CIntOr0(txtSpiller2Firere.Text) + CIntOr0(txtSpiller2Femmere.Text) + CIntOr0(txtSpiller2Seksere.Text)
  139. Dim total As Integer = PointBlok.GetTotal(txtSpiller2Enere, txtSpiller2Toere, txtSpiller2Treere, txtSpiller2Firere, txtSpiller2Femmere, txtSpiller2Seksere)
  140. If total > 63 Then
  141. txtSpiller2Bonus.Text = "50"
  142. txtSpiller2Bonus.BackColor = Color.LimeGreen
  143. Else txtSpiller2Bonus.Text = 0
  144. End If
  145. End If
  146.  
  147. If NuværendeSpillerNummer = 2 Then
  148. txtSpiller3Sum.Text = CIntOr0(txtSpiller3Enere.Text) + CIntOr0(txtSpiller3Toere.Text) + CIntOr0(txtSpiller3Treere.Text) + CIntOr0(txtSpiller3Firere.Text) + CIntOr0(txtSpiller3Femmere.Text) + CIntOr0(txtSpiller3Seksere.Text)
  149. Dim total As Integer = PointBlok.GetTotal(txtSpiller3Enere, txtSpiller3Toere, txtSpiller3Treere, txtSpiller3Firere, txtSpiller3Femmere, txtSpiller3Seksere)
  150. If total > 63 Then
  151. txtSpiller3Bonus.Text = "50"
  152. txtSpiller3Bonus.BackColor = Color.LimeGreen
  153. Else txtSpiller3Bonus.Text = 0
  154. End If
  155. End If
  156.  
  157. If NuværendeSpillerNummer = 3 Then
  158. txtSpiller4Sum.Text = CIntOr0(txtSpiller4Enere.Text) + CIntOr0(txtSpiller4Toere.Text) + CIntOr0(txtSpiller4Treere.Text) + CIntOr0(txtSpiller4Firere.Text) + CIntOr0(txtSpiller4Femmere.Text) + CIntOr0(txtSpiller4Seksere.Text)
  159. Dim total As Integer = PointBlok.GetTotal(txtSpiller4Enere, txtSpiller4Toere, txtSpiller4Treere, txtSpiller4Firere, txtSpiller4Femmere, txtSpiller4Seksere)
  160. If total > 63 Then
  161. txtSpiller4Bonus.Text = "50"
  162. txtSpiller4Bonus.BackColor = Color.LimeGreen
  163. Else txtSpiller4Bonus.Text = 0
  164. End If
  165. End If
  166.  
  167. If NuværendeSpillerNummer = 4 Then
  168. txtSpiller5Sum.Text = CIntOr0(txtSpiller5Enere.Text) + CIntOr0(txtSpiller5Toere.Text) + CIntOr0(txtSpiller5Treere.Text) + CIntOr0(txtSpiller5Firere.Text) + CIntOr0(txtSpiller5Femmere.Text) + CIntOr0(txtSpiller5Seksere.Text)
  169. Dim total As Integer = PointBlok.GetTotal(txtSpiller5Enere, txtSpiller5Toere, txtSpiller5Treere, txtSpiller5Firere, txtSpiller5Femmere, txtSpiller5Seksere)
  170. If total > 63 Then
  171. txtSpiller5Bonus.Text = "50"
  172. txtSpiller5Bonus.BackColor = Color.LimeGreen
  173. Else txtSpiller5Bonus.Text = 0
  174. End If
  175. End If
  176.  
  177.  
  178. If Spillerliste(0).PointBlok.EtParSat Then
  179. txtSpiller1EtPar.Text = Spillerliste(0).PointBlok.EtPar
  180. End If
  181. If Spillerliste(1).PointBlok.EtParSat Then
  182. txtSpiller2EtPar.Text = Spillerliste(1).PointBlok.EtPar
  183. End If
  184. If Spillerliste(2).PointBlok.EtParSat Then
  185. txtSpiller3EtPar.Text = Spillerliste(2).PointBlok.EtPar
  186. End If
  187. If Spillerliste(3).PointBlok.EtParSat Then
  188. txtSpiller4EtPar.Text = Spillerliste(3).PointBlok.EtPar
  189. End If
  190. If Spillerliste(4).PointBlok.EtParSat Then
  191. txtSpiller5EtPar.Text = Spillerliste(4).PointBlok.EtPar
  192. End If
  193.  
  194.  
  195.  
  196. If Spillerliste(0).PointBlok.ToParSat Then
  197. txtSpiller1ToPar.Text = Spillerliste(0).PointBlok.ToPar
  198. End If
  199. If Spillerliste(1).PointBlok.ToParSat Then
  200. txtSpiller2ToPar.Text = Spillerliste(1).PointBlok.ToPar
  201. End If
  202. If Spillerliste(2).PointBlok.ToParSat Then
  203. txtSpiller3ToPar.Text = Spillerliste(2).PointBlok.ToPar
  204. End If
  205. If Spillerliste(3).PointBlok.ToParSat Then
  206. txtSpiller4ToPar.Text = Spillerliste(3).PointBlok.ToPar
  207. End If
  208. If Spillerliste(4).PointBlok.ToParSat Then
  209. txtSpiller5ToPar.Text = Spillerliste(4).PointBlok.ToPar
  210. End If
  211.  
  212.  
  213.  
  214. If Spillerliste(0).PointBlok.TreEnsSat Then
  215. txtSpiller1TreEns.Text = Spillerliste(0).PointBlok.TreEns
  216. End If
  217. If Spillerliste(1).PointBlok.TreEnsSat Then
  218. txtSpiller2TreEns.Text = Spillerliste(1).PointBlok.TreEns
  219. End If
  220. If Spillerliste(2).PointBlok.TreEnsSat Then
  221. txtSpiller3TreEns.Text = Spillerliste(2).PointBlok.TreEns
  222. End If
  223. If Spillerliste(3).PointBlok.TreEnsSat Then
  224. txtSpiller4TreEns.Text = Spillerliste(3).PointBlok.TreEns
  225. End If
  226. If Spillerliste(4).PointBlok.TreEnsSat Then
  227. txtSpiller5TreEns.Text = Spillerliste(4).PointBlok.TreEns
  228. End If
  229.  
  230.  
  231.  
  232. If Spillerliste(0).PointBlok.FireEnsSat Then
  233. txtSpiller1FireEns.Text = Spillerliste(0).PointBlok.FireEns
  234. End If
  235. If Spillerliste(1).PointBlok.FireEnsSat Then
  236. txtSpiller2FireEns.Text = Spillerliste(1).PointBlok.FireEns
  237. End If
  238. If Spillerliste(2).PointBlok.FireEnsSat Then
  239. txtSpiller3FireEns.Text = Spillerliste(2).PointBlok.FireEns
  240. End If
  241. If Spillerliste(3).PointBlok.FireEnsSat Then
  242. txtSpiller4FireEns.Text = Spillerliste(3).PointBlok.FireEns
  243. End If
  244. If Spillerliste(4).PointBlok.FireEnsSat Then
  245. txtSpiller5FireEns.Text = Spillerliste(4).PointBlok.FireEns
  246. End If
  247.  
  248.  
  249.  
  250. If Spillerliste(0).PointBlok.LilleStraightSat Then
  251. txtSpiller1LilleStraight.Text = Spillerliste(0).PointBlok.LilleStraight
  252. End If
  253. If Spillerliste(1).PointBlok.LilleStraightSat Then
  254. txtSpiller2LilleStraight.Text = Spillerliste(1).PointBlok.LilleStraight
  255. End If
  256. If Spillerliste(2).PointBlok.LilleStraightSat Then
  257. txtSpiller3LilleStraight.Text = Spillerliste(2).PointBlok.LilleStraight
  258. End If
  259. If Spillerliste(3).PointBlok.LilleStraightSat Then
  260. txtSpiller4LilleStraight.Text = Spillerliste(3).PointBlok.LilleStraight
  261. End If
  262. If Spillerliste(4).PointBlok.LilleStraightSat Then
  263. txtSpiller5LilleStraight.Text = Spillerliste(4).PointBlok.LilleStraight
  264. End If
  265.  
  266.  
  267.  
  268. If Spillerliste(0).PointBlok.StorStraightSat Then
  269. txtSpiller1StorStraight.Text = Spillerliste(0).PointBlok.StorStraight
  270. End If
  271. If Spillerliste(1).PointBlok.StorStraightSat Then
  272. txtSpiller2StorStraight.Text = Spillerliste(1).PointBlok.StorStraight
  273. End If
  274. If Spillerliste(2).PointBlok.StorStraightSat Then
  275. txtSpiller3StorStraight.Text = Spillerliste(2).PointBlok.StorStraight
  276. End If
  277. If Spillerliste(3).PointBlok.StorStraightSat Then
  278. txtSpiller4StorStraight.Text = Spillerliste(3).PointBlok.StorStraight
  279. End If
  280. If Spillerliste(4).PointBlok.StorStraightSat Then
  281. txtSpiller5StorStraight.Text = Spillerliste(4).PointBlok.StorStraight
  282. End If
  283.  
  284.  
  285. If Spillerliste(0).PointBlok.HusSat Then
  286. txtSpiller1Hus.Text = Spillerliste(0).PointBlok.Hus
  287. End If
  288. If Spillerliste(1).PointBlok.HusSat Then
  289. txtSpiller2Hus.Text = Spillerliste(1).PointBlok.Hus
  290. End If
  291. If Spillerliste(2).PointBlok.HusSat Then
  292. txtSpiller3Hus.Text = Spillerliste(2).PointBlok.Hus
  293. End If
  294. If Spillerliste(3).PointBlok.HusSat Then
  295. txtSpiller4Hus.Text = Spillerliste(3).PointBlok.Hus
  296. End If
  297. If Spillerliste(4).PointBlok.HusSat Then
  298. txtSpiller5Hus.Text = Spillerliste(4).PointBlok.Hus
  299. End If
  300.  
  301.  
  302. If Spillerliste(0).PointBlok.ChanceSat Then
  303. txtSpiller1Chance.Text = Spillerliste(0).PointBlok.Chance
  304. End If
  305. If Spillerliste(1).PointBlok.ChanceSat Then
  306. txtSpiller2Chance.Text = Spillerliste(1).PointBlok.Chance
  307. End If
  308. If Spillerliste(2).PointBlok.ChanceSat Then
  309. txtSpiller3Chance.Text = Spillerliste(2).PointBlok.Chance
  310. End If
  311. If Spillerliste(3).PointBlok.ChanceSat Then
  312. txtSpiller4Chance.Text = Spillerliste(3).PointBlok.Chance
  313. End If
  314. If Spillerliste(4).PointBlok.ChanceSat Then
  315. txtSpiller5Chance.Text = Spillerliste(4).PointBlok.Chance
  316. End If
  317.  
  318.  
  319.  
  320. If Spillerliste(0).PointBlok.YatzySat Then
  321. txtSpiller1Yatzy.Text = Spillerliste(0).PointBlok.Yatzy
  322. End If
  323. If Spillerliste(1).PointBlok.YatzySat Then
  324. txtSpiller2Yatzy.Text = Spillerliste(1).PointBlok.Yatzy
  325. End If
  326. If Spillerliste(2).PointBlok.YatzySat Then
  327. txtSpiller3Yatzy.Text = Spillerliste(2).PointBlok.Yatzy
  328. End If
  329. If Spillerliste(3).PointBlok.YatzySat Then
  330. txtSpiller4Yatzy.Text = Spillerliste(3).PointBlok.Yatzy
  331. End If
  332. If Spillerliste(4).PointBlok.YatzySat Then
  333. txtSpiller5Yatzy.Text = Spillerliste(4).PointBlok.Yatzy
  334. End If
  335.  
  336. 'Kalder på metoden, der initierer en opdatering på "Total" for alle spillere i bunden af pointblok
  337. OpdaterTotalStarter()
  338.  
  339. End Sub
  340.  
  341. Public Function CIntOr0(text As String)
  342. Dim result As Integer
  343. If (Integer.TryParse(text, result)) Then
  344. Return result
  345. End If
  346.  
  347. Return 0
  348. End Function
  349.  
  350.  
  351. Private Baeger As New Baeger
  352. Private PointBlok As New PointBlok
  353. Private Spillernr As Integer
  354.  
  355. 'Her defineres alle variable - de skal være her for at de kan bruges over det hele
  356.  
  357. 'antallet er 5, går fra 0 til 4
  358. Dim Spillerliste(5) As Spiller
  359. Dim NuværendeSpiller As Spiller
  360. Dim NuværendeSpillerNummer As Integer = 0
  361. Dim SkiftSpiller1Tæller As Integer = 1
  362. Dim AntalKast As Integer = 0
  363.  
  364.  
  365. Public Sub btnKast_Click(sender As Object, e As EventArgs) Handles btnKast.Click
  366. AntalKast += 1
  367. If AntalKast > 3 Then
  368. MessageBox.Show("Øv øv! Du har ikke flere kast - det er næste spillers tur.", "Skift spiller")
  369. Else
  370. 'Her kaldes på "HoldTerning"-metoden i Baeger classen. I parentesen sender den to typer indhold, opdelt af kommaer:
  371. '"1/2/3/4/5" bruges, så metoden kan kende forskel på, om der arbejdes med "chkTerning1/2/3/4/5"
  372. '"chkTerning1.Checked" sender en besked til metoden, der hedder "chkTerning1.Checked = true or false". Inde i metoden arbejder den med true/false informationen.
  373. Baeger.HoldTerning(1, chkTerning1.Checked)
  374. Baeger.HoldTerning(2, chkTerning2.Checked)
  375. Baeger.HoldTerning(3, chkTerning3.Checked)
  376. Baeger.HoldTerning(4, chkTerning4.Checked)
  377. Baeger.HoldTerning(5, chkTerning5.Checked)
  378.  
  379. Baeger.Ryst()
  380.  
  381. txtTerning1.Text = Baeger.Terning1.Øjne
  382. txtTerning2.Text = Baeger.Terning2.Øjne
  383. txtTerning3.Text = Baeger.Terning3.Øjne
  384. txtTerning4.Text = Baeger.Terning4.Øjne
  385. txtTerning5.Text = Baeger.Terning5.Øjne
  386. btnEnere.Text = Baeger.Antalnr(1)
  387. btnToere.Text = Baeger.Antalnr(2)
  388. btnTreere.Text = Baeger.Antalnr(3)
  389. btnFirere.Text = Baeger.Antalnr(4)
  390. btnFemmere.Text = Baeger.Antalnr(5)
  391. btnSeksere.Text = Baeger.Antalnr(6)
  392.  
  393. btnEtPar.Text = Baeger.CheckEtPar
  394. btnToPar.Text = Baeger.CheckToPar
  395.  
  396. btnTreEns.Text = Baeger.CheckTreEns
  397. btnFireEns.Text = Baeger.CheckFireEns
  398.  
  399. btnLilleStraight.Text = Baeger.CheckLilleStraight
  400. btnStorStraight.Text = Baeger.CheckStorStraight
  401.  
  402. CheckHus()
  403. checkChancen()
  404. checkYatzy()
  405.  
  406.  
  407.  
  408. End If
  409. End Sub
  410.  
  411.  
  412. Public Sub checkYatzy()
  413. If Baeger.Antalnr(1) = 5 * 1 Or Baeger.Antalnr(2) = 5 * 2 Or Baeger.Antalnr(3) = 5 * 3 Or Baeger.Antalnr(4) = 5 * 4 Or Baeger.Antalnr(5) = 5 * 5 Or Baeger.Antalnr(6) = 5 * 6 Then
  414. btnYatzy.Text = 50
  415. Else
  416. btnYatzy.Text = 0
  417. End If
  418. End Sub
  419.  
  420. Public Sub checkChancen()
  421. btnChance.Text = CInt(Baeger.Terning1.Øjne) + CInt(Baeger.Terning2.Øjne) + CInt(Baeger.Terning3.Øjne) + CInt(Baeger.Terning4.Øjne) + CInt(Baeger.Terning5.Øjne)
  422. End Sub
  423.  
  424. Public Sub CheckHus()
  425. If btnFireEns.Text = 0 Then
  426. btnHus.Text = CInt(btnTreEns.Text) + CInt(btnEtPar.Text)
  427. Else btnHus.Text = 0
  428. End If
  429. End Sub
  430.  
  431.  
  432.  
  433.  
  434.  
  435. 'Kører "SkiftSpiller" metoden nedenunder
  436. Private Sub btnSkiftSpiller_Click(sender As Object, e As EventArgs) Handles btnSkiftSpiller.Click
  437. SkiftSpiller()
  438. ResetTerninger()
  439. End Sub
  440.  
  441. Public Sub SkiftSpiller()
  442. ' vi skal have spillerliste(tallet) til at stige med en hver gang, men det kan vi ikke gøre direkte, fordi det er en string
  443. 'derfor skal det laves om til en integer
  444.  
  445. 'nuværendespillernummer = nuværendespillernummer +1
  446. 'TODO: Hver gang nuværendespillernummer=1 skal det tælles og ligges i dim NuværendeSpiller1Tæller
  447.  
  448. NuværendeSpillerNummer += 1
  449. If NuværendeSpillerNummer = 5 Then
  450. NuværendeSpillerNummer = 0
  451. 'Her laver vi en tæller, som tæller op, hver gang at der skiftes til spiller 1, denne bruges til at finde ud af, hvornår vinderen skal udregnes
  452. SkiftSpiller1Tæller += 1
  453. CheckVinder()
  454. End If
  455.  
  456. NuværendeSpiller = Spillerliste(NuværendeSpillerNummer)
  457. txtSpillerTur.Text = NuværendeSpiller.Navn
  458.  
  459. AntalKast = 0
  460.  
  461. End Sub
  462.  
  463. Public Sub CheckVinder()
  464. 'Det tjekkes kun, når det er spiller 1 16. tur, fordi så er alle felter udfyldt.
  465. If SkiftSpiller1Tæller = 16 Then
  466. 'Her laves en variabel som er den spiller med højeste total, og den bliver altid sat til at være spiller 1,
  467. 'og så skal vi så tjekke om der er nogen af de andre spillere, som har over spiller 1.
  468. ' og så laves et loop, hvor alle de andre tjekkes.
  469. 'Ved pointlighed: Laveste spillernummer vinder altid - dvs. hvis 1 og 5 har samme pointantal så vinder 1
  470. Dim SpillerMedHøjesteTotal = 0
  471. For Spiller = 1 To 4
  472. If Spillerliste(Spiller).PointBlok.TotalScore > Spillerliste(SpillerMedHøjesteTotal).PointBlok.TotalScore Then
  473. SpillerMedHøjesteTotal = Spiller
  474. End If
  475. Next
  476.  
  477. Dim andreVindere As New List(Of Integer)
  478. For spiller = SpillerMedHøjesteTotal + 1 To 4
  479. If Spillerliste(spiller).PointBlok.TotalScore = Spillerliste(SpillerMedHøjesteTotal).PointBlok.TotalScore Then
  480. andreVindere.Add(spiller + 1)
  481. End If
  482. Next
  483.  
  484. If andreVindere.Count > 0 Then
  485. spillerMedHøjesteTotal += 1
  486. MessageBox.Show("Spillet blev uafgjort mellem spiller " + SpillerMedHøjesteTotal.ToString + " og " + String.Join(" og ", andreVindere))
  487. Else
  488. spillerMedHøjesteTotal += 1
  489. MessageBox.Show("Spiller " + spillerMedHøjesteTotal.ToString + " vinder spillet! Tillykke!", "Spillet er slut")
  490. End If
  491. End If
  492. End Sub
  493. Private Sub btnNytSpil_Click(sender As Object, e As EventArgs) Handles btnNytSpil.Click
  494. If MsgBox("Er du virkelig sikker på, at du vil afslutte?", MsgBoxStyle.YesNo, "Nyt spil?") = MsgBoxResult.Yes Then
  495. Application.Restart()
  496. End If
  497. End Sub
  498.  
  499. Public Sub ResetTerninger()
  500. chkTerning1.Checked = False
  501. chkTerning2.Checked = False
  502. chkTerning3.Checked = False
  503. chkTerning4.Checked = False
  504. chkTerning5.Checked = False
  505.  
  506. txtTerning1.Text = ""
  507. txtTerning2.Text = ""
  508. txtTerning3.Text = ""
  509. txtTerning4.Text = ""
  510. txtTerning5.Text = ""
  511.  
  512. btnEnere.Text = ""
  513. btnToere.Text = ""
  514. btnTreere.Text = ""
  515. btnFirere.Text = ""
  516. btnFemmere.Text = ""
  517. btnSeksere.Text = ""
  518.  
  519. btnEtPar.Text = ""
  520. btnToPar.Text = ""
  521. btnTreEns.Text = ""
  522. btnFireEns.Text = ""
  523. btnLilleStraight.Text = ""
  524. btnStorStraight.Text = ""
  525. btnHus.Text = ""
  526. btnChance.Text = ""
  527. btnYatzy.Text = ""
  528. End Sub
  529.  
  530. Private Sub btnEnere_Click(sender As Object, e As EventArgs) Handles btnEnere.Click
  531. Dim Vaerdi As Integer
  532. If Not NuværendeSpiller.PointBlok.EnereSat Then
  533. If (Integer.TryParse(btnEnere.Text, Vaerdi)) Then
  534. NuværendeSpiller.PointBlok.Enere = Vaerdi
  535. OpdaterPointListe()
  536. ResetTerninger()
  537. SkiftSpiller()
  538. End If
  539. End If
  540. End Sub
  541.  
  542. Private Sub btnToere_Click(sender As Object, e As EventArgs) Handles btnToere.Click
  543. Dim Vaerdi As Integer
  544. If Not NuværendeSpiller.PointBlok.ToereSat Then
  545. If (Integer.TryParse(btnToere.Text, Vaerdi)) Then
  546. NuværendeSpiller.PointBlok.Toere = Vaerdi
  547. OpdaterPointListe()
  548. ResetTerninger()
  549. SkiftSpiller()
  550. End If
  551. End If
  552. End Sub
  553.  
  554. Private Sub btnTreere_Click(sender As Object, e As EventArgs) Handles btnTreere.Click
  555. Dim Vaerdi As Integer
  556. If Not NuværendeSpiller.PointBlok.TreereSat Then
  557. If (Integer.TryParse(btnTreere.Text, Vaerdi)) Then
  558. NuværendeSpiller.PointBlok.Treere = Vaerdi
  559. OpdaterPointListe()
  560. ResetTerninger()
  561. SkiftSpiller()
  562. End If
  563. End If
  564. End Sub
  565.  
  566. Private Sub btnFirere_Click(sender As Object, e As EventArgs) Handles btnFirere.Click
  567. Dim Vaerdi As Integer
  568. If Not NuværendeSpiller.PointBlok.FirereSat Then
  569. If (Integer.TryParse(btnFirere.Text, Vaerdi)) Then
  570. NuværendeSpiller.PointBlok.Firere = Vaerdi
  571. OpdaterPointListe()
  572. ResetTerninger()
  573. SkiftSpiller()
  574. End If
  575. End If
  576. End Sub
  577.  
  578. Private Sub btnFemmere_Click(sender As Object, e As EventArgs) Handles btnFemmere.Click
  579. Dim Vaerdi As Integer
  580. If Not NuværendeSpiller.PointBlok.FemmereSat Then
  581. If (Integer.TryParse(btnFemmere.Text, Vaerdi)) Then
  582. NuværendeSpiller.PointBlok.Femmere = Vaerdi
  583. OpdaterPointListe()
  584. ResetTerninger()
  585. SkiftSpiller()
  586. End If
  587. End If
  588. End Sub
  589.  
  590. Private Sub btnSeksere_Click(sender As Object, e As EventArgs) Handles btnSeksere.Click
  591. Dim Vaerdi As Integer
  592. If Not NuværendeSpiller.PointBlok.SeksereSat Then
  593. If (Integer.TryParse(btnSeksere.Text, Vaerdi)) Then
  594. NuværendeSpiller.PointBlok.Seksere = Vaerdi
  595. OpdaterPointListe()
  596. ResetTerninger()
  597. SkiftSpiller()
  598. End If
  599. End If
  600. End Sub
  601.  
  602.  
  603. Private Sub btnEtPar_Click(sender As Object, e As EventArgs) Handles btnEtPar.Click
  604. Dim Vaerdi As Integer
  605. If Not NuværendeSpiller.PointBlok.EtParSat Then
  606. If (Integer.TryParse(btnEtPar.Text, Vaerdi)) Then
  607. NuværendeSpiller.PointBlok.EtPar = Vaerdi
  608. OpdaterPointListe()
  609. ResetTerninger()
  610. SkiftSpiller()
  611. End If
  612. End If
  613. End Sub
  614.  
  615. Private Sub btnToPar_Click(sender As Object, e As EventArgs) Handles btnToPar.Click
  616. Dim Vaerdi As Integer
  617. If Not NuværendeSpiller.PointBlok.ToParSat Then
  618. If (Integer.TryParse(btnToPar.Text, Vaerdi)) Then
  619. NuværendeSpiller.PointBlok.ToPar = Vaerdi
  620. OpdaterPointListe()
  621. ResetTerninger()
  622. SkiftSpiller()
  623. End If
  624. End If
  625. End Sub
  626.  
  627.  
  628.  
  629.  
  630. Private Sub btnTreEns_Click(sender As Object, e As EventArgs) Handles btnTreEns.Click
  631. Dim Vaerdi As Integer
  632. If Not NuværendeSpiller.PointBlok.TreEnsSat Then
  633. If (Integer.TryParse(btnTreEns.Text, Vaerdi)) Then
  634. NuværendeSpiller.PointBlok.TreEns = Vaerdi
  635. OpdaterPointListe()
  636. ResetTerninger()
  637. SkiftSpiller()
  638. End If
  639. End If
  640. End Sub
  641.  
  642.  
  643. Private Sub btnFireEns_Click(sender As Object, e As EventArgs) Handles btnFireEns.Click
  644. Dim Vaerdi As Integer
  645. If Not NuværendeSpiller.PointBlok.FireEnsSat Then
  646. If (Integer.TryParse(btnFireEns.Text, Vaerdi)) Then
  647. NuværendeSpiller.PointBlok.FireEns = Vaerdi
  648. OpdaterPointListe()
  649. ResetTerninger()
  650. SkiftSpiller()
  651. End If
  652. End If
  653. End Sub
  654.  
  655.  
  656. Private Sub btnLilleStraight_Click(sender As Object, e As EventArgs) Handles btnLilleStraight.Click
  657. Dim Vaerdi As Integer
  658. If Not NuværendeSpiller.PointBlok.LilleStraightSat Then
  659. If (Integer.TryParse(btnLilleStraight.Text, Vaerdi)) Then
  660. NuværendeSpiller.PointBlok.LilleStraight = Vaerdi
  661. OpdaterPointListe()
  662. ResetTerninger()
  663. SkiftSpiller()
  664. End If
  665. End If
  666. End Sub
  667.  
  668.  
  669. Private Sub btnStorStraight_Click(sender As Object, e As EventArgs) Handles btnStorStraight.Click
  670. Dim Vaerdi As Integer
  671. If Not NuværendeSpiller.PointBlok.StorStraightSat Then
  672. If (Integer.TryParse(btnStorStraight.Text, Vaerdi)) Then
  673. NuværendeSpiller.PointBlok.StorStraight = Vaerdi
  674. OpdaterPointListe()
  675. ResetTerninger()
  676. SkiftSpiller()
  677. End If
  678. End If
  679. End Sub
  680.  
  681.  
  682. Private Sub btnHus_Click(sender As Object, e As EventArgs) Handles btnHus.Click
  683. Dim Vaerdi As Integer
  684. If Not NuværendeSpiller.PointBlok.HusSat Then
  685. If (Integer.TryParse(btnHus.Text, Vaerdi)) Then
  686. NuværendeSpiller.PointBlok.Hus = Vaerdi
  687. OpdaterPointListe()
  688. ResetTerninger()
  689. SkiftSpiller()
  690. End If
  691. End If
  692. End Sub
  693.  
  694.  
  695. Private Sub btnChance_Click(sender As Object, e As EventArgs) Handles btnChance.Click
  696. Dim Vaerdi As Integer
  697. If Not NuværendeSpiller.PointBlok.ChanceSat Then
  698. If (Integer.TryParse(btnChance.Text, Vaerdi)) Then
  699. NuværendeSpiller.PointBlok.Chance = Vaerdi
  700. OpdaterPointListe()
  701. ResetTerninger()
  702. SkiftSpiller()
  703. End If
  704. End If
  705. End Sub
  706.  
  707. Private Sub btnYatzy_Click(sender As Object, e As EventArgs) Handles btnYatzy.Click
  708. Dim Vaerdi As Integer
  709. If Not NuværendeSpiller.PointBlok.YatzySat Then
  710. If (Integer.TryParse(btnYatzy.Text, Vaerdi)) Then
  711. NuværendeSpiller.PointBlok.Yatzy = Vaerdi
  712. OpdaterPointListe()
  713. ResetTerninger()
  714. SkiftSpiller()
  715. End If
  716. End If
  717. End Sub
  718.  
  719.  
  720.  
  721.  
  722. Private Sub MyButtons_Click(sender As Object, e As EventArgs) _
  723. Handles btnEnere.Click, btnToere.Click, btnTreere.Click, btnFirere.Click, btnFemmere.Click, btnSeksere.Click, btnEtPar.Click, btnToPar.Click, btnTreEns.Click, btnFireEns.Click, btnLilleStraight.Click, btnStorStraight.Click, btnHus.Click, btnChance.Click, btnYatzy.Click
  724. 'OpdaterTotalMetode(NuværendeSpillerNummer)
  725. End Sub
  726.  
  727. Public Sub OpdaterTotalStarter()
  728.  
  729. 'Kalder metode og sender info om nuværende spiller
  730. OpdaterTotalMetode(NuværendeSpillerNummer)
  731.  
  732. txtSpiller1Total.Text = Spillerliste(0).PointBlok.TotalScore
  733. txtSpiller2Total.Text = Spillerliste(1).PointBlok.TotalScore
  734. txtSpiller3Total.Text = Spillerliste(2).PointBlok.TotalScore
  735. txtSpiller4Total.Text = Spillerliste(3).PointBlok.TotalScore
  736. txtSpiller5Total.Text = Spillerliste(4).PointBlok.TotalScore
  737.  
  738.  
  739. End Sub
  740.  
  741. Public Sub OpdaterTotalMetode(OpdaterTotalSpillerNr As Integer)
  742.  
  743. Spillerliste(OpdaterTotalSpillerNr).PointBlok.TotalScore = Spillerliste(OpdaterTotalSpillerNr).PointBlok.Enere + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Toere + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Treere + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Firere + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Femmere + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Seksere + Spillerliste(OpdaterTotalSpillerNr).PointBlok.SUM + Spillerliste(OpdaterTotalSpillerNr).PointBlok.EtPar + Spillerliste(OpdaterTotalSpillerNr).PointBlok.ToPar + Spillerliste(OpdaterTotalSpillerNr).PointBlok.TreEns + Spillerliste(OpdaterTotalSpillerNr).PointBlok.FireEns + Spillerliste(OpdaterTotalSpillerNr).PointBlok.LilleStraight + Spillerliste(OpdaterTotalSpillerNr).PointBlok.StorStraight + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Hus + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Chance + Spillerliste(OpdaterTotalSpillerNr).PointBlok.Yatzy
  744.  
  745.  
  746. End Sub
  747.  
  748. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement