I'm trying to develop a card game, where user clicks a button and automatically displays 5 cards. Anyways, right now I'm doing it as a console application, where 5 characters from two-Ace are display and 5 randomly card suits are display. But I can't figure out how to prevent a repetition of a card with a same value+suit. Can anyone please help me. Here is my code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Array values = Enum.GetValues(typeof(CardValue));
Array symbols = Enum.GetValues(typeof(CardSuit));
Random random = new Random();
Random randomsymbol = new Random();
ArrayList mySymbols = new ArrayList();
ArrayList myAl = new ArrayList();
for (int i = 0; i < 5; i++)
{
CardValue randomBar = (CardValue)values.GetValue(random.Next(values.Length));
myAl.Add(randomBar);}
for (int j = 0; j < 5; j++)
{
CardSuit randomsign = (CardSuit)symbols.GetValue(randomsymbol.Next(symbols.Length));
mySymbols.Add(randomsign);
}
Console.WriteLine("Values:");
PrintValues(myAl);
Console.WriteLine();
PrintSigns(mySymbols);
Console.In.ReadLine();
}
enum CardValue { Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace };
enum CardSuit { Hearts, Clubs, Diamonds, Spades };
public static void PrintValues(IEnumerable mylist)
{
foreach (Object obj in mylist)
Console.Write(" {0}", obj);
}
public static void PrintSigns(IEnumerable mySigns)
{
foreach (Object obj1 in mySigns)
Console.Write(" {0}", obj1);
}
}
}