ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C# CONSOLE - 행맨 게임 프로그램 만들기
    C# 2017. 2. 7. 00:05
    반응형

    - 이론만 배우기 재미없어서 하는 행맨게임만들기.



    안녕하세요.


    이번엔 개허접한 행맨게임을 들고왔습니다..;;;


    저번 알람프로그램  fd보다는 좀더 꼼꼼한 예외가 처리되어있습니다.



    무튼 이번에 새롭게 나오는게

    - array

    - 전역변수

    - for /while

    - Contains


    이정도네요. 뭐 특별한건 없고 기본문법에서 다 해결된 쉬운 행맨게임이였습니다~


    ====================================================

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.IO;

    using System.Threading;

    namespace Hangman

    {

        class Program

        {

            //전역변수 

            static int person = 0;

            static String answer = "";

            static string[] c = answer.Split(new char[answer.Length]);

            //d를 char 배열로 선언합니다.

            static char[] d = new char[answer.Length];

            static String Tmpanswer = "";

            static void Main(string[] args)

            {

                

                

                Console.WriteLine("행맨게임을 하러오셧군요!");

                ALLProcess();





                // Console.ReadLine();


            }

            static void ALLProcess()

            {

                //숫자설정

                InputPlayUser();

                //문제설정

                InputQnswer();


                Console.WriteLine("게임을 시작합니다.");

                //플레이어들끼리 반복되며 정답 맞추기

                UserAnswerGame();


            }

            static void UserAnswerGame()

            {

                int xx = 1;

                while (true)

                {

                    Console.WriteLine("유저"+xx+" 님 한글자를 입력바랍니다.  ");

                    string User1Char = Console.ReadLine();

                    

                    if (User1Char.Length != 1)

                    {

                        Console.WriteLine("한글자만 입력바랍니다.");

                        Console.WriteLine("기회를 박탈당했습니다. 다음 턴을 기다리십시오.");

                    }else

                    {

                        //한글자만 잘 입력한 경우~

                        //정답과 입력 정답 비교해서 보여주깅

                        bool AnswerContainCheck;

                        AnswerContainCheck = answer.Contains(User1Char);

                        Console.WriteLine(AnswerContainCheck);


                        if (AnswerContainCheck==true)

                        {

                            //Console.WriteLine(d.Length);

                            //break;

                            for (int i = 0; i < answer.Length; i++)

                            {

                                if (answer[i] != User1Char[0])

                                {

                                    continue;

                                }

                                else

                                {

                                    d[i] = User1Char[0];

                                }

                            }

                        

                        }

                    

                        Tmpanswer = "";

                        for (int p = 0; p < answer.Length; p++)

                        {

                            Tmpanswer += d[p];

                        }

                        Console.WriteLine("단어 :  " + Tmpanswer);


                        //단어를 다 맞췃을 경우 --> 새게임을 시작할지 , 종료할지

                        Boolean TmpanswerContainCheck = Tmpanswer.Contains('■');

                        if (TmpanswerContainCheck == false)

                        {

                            Console.WriteLine("정답을 맞추셧습니다.");

                            NewGameSetup();

                            break;

                        }

                    }

                    //User1Char

                    if (xx== person)

                    {

                        //1바퀴 더 돌건지 종료할건지

                        Console.WriteLine("한바퀴를 다 돌았습니다.");

                        UserAnswerGame();

                        break;

                    }

                    xx++;


                }

            }

            static void NewGameSetup()

            {

                Console.WriteLine("다시 게임을 시작하시겠습니까?");

                Console.WriteLine("Y/N (Y 이외의 키는 종료됩니다.)");

                String GameSetYN = Console.ReadLine();

                if (GameSetYN == "Y")

                {

                    ALLProcess();

                }

                else

                {


                    return;

                }

            }

            static void InputQnswer()

            {

                Console.WriteLine("정답을 설정해주세요.");

                answer = Console.ReadLine();


                c = answer.Split(new char[answer.Length]);

                //d를 char 배열로 선언합니다.

                d = new char[answer.Length];


                for (int i = 0;i< answer.Length;i++)

                {

                    d[i] = '■';

                }


            }

            static void InputPlayUser()

            {

                Console.WriteLine("게임 플레이어를 적어주세요.");

                string prsn = Console.ReadLine();

                int numChk = 0;

                bool isNum = int.TryParse(prsn, out numChk);

                if (!isNum)

                {

                    Console.WriteLine("게임 플레이어를 숫자만 적어주세요.");


                    InputPlayUser();

                }

                else

                {

                    person = int.Parse(prsn);

                    Console.WriteLine(person + "명 이서 플레이를 합니다.");

                }


            }

        }

    }

    ====================================================


    ConsoleApplication_Hangman.exe


    반응형

    'C#' 카테고리의 다른 글

    serial 통신  (1) 2020.03.05
    C# microsoft.mshtml.dll DOWNLOAD  (0) 2017.02.04
    C# SHDocVw.dll download  (0) 2017.02.04
    10. C# CONSOLE - 알람프로그램 만들기  (0) 2017.02.04
    9. C# Console - TTS 서비스 이용하기.  (1) 2017.02.04

    댓글

Designed by Tistory.