diff --git a/Casino/Blackjack.xaml b/Casino/Blackjack.xaml
deleted file mode 100644
index 6ca8ce9..0000000
--- a/Casino/Blackjack.xaml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Casino/Blackjack.xaml.cs b/Casino/Blackjack.xaml.cs
deleted file mode 100644
index e5db01e..0000000
--- a/Casino/Blackjack.xaml.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-
-namespace Casino
-{
- ///
- /// Interaktionslogik für Blackjack.xaml
- ///
- public partial class Blackjack : Window
- {
- public Blackjack()
- {
- InitializeComponent();
- rand();
- LoadCard(55);
- }
-
- private void LoadCard(int Bild)
- {
- Database db = new Database();
- byte[] img = db.GetCardImage(Bild);//2-10
-
- Dealer_Bild_1.Source = ByteArrayToImage(img);
- }
-
- private BitmapImage ByteArrayToImage(byte[] bytes)
- {
- BitmapImage image = new BitmapImage();
- using (MemoryStream ms = new MemoryStream(bytes))
- {
- image.BeginInit();
- image.CacheOption = BitmapCacheOption.OnLoad;
- image.StreamSource = ms;
- image.EndInit();
- }
- return image;
- }
-
- private int rand()
- {
- Random ran = new Random();
- int temp = ran.Next(13, 66);
- Console.WriteLine(temp);
-
- return 0;
- }
- private void Hauptmenue(object sender, RoutedEventArgs e)
- {
- Close();
- }
-
- //Numberfeld
- private static readonly Regex _regex = new Regex("[^0-9]"); // Regex to match non-numeric input
-
- //nur nummern
- private void TextBox_OnPreviewTextInput(object sender, TextCompositionEventArgs e)
- {
- e.Handled = !_regex.IsMatch(e.Text);
- }
-
- // Keine Spaces
- private void TextBox_OnPreviewKeyDown(object sender, KeyEventArgs e)
- {
- if (e.Key == Key.Space)
- {
- e.Handled = true;
- }
- }
-
- //das man nichts reinkopieren kann außer Zahlen
- private void TextBox_Pasting(object sender, DataObjectPastingEventArgs e)
- {
- if (e.DataObject.GetDataPresent(typeof(String)))
- {
- var text = (String)e.DataObject.GetData((typeof(String)));
- if (!_regex.IsMatch((string)text))
- {
- e.CancelCommand();
- }
- }
- }
- }
-}
diff --git a/Casino/Busfahrer.xaml b/Casino/Busfahrer.xaml
index 9db5637..78675d4 100644
--- a/Casino/Busfahrer.xaml
+++ b/Casino/Busfahrer.xaml
@@ -10,7 +10,7 @@
Width="1800"
WindowState="Maximized"
WindowStyle="None"
- Background="#2C3E50">
+ Background="#195925">
diff --git a/Casino/Busfahrer.xaml.cs b/Casino/Busfahrer.xaml.cs
index 87b5afa..67b01c3 100644
--- a/Casino/Busfahrer.xaml.cs
+++ b/Casino/Busfahrer.xaml.cs
@@ -303,7 +303,7 @@ namespace Casino
UpdateWinDisplay();
SetPhaseUI();
- await Task.Delay(1000);
+ await Task.Delay(100);
// Nächste Runde mit demselben Einsatz
if (currentBet <= CurrentUser.Geld)
diff --git a/Casino/CSH Promts.txt b/Casino/CSH Promts.txt
new file mode 100644
index 0000000..e1f468e
--- /dev/null
+++ b/Casino/CSH Promts.txt
@@ -0,0 +1,235 @@
+-moin mein bester ich möchte gerade eine slot maschiene bauen in wpf und c# wie würdest du das jetzt animieren
+
+-also boss wir pullen uns die img datein aus der datenbank und aktuell ist das der code für slots
+ public Slots()
+ {
+ InitializeComponent();
+
+
+ }
+ private void LoadCard(int Bild)
+ {
+ Database db = new Database();
+ byte[] img = db.GetCardImage(Bild);//2-10
+
+
+ Bild_11.Source = ByteArrayToImage(img);
+ }
+
+
+ private BitmapImage ByteArrayToImage(byte[] bytes)
+ {
+ BitmapImage image = new BitmapImage();
+ using (MemoryStream ms = new MemoryStream(bytes))
+ {
+ image.BeginInit();
+ image.CacheOption = BitmapCacheOption.OnLoad;
+ image.StreamSource = ms;
+ image.EndInit();
+ }
+ return image;
+ }
+und das window ist
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-boss wie soll ich await nutzen ohne die click methode zu einer task machen🤬😩😩😩
+
+-also ich hab jetzt das mal gebaut aber das programm hängt sich auf kannste mir bei der fehler suche helfen
+
+
+private async Task Spin()
+{
+ users[MainWindow.currentUser].Geld += 100;
+ for (int i = 0; i < 50; i++)
+ {
+ int[,] currentSlot = new int[6, 3];
+ for (int j = 6; j<_bilder.Count;j--)
+ {
+ int randomBild = _random.Next(0, AlleBilder.Count);
+
+
+ if (i == 0)
+ {
+ currentSlot[0,j] = randomBild;
+ LoadCard(_bilder[j], randomBild);
+ }
+ else if (i == 1)
+ {
+ currentSlot[1, j] = currentSlot[0, j];
+ LoadCard(_bilder[j + 6], currentSlot[0,j]);
+ currentSlot[0, j] = randomBild;
+ LoadCard(_bilder[j], randomBild);
+ }
+ else
+ {
+ currentSlot[1, j] = currentSlot[0, j];
+ LoadCard(_bilder[j + 12], currentSlot[1, j]);
+ currentSlot[2, j] = currentSlot[1, j];
+ LoadCard(_bilder[j + 6], currentSlot[0, j]);
+ currentSlot[0, j] = randomBild;
+ LoadCard(_bilder[j], randomBild);
+ }
+
+
+ await Task.Delay(70);
+
+
+
+
+ }
+ await Task.Delay(70);
+
+
+ }
+}
+
+-so kollege ich möchte jetzt an ändern das geld abgezogen wird das funktioniert aber nicht wirklich weil das in wpf nicht aktualisiert wird aktuell nutze ich den textblock
+
+
+
+
+
+wenn ich jetzt users[MainWindow.currentUser].Geld += 100; mache wird das geld tarzächlich addiert das hab ich mir in der konsole ausgeben lassen
+was denkst du könnte der fehler sein
+
+-also das erste hab ich soweit ich weiß nicht das zweite hätte ich nicht gedacht das ich das brauche da users eine observablecollection ist
+
+-so boss hab den einfachen weg gewählt und es einfach manuell aktuallisiert jetzt muss ich den wert nur noch in der datenbank ändern ich würde dir einfach eine unserer methoden geben und du schreibst du um
+
+
+public byte[] GetSound(int id)
+{
+ byte[] soundBytes = null;
+
+
+ using (MySqlConnection conn = new MySqlConnection(myConnectionString))
+ {
+ conn.Open();
+ using (MySqlCommand cmd = new MySqlCommand("SELECT sound FROM Sounds WHERE id = @id",conn))
+ {
+ cmd.Parameters.AddWithValue("@id", id);
+
+
+ using (MySqlDataReader reader = cmd.ExecuteReader())
+ {
+ if (reader.Read())
+ {
+ soundBytes = (byte[])reader["sound"];
+ }
+ }
+ }
+ }
+
+
+ return soundBytes;
+}
+
+
+mach ein void draus namens UpdateGeld mit parameter id und geld beides int. und es soll das geld des users mit der id aus dem parameter mit dem geld aus dem parameter ersetzt werden
+
+-wofür steht das m hinter den zahlen und was passiert wenn man das m nicht beim einsatz hinschreibt gibt es dann überhaupt ein gewinn?
+
+-Warum werden die konstanten für in einer reihe nicht benutz? denn so muss ich ja immer im code gucken wo das hochgezählt wird. wird nur in der check win mit den zahlen gearbeitet oder gibt es mehrere stellen?
+
+-so boss wir wollen jetzt hintergrund musik einbiden wir haben bereits eine methode für einfache sound
+public void PlaySound(byte[] audioBlob)
+{
+ string tempFile = System.IO.Path.Combine(
+ System.IO.Path.GetTempPath(),
+ Guid.NewGuid() + ".mp3");
+
+
+
+
+ File.WriteAllBytes(tempFile, audioBlob);
+
+
+ player.Open(new Uri(tempFile));
+ player.Play();
+}
+jetzt soll zusätzlich kommen das der sound sich loopen soll also wenn er endet soll er nochmal abgespielt werden und das für immer. der sound soll sich nicht überlappen weil er ja sonst schlecht klingt
+
+-wir haben einen eigene klasse für sounds ist das egal ob ich die methoden jetzt nicht in slots lege oder auslager. die methode für loopingsounds hab ich jetzt mal in die klasse gelegt aber sie brauch die methode player_Mediaended also sag an was in slots kann und was in die audioplayer methode kann
+
+-so boss das letzt für heute es geht jetzt darum passwörter zu verschlüsseln die in wpf sollte ich ja per passwortbox verschleiern aber jetzt muss ich ja ihrgendwie überprüfen ob das passwort richtig ist und dafür müsste ich das passwort ja entschlüsseln und verschlüsseln in der Datenbank
+
+-also boss kleine frage ich habe eine txt box die ich in der cs datei von dem fenster nicht finden kann hier ist die box
+
+ist daran was falsch?
+
+-boss etwas längere aufgabe für dich lass dir ruhig etwas zeit ich hab hier gleich eine xaml und die dazugehörige cs bitte schreib alles so um das erstens das spiel funktioniert und der code einfacher z.B. kein doppelter code übersichtlich sollte es am besten auch noch sein das spiel geht wie folgt:
+man wird gefragt ob rot oder schwarz man drückt den button dann sieht man ob man richtig gelegen hat
+wenn ja soll der cash out button aktuallisiert werden und die nächste frage kommen wenn nicht kurz warten neu starten die 2. frage ist ob höher oder niedriger du weißt denke ich mal was kommt es wird gezeigt dann kommt die 3. frage ob innerhalb der karten oder außerhalb wenn richtig kommt die frage welches symbol die letzte karte hat also die vier karo, herz, kreuz und piek wenn richtig wird automatisch gecashoutet und nach kurzer zeit wird eine neue runde gestartet was nich funktioniert ist:
+Das geld wird komischerweiße nicht abgezogen.
+Der Cashout button gibt noch die falschen werte an und wenn man ihn drück passiert auch nichts
+
+-boss etwas längere aufgabe für dich lass dir ruhig etwas zeit ich hab hier gleich eine xaml und die dazugehörige cs bitte schreib alles so um das erstens das spiel funktioniert und der code einfacher z.B. kein doppelter code übersichtlich sollte es am besten auch noch sein das spiel geht wie folgt:man wird gefragt ob rot oder schwarz man drückt den button dann sieht man ob man richtig gelegen hatwenn ja soll der cash out button aktuallisiert werden und die nächste frage kommen wenn nicht kurz warten neu starten die 2. frage ist ob höher oder niedriger du weißt denke ich mal was kommt es wird gezeigt dann kommt die 3. frage ob innerhalb der karten oder außerhalb wenn richtig kommt die frage welches symbol die letzte karte hat also die vier karo, herz, kreuz und piek wenn richtig wird automatisch gecashoutet und nach kurzer zeit wird eine neue runde gestartet was nich funktioniert ist:Das geld wird komischerweiße nicht abgezogen.Der Cashout button gibt noch die falschen werte an und wenn man ihn drück passiert auch nichts
Hier noch die xaml:
+
+-so mein bester für unsere database brauch ich jetzt ein insert befehl für user in die nutzer tabelle die user klasse sieht wie folgt aus:
+public string ID { get; set; }
+public string Name { get; set; }
+public int Alter { get; set; }
+public string Passwort { get; set; }
+public decimal Geld { get; set; }
+
+-Wie binde ich sound in WPF/C# mit hilfe von blob Dateien
+
+-in variante 1 was ist mit path und file gemeint es wird versucht anzusprechen ist aber unbekannt
+
+-er sagt mit path ist ein mehrdeutiger verweis welches sollte ich nehmen
+
+-so boss ich würde jetzt gerne das sich die sounds nicht überlagern können dafür hab ich eine extra methode hinzugefügt die nicht nochmal ausgeführt werden kann sollange dieser sound läuft hast ne idee
\ No newline at end of file
diff --git a/Casino/MainWindow.xaml b/Casino/MainWindow.xaml
index 73850d8..c1444c1 100644
--- a/Casino/MainWindow.xaml
+++ b/Casino/MainWindow.xaml
@@ -32,8 +32,7 @@
-
-
+
diff --git a/Casino/MainWindow.xaml.cs b/Casino/MainWindow.xaml.cs
index cf07856..ce0a642 100644
--- a/Casino/MainWindow.xaml.cs
+++ b/Casino/MainWindow.xaml.cs
@@ -35,12 +35,6 @@ namespace Casino
}
- private void Blackjack_Click(object sender, RoutedEventArgs e)
- {
- Blackjack slotsWindow = new Blackjack();
- slotsWindow.Show();
- }
-
private void Busfahrer_Click(object sender, RoutedEventArgs e)
{
Busfahrer slotsWindow = new Busfahrer();
diff --git a/Casino/READ ME.txt b/Casino/READ ME.txt
new file mode 100644
index 0000000..e69de29