-
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