Files
WIR-MACHEN-ALLE-ARM/Casino/Slots.xaml.cs
T
2026-09-07 14:59:02 +02:00

90 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
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
{
/// <summary>
/// Interaktionslogik für Slots.xaml
/// </summary>
public partial class Slots : Window
{
private List<Image> _bilder;
private Random _random = new Random();
Database db = new Database();
private List<Byte[]> AlleBilder;
public Slots()
{
InitializeComponent();
_bilder = new List<Image>
{
Bild_11, Bild_12, Bild_13, Bild_14, Bild_15, Bild_16,
Bild_21, Bild_22, Bild_23, Bild_24, Bild_25, Bild_26,
Bild_31, Bild_32, Bild_33, Bild_34, Bild_35, Bild_36
};
AlleBilder = new List<Byte[]>
{
db.GetCardImage(2),db.GetCardImage(3),db.GetCardImage(4),
db.GetCardImage(5),db.GetCardImage(6),db.GetCardImage(7),
db.GetCardImage(8),db.GetCardImage(9),db.GetCardImage(10),
};
}
private void LoadCard(Image imageControl, int bildId)
{
byte[] img = AlleBilder.ElementAt(bildId);
imageControl.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 async Task Spin()
{
for (int i = 0; i < 50; i++)
{
foreach (var image in _bilder)
{
int randomBild = _random.Next(2, AlleBilder.Count);
LoadCard(image, randomBild);
}
await Task.Delay(70);
}
}
private async void Spin(object sender, RoutedEventArgs e)
{
await Spin();
}
}
}