This commit is contained in:
NBTEMP\bib
2026-09-13 16:00:04 +02:00
3 changed files with 80 additions and 28 deletions
+24 -1
View File
@@ -38,9 +38,32 @@ namespace Casino
public void PlayLoopingSound(byte[] audioBlob)
{
string tempFile = System.IO.Path.Combine(
System.IO.Path.GetTempPath(),
"background.mp3");
"Hintergrundmusik.mp3");
player.Volume = 0.1;
File.WriteAllBytes(tempFile, audioBlob);
player.Open(new Uri(tempFile));
player.MediaEnded -= Player_MediaEnded;
player.MediaEnded += Player_MediaEnded;
player.Play();
}
public void PlayLoopingSound_2(byte[] audioBlob)
{
string tempFile = System.IO.Path.Combine(
System.IO.Path.GetTempPath(),
"Hintergrundmusik_Bus.mp3");
player.Volume = 0.1;
File.WriteAllBytes(tempFile, audioBlob);
+35 -18
View File
@@ -78,14 +78,13 @@ namespace Casino
private List<Card> deck = new List<Card>();
private List<Card> handCards = new List<Card>();
private ImageSource cardBackImage = null!;
Audioplayer music = new Audioplayer();
private int currentPhase = 0;
private decimal currentBet = 0;
private decimal currentProfit = 0;
private bool roundRunning = false;
private static readonly Regex NumberRegex = new Regex("^[0-9]+$");
public Busfahrer()
{
InitializeComponent();
@@ -94,6 +93,7 @@ namespace Casino
UpdateAccountDisplay();
ShowWaitingState();
music.PlayLoopingSound_2(db.GetSound(20));
}
private User CurrentUser => users[MainWindow.currentUser];
@@ -157,25 +157,38 @@ namespace Casino
private void StartRound()
{
if (currentBet <= 0 || currentBet > CurrentUser.Geld)
try
{
ShowWaitingState();
return;
if (currentBet <= 0 || currentBet > CurrentUser.Geld)
{
ShowWaitingState();
return;
}
// Einsatz vom Konto abziehen
CurrentUser.Geld -= Convert.ToInt32(currentBet);
SaveAccount();
currentProfit = 0;
currentPhase = 0;
roundRunning = true;
TxtBet.IsEnabled = false;
LoadCards();
UpdateHandUI();
UpdateWinDisplay();
SetPhaseUI();
}
catch (NullReferenceException)
{
MessageBox.Show(
"Bitte ein Betrag eingeben",
"Fehlermeldung 101",
MessageBoxButton.OK,
MessageBoxImage.Information);
}
// Einsatz vom Konto abziehen
CurrentUser.Geld -= Convert.ToInt32(currentBet);
SaveAccount();
currentProfit = 0;
currentPhase = 0;
roundRunning = true;
TxtBet.IsEnabled = false;
LoadCards();
UpdateHandUI();
UpdateWinDisplay();
SetPhaseUI();
}
private void LoadCards()
@@ -553,6 +566,7 @@ namespace Casino
private void Hauptmenue(object sender, RoutedEventArgs e)
{
music.Stop();
Close();
}
@@ -580,6 +594,9 @@ namespace Casino
// EINSATZ VALIDIERUNG
// =========================
private static readonly Regex NumberRegex = new Regex("^[0-9]+$");
private void TxtBet_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = !NumberRegex.IsMatch(e.Text);
+21 -9
View File
@@ -131,15 +131,27 @@ namespace Casino
private async void Spin(object sender, RoutedEventArgs e)
{
int einsatz = Convert.ToInt32(einsatzFeld.Text);
users[MainWindow.currentUser].Geld-=einsatz;
Konto.Text = users[MainWindow.currentUser].Geld.ToString();
await Spin();
users[MainWindow.currentUser].Geld += CheckWin(currentSlot,einsatz);
Konto.Text = users[MainWindow.currentUser].Geld.ToString();
db.UpdateGeld(
users[MainWindow.currentUser].ID,
users[MainWindow.currentUser].Geld);
int einsatz = Convert.ToInt32(einsatzFeld.Text);
users[MainWindow.currentUser].Geld -= einsatz;
Konto.Text = users[MainWindow.currentUser].Geld.ToString();
await Spin();
users[MainWindow.currentUser].Geld += CheckWin(currentSlot, einsatz);
Konto.Text = users[MainWindow.currentUser].Geld.ToString();
db.UpdateGeld(
users[MainWindow.currentUser].ID,
users[MainWindow.currentUser].Geld);
/* catch (NullReferenceException)
{
MessageBox.Show(
"Bitte ein Betrag eingeben",
"Fehlermeldung 101",
MessageBoxButton.OK,
MessageBoxImage.Information);
}*/
}
private void Hauptmenue(object sender, RoutedEventArgs e)