

쌍으로 이루어지는 Dictionary에 키: 카드 인덱스 / 값: 이름과 해석을 넣고 랜덤으로 인덱스를 뽑아 출력한다.
//딕셔너리 변수 정의 public Dictionary<int, string> deck; //딕셔너리 인스턴스화 deck = new Dictionary<int, string="">(); ////딕셔너리 요소 순회 //foreach (var item in deck) //{ // Console.WriteLine(item); //} // 딕셔너리 값 확인 //Console.WriteLine(deck[11]); |
//1~13 랜덤 값 생성 Random random = new Random(); num = random.Next(1, 14); //랜덤 덱 값 출력 Console.WriteLine($"{deck[num]}"); Thread.Sleep(1000); // 1초 정지 Console.Clear(); // 콘솔 창 닦기 |
Dictionary.Clear(); // 전체 삭제
Ditionary.Remove(); // 하나 지우기
Ditionary.ContainsKey(); // 포함하는지 확인
foreach(KeyValuePair<타입,타입> item in dic) // 키, 값 타입 찾기
Ditionary[key] = 수정; // 값 수정
- Program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
namespace taro
{// Dictionary와 랜덤 배열로 타로 카드를 뽑아 소원이 이루어질지 알아본다.
internal class Program
{
static void Main(string[] args)
{
new App();
App app = new App();
Console.WriteLine("\n :: 소원이 이루어질 수 있을까? ::");
Console.WriteLine(" :: 타로 점 보기::\n");
Console.WriteLine("마음 속에 이루고 싶은 소원이 있나요?");
Console.Write("단 한가지 꼭 이루고 싶은 소원을 생각하며 [[Enter Key]]를 누르세요.");
Console.ReadKey();
Console.WriteLine("\n");
Console.Write("카드 섞는 중...");
Thread.Sleep(1000);
Console.Write(".");
Thread.Sleep(1000);
Console.Write(".");
Thread.Sleep(1000);
Console.Write(".");
Thread.Sleep(1000);
Console.Write(".\n");
Console.WriteLine();
Console.WriteLine("카드를 뽑았습니다.");
Console.WriteLine("결과를 보려면 [[Enter Key]]를 누르세요.");
Console.ReadKey();
Console.WriteLine();
Console.Clear();
app.rand();
}
}
}
- App
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace taro
{
public class App
{
//맴버 변수
//딕셔너리 변수 정의
public Dictionary<int, string> deck;
//랜덤 변수 정의
public int num;
//생성자
public App()
{
// Console.WriteLine("App생성자 실행");
//딕셔너리 인스턴스화
deck = new Dictionary<int, string>();
//키-값 추가
deck.Add(1, " 카드: 마법사\n\n 당신의 손 안에 시작과 끝이 있습니다.");
deck.Add(2, " 카드: 여제\n\n 모자람 없이 채워질 것입니다.");
deck.Add(3, " 카드: 황제\n\n 이미 이룬 것이나 다름 없습니다.");
deck.Add(4, " 카드: 연인\n\n 함께 즐거울 수 있어요.");
deck.Add(5, " 카드: 전차\n\n 포스가 당신과 함께합니다. 빠르게 밀고 나가세요.");
deck.Add(6, " 카드: 힘\n\n 당신 안에는 원하는 걸 이룰 수 있는 힘으로 가득차 있습니다.");
deck.Add(7, " 카드: 은둔자\n 신중한 당신은 실패하지 않을 것입니다.");
deck.Add(8, " 카드: 운명의 수레바퀴\n 당신의 운명에 적힌 그대로 이루어질 겁니다.");
deck.Add(9, " 카드: 절제\n 소망이라는 이름의 잔이 기쁨으로 채워져 환하게 빛날 것입니다.");
deck.Add(10, " 카드: 별\n 칠흑같은 어둠 속에서 반짝이는 당신의 꿈을 쫓으세요.");
deck.Add(11, " 카드: 태양\n 어두웠던 과거는 뒤로 하고 세상이 나를 위해 노래 부를 것입니다.");
deck.Add(12, " 카드: 심판\n 노력한만큼 보상 받을 겁니다.");
deck.Add(13, " 카드: 세계\n 원하고 바라던 그 때가 다가오고 있습니다.");
// Console.WriteLine($"{deck[13]}\n");
////딕셔너리 요소 순회
//foreach (var item in deck)
//{
// Console.WriteLine(item);
//}
// 딕셔너리 값 확인
//Console.WriteLine(deck[11]);
}
public void rand()
{
//1~13 랜덤 값 생성
Random random = new Random();
num = random.Next(1, 14);
Console.WriteLine("\n================================================================\n\n");
Console.WriteLine(" 타로 카드로 보는 내 소원의 결과");
Console.WriteLine("\n================================================================\n\n");
Console.WriteLine($"\n 결과: YES\n\n");
//랜덤 덱 값 출력
Console.WriteLine($"{deck[num]}");
Console.WriteLine("\n================================================================\n\n");
Console.WriteLine(" 어떤 카드가 나왔든 ▶운명은 자신의 것◀이라는 걸 기억하세요.");
Console.WriteLine(" 당신이 소원을 이룰 수 있길 기도합니다.\n\n");
}
}
}
'게임 알고리즘' 카테고리의 다른 글
| 익명 매서드_임시 계산기 (1) | 2024.08.18 |
|---|---|
| Delegate_대리자_이름은 하나인데 사용은 서너 개~ (0) | 2024.08.18 |
| 스타크래프트 유닛 생성 기본 (3) | 2024.08.16 |
| enum으로 과일 관리 배열 만들기 (2) | 2024.08.15 |
| List로 인벤토리 생성 (2) | 2024.08.15 |