Was funktioniert in dieser WPF-Anwendung nicht?

  • WPF

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Was funktioniert in dieser WPF-Anwendung nicht?

    Guten Tag :D

    Ich hatte hier schon mal ein Post für einen Slot Automaten, den Einarmigen Banditen.
    Dieses Programm war für die Schule und ich habe es dank den Mitgliedern des Forums besser hingekriegt als ich es erhoffen konnte.
    Nun habe ich mit meinem Lehrer besprochen, dass ich noch Animationen in das Programm bringen will.

    Er sagte mir, dass es besser wär wenn ich das in WPF machen würde.
    Nun habe ich mal versucht das gleiche Programm in WPF zu schreiben.
    Bis jetzt sieht es genau so aus und der Code hat sich nicht großartig verändert.

    Das Problem das ich habe: Bilder und Sounds werden nicht ausgeführt.

    Ich habe keine Error Message, stattdessen habe ich nichts.

    Ich will erstmal, dass alles wieder so funktioniert wie beim Visual Basic Windows Forms. Danach kommen die Animationen.

    Danke für jede Hilfe! :D

    Spoiler anzeigen

    C#-Quellcode

    1. namespace CS_Slots_v2
    2. {
    3. /// <summary>
    4. /// Interaktionslogik für MainWindow.xaml
    5. /// </summary>
    6. public partial class MainWindow : Window
    7. {
    8. Random rnd = new Random(); // erstellt einen Zufallsgenerator (rnd)
    9. int Geld = 1000;
    10. public MainWindow()
    11. {
    12. InitializeComponent();
    13. textBox1.Text = "0";
    14. label1.Content = "Guthaben:" + " " + Geld + " " + "coins";
    15. }
    16. private void Blyat()
    17. {
    18. System.IO.Stream str = Properties.Resources.blyat;
    19. System.Media.SoundPlayer snd = new System.Media.SoundPlayer(str);
    20. snd.Play();
    21. /*string soundfile = @"E:\TW_2\CS Slots Gamble 14.03.2018\blyat.wav";
    22. var sound = new System.Media.SoundPlayer(soundfile);
    23. sound.Play();*/
    24. }
    25. private void Jackpot()
    26. {
    27. System.IO.Stream str = Properties.Resources.jackpot1;
    28. System.Media.SoundPlayer snd = new System.Media.SoundPlayer(str);
    29. snd.Play();
    30. /*string soundfile = @"E:\TW_2\CS Slots Gamble 14.03.2018\jackpot.wav";
    31. var sound = new System.Media.SoundPlayer(soundfile);
    32. sound.Play();*/
    33. }
    34. private void Sound()
    35. {
    36. Random SOUNDS = new Random();
    37. int soundsz1 = SOUNDS.Next(1, 6);
    38. System.IO.Stream soundfile0 = Properties.Resources.moveout;
    39. System.IO.Stream soundfile1 = Properties.Resources.ct_affirm;
    40. System.IO.Stream soundfile2 = Properties.Resources.go;
    41. System.IO.Stream soundfile3 = Properties.Resources.sound;
    42. System.IO.Stream soundfile4 = Properties.Resources.com_go;
    43. System.IO.Stream soundfile5 = Properties.Resources.com_reportin;
    44. if (soundsz1 == 1)
    45. {
    46. var sound = new System.Media.SoundPlayer(soundfile0);
    47. sound.Play();
    48. }
    49. if (soundsz1 == 2)
    50. {
    51. var sound = new System.Media.SoundPlayer(soundfile1);
    52. sound.Play();
    53. }
    54. if (soundsz1 == 3)
    55. {
    56. var sound = new System.Media.SoundPlayer(soundfile2);
    57. sound.Play();
    58. }
    59. if (soundsz1 == 4)
    60. {
    61. var sound = new System.Media.SoundPlayer(soundfile3);
    62. sound.Play();
    63. }
    64. if (soundsz1 == 5)
    65. {
    66. var sound = new System.Media.SoundPlayer(soundfile4);
    67. sound.Play();
    68. }
    69. if (soundsz1 == 6)
    70. {
    71. var sound = new System.Media.SoundPlayer(soundfile5);
    72. sound.Play();
    73. }
    74. }
    75. private void button1_Click(object sender, EventArgs e)
    76. {
    77. if (checkBox1.IsChecked == false)
    78. {
    79. Sound();
    80. }
    81. label3.Content = "";
    82. int Einsatz = int.Parse(textBox1.Text);
    83. string Währung = "coins";
    84. string GuthabenNachGambling = Geld + " " + Währung;
    85. label1.Content = "Guthaben:" + " " + GuthabenNachGambling;
    86. if (Geld - Einsatz >= 0 && sender == button1)
    87. {
    88. Geld = Geld - Einsatz;
    89. GuthabenNachGambling = Geld + " " + Währung;
    90. label1.Content = "Guthaben:" + " " + GuthabenNachGambling;
    91. int z1 = rnd.Next(1, 8); // erzeugt eine Zufallszahl z1 mit 1 <= z1 < 8
    92. int z2 = rnd.Next(1, 8);
    93. int z3 = rnd.Next(1, 8);
    94. // ------------- Anfang Images -------------
    95. // JACKPOT = 1
    96. BitmapImage jackpot = new BitmapImage();
    97. jackpot.BeginInit();
    98. jackpot.UriSource = new Uri("jackpot.png", UriKind.Relative);
    99. jackpot.EndInit();
    100. if (z1 == 1)
    101. {
    102. pictureBox1.Stretch = Stretch.Fill;
    103. pictureBox1.Source = jackpot;
    104. }
    105. if (z2 == 1)
    106. {
    107. pictureBox1.Stretch = Stretch.Fill;
    108. pictureBox1.Source = jackpot;
    109. }
    110. if (z3 == 1)
    111. {
    112. pictureBox1.Stretch = Stretch.Fill;
    113. pictureBox1.Source = jackpot;
    114. }
    115. // Howl = 2
    116. BitmapImage howl = new BitmapImage();
    117. howl.BeginInit();
    118. howl.UriSource = new Uri("howl.png", UriKind.Relative);
    119. howl.EndInit();
    120. if (z1 == 2)
    121. {
    122. pictureBox1.Stretch = Stretch.Fill;
    123. pictureBox1.Source = howl;
    124. }
    125. if (z2 == 2)
    126. {
    127. pictureBox1.Stretch = Stretch.Fill;
    128. pictureBox1.Source = howl;
    129. }
    130. if (z3 == 2)
    131. {
    132. pictureBox1.Stretch = Stretch.Fill;
    133. pictureBox1.Source = howl;
    134. }
    135. // Ak47 Elite Build = 3
    136. BitmapImage ak47elitebuild = new BitmapImage();
    137. ak47elitebuild.BeginInit();
    138. ak47elitebuild.UriSource = new Uri("ak47elitebuild.png", UriKind.Relative);
    139. ak47elitebuild.EndInit();
    140. if (z1 == 3)
    141. {
    142. pictureBox1.Stretch = Stretch.Fill;
    143. pictureBox1.Source = ak47elitebuild;
    144. }
    145. if (z2 == 3)
    146. {
    147. pictureBox1.Stretch = Stretch.Fill;
    148. pictureBox1.Source = ak47elitebuild;
    149. }
    150. if (z3 == 3)
    151. {
    152. pictureBox1.Stretch = Stretch.Fill;
    153. pictureBox1.Source = ak47elitebuild;
    154. }
    155. // tec9 isaac = 4
    156. BitmapImage tec9isaac = new BitmapImage();
    157. tec9isaac.BeginInit();
    158. tec9isaac.UriSource = new Uri("tec9isaac.png", UriKind.Relative);
    159. tec9isaac.EndInit();
    160. if (z1 == 4)
    161. {
    162. pictureBox1.Stretch = Stretch.Fill;
    163. pictureBox1.Source = tec9isaac;
    164. }
    165. if (z2 == 4)
    166. {
    167. pictureBox1.Stretch = Stretch.Fill;
    168. pictureBox1.Source = tec9isaac;
    169. }
    170. if (z3 == 4)
    171. {
    172. pictureBox1.Stretch = Stretch.Fill;
    173. pictureBox1.Source = tec9isaac;
    174. }
    175. // awp hyper beast = 5
    176. BitmapImage awphyperbeast = new BitmapImage();
    177. awphyperbeast.BeginInit();
    178. awphyperbeast.UriSource = new Uri("tec9isaac.png", UriKind.Relative);
    179. awphyperbeast.EndInit();
    180. if (z1 == 5)
    181. {
    182. pictureBox1.Stretch = Stretch.Fill;
    183. pictureBox1.Source = awphyperbeast;
    184. }
    185. if (z2 == 5)
    186. {
    187. pictureBox1.Stretch = Stretch.Fill;
    188. pictureBox1.Source = awphyperbeast;
    189. }
    190. if (z3 == 5)
    191. {
    192. pictureBox1.Stretch = Stretch.Fill;
    193. pictureBox1.Source = awphyperbeast;
    194. }
    195. // Deagle Blaze = 6
    196. BitmapImage deagleblaze = new BitmapImage();
    197. deagleblaze.BeginInit();
    198. deagleblaze.UriSource = new Uri("deagleblaze.png", UriKind.Relative);
    199. deagleblaze.EndInit();
    200. if (z1 == 6)
    201. {
    202. pictureBox1.Stretch = Stretch.Fill;
    203. pictureBox1.Source = deagleblaze;
    204. }
    205. if (z2 == 6)
    206. {
    207. pictureBox1.Stretch = Stretch.Fill;
    208. pictureBox1.Source = deagleblaze;
    209. }
    210. if (z3 == 6)
    211. {
    212. pictureBox1.Stretch = Stretch.Fill;
    213. pictureBox1.Source = deagleblaze;
    214. }
    215. // Five Seven Banana = 7
    216. BitmapImage fivesevenbanana = new BitmapImage();
    217. fivesevenbanana.BeginInit();
    218. fivesevenbanana.UriSource = new Uri("fivesevenbanana.png", UriKind.Relative);
    219. fivesevenbanana.EndInit();
    220. if (z1 == 7)
    221. {
    222. pictureBox1.Stretch = Stretch.Fill;
    223. pictureBox1.Source = fivesevenbanana;
    224. }
    225. if (z2 == 7)
    226. {
    227. pictureBox1.Stretch = Stretch.Fill;
    228. pictureBox1.Source = fivesevenbanana;
    229. }
    230. if (z3 == 7)
    231. {
    232. pictureBox1.Stretch = Stretch.Fill;
    233. pictureBox1.Source = fivesevenbanana;
    234. }
    235. // ------------- Ende Images -------------
    236. // ------------- Rechnung -------------
    237. if (z1 == z2 || z2 == z3 || z1 == z3)
    238. {
    239. Geld = Geld + 2 * Einsatz;
    240. }
    241. if (z1 == z2 && z2 == z3 && z1 == z3)
    242. {
    243. Geld = Geld + 3 * Einsatz;
    244. }
    245. if (z1 == 1 && z2 == 1 && z3 == 1)
    246. {
    247. Geld = Geld + 10 * Einsatz;
    248. Jackpot();
    249. label3.Content = "JACKPOT!";
    250. }
    251. GuthabenNachGambling = Geld + " " + Währung;
    252. label1.Content = "Guthaben:" + " " + GuthabenNachGambling;
    253. }
    254. else
    255. {
    256. Blyat();
    257. MessageBox.Show("Ungültige Eingabe! Ändern Sie ihren Einsatz");
    258. }
    259. }
    260. }
    261. }


    *Spoiler wegem überlangem Code eingefügt, Anhang wegen EXE-Dateien entfernt*

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hallo

    Wo soll ich nur Anfangen.....

    Erstmal. Einfach so eine Anwendung von WinForms in WPF umzubauen geht fast immer richtig schief. Das sollte dein Lehrer auch wissen.
    Ich habe mir deine "Anwendung" heruntergeladen.

    Angelo schrieb:

    Ich will erstmal, dass alles wieder so funktioniert wie beim Visual Basic Windows Forms. Danach kommen die Animationen.

    Wird aber so nichts. Du hast den Code reinkopiert, ein paar Elemente in XAML erstellt und fertig. Du hast zwar den z.b. den Code für Button1_Click aber der Code kann NIE ausgeführt werden.
    Du hast ja sowohl keinen Handler im Code als auch im XAML nicht. Wie also soll der Compiler denn wissen welchen Code er ausführen soll wenn du den Button klickst.

    Ohne das du dich in die Welt der WPF einliest wird das wohl nix werden. Siehe meine Signatur.
    Vorher brauchst du an Animationen erst gar nicht denken. Sorry. :(

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##