'얼마나 힘들까?'라는 생각으로 프로젝트를 시작한 적이 있나요? - 몇 달 후에야 대답은 "훨씬 더 어렵습니다. 지금은 확실히 제 수준에서 벗어났습니다."라는 것을 알게 되었습니다. 글쎄요, 제가 한동안 작업해 온 이 프로젝트를 요약한 것입니다. 이야기는 이렇습니다.
저는 수년간 컴퓨터에 관심이 있었습니다. 제가 10대였을 때, 2008년에 처음으로 PC를 만들었는데, 그 당시 소프트웨어는 감당할 수 없을 만큼 신비한 마법 같았습니다. 약 1년 전쯤에 저는 Codecademy에 등록하게 되었습니다. 부분적으로는 미래에 직업을 바꿔야 할지 결정해야 할지에 따라 새로운 기술을 배우려고 노력하는 것이었습니다. 그러나 대부분은 단지 재미와 개인적인 만족을 위한 것이었습니다. 마침내 그 신비한 소프트웨어가 어떻게 작동하는지 조금 더 이해할 수 있게 되었을까요?
첫 번째로 들른 곳은 무료 C# 강좌였는데, 이 강좌에 흥미를 느껴 연간 구독을 신청할 수 있었습니다. 몇 달 후, 저는 큰 일을 하고 컴퓨터 과학 진로를 시작하기로 결정했습니다. 웹 개발과 같은 일을 할 수도 있었지만 처음 컴퓨터에 입문했을 때 코딩 방법뿐만 아니라 내부적으로 작동하는 방식을 배우는 것이 컴퓨터 공학이 내 원래 관심 분야와 더 일치한다고 생각했습니다.
이 과정은 나에게 새로운 언어인 Python을 가르치는 것으로 시작되었습니다. 나는 이 언어가 초보자들에게 가장 인기 있는 언어 중 하나라고 들었고, 그 이유를 알 수 있었습니다. 이전에는 충분히 쉬울 것 같았지만 몇 가지 이상한 문제로 인해 C#을 다루다가 물 만난 오리처럼 Python을 사용하게 되었습니다.
그런데 강좌 중 첫 번째 포트폴리오 프로젝트를 만들어야 하는 부분이 생겼습니다. 요점은 Python으로 터미널 게임을 만들고 이를 GitHub와 블로그 플랫폼에 게시하는 것이었습니다. 처음에 저를 곤경에 빠뜨렸던 과제 중 하나는 제 프로젝트를 다른 사람들과 공유하는 것이었습니다. 나는 공개적으로 내용을 공개하는 것을 꺼리는 경향이 있으며, 특히 내가 하고 있는 일을 제대로 알고 있지 않다고 느낄 때 더욱 그렇습니다. 과거 만화가로서의 실패한 경력은 나에게 "비난"의 위험성을 가르쳐주었습니다. 즉, 잠재적으로 고객을 확보하기 위해서는 내가 실제보다 더 유능하고 아마도 더 경험이 많다는 인상을 주기 때문입니다. 그러나 그것은 또 다른 이야기입니다.
기본적으로 이 긴 서문을 요약하면 제가 이 글을 쓰는 이유는 코드아카데미가 시켜서 했다는 것입니다. 나는 내가 놀라운 코더라는 어떤 환상/망상도 갖고 있지 않습니다. 나는 단지 이 과정을 끝까지 완수하고 그 과정에서 멋진 것들을 배우고 싶은 호기심 많은 괴짜일 뿐입니다. 그리고 당신도 나와 같은 입장이라면 당신도 마찬가지일 것입니다.
그럼 제가 만들 게임은 어떨까요? Blackjack, Tic-Tac-Toe 및 Minesweeper와 같은 몇 가지 시작 제안이 Codecademy에서 있었지만 다른 것을 시도하고 싶었습니다. 제가 매일 즐기는 게임은 현재 New York Times가 소유하고 호스팅하는 "Wordle"입니다. 분명히 그 게임은 한 남자가 여자친구를 위해 만든 작은 개인 프로젝트로 시작되었으며, 저는 게임 규칙이 단순해 보이고 작동 방식이 어떻게 보이는지에 흥미를 느꼈습니다. 그래서 나는 스스로 알아낼 수 있는지 알아보기 위해 나만의 "Wordle" 버전을 만들기 시작했습니다. 결국 얼마나 힘들까요?...
짧은 답변입니다. 제가 단지 초보자라는 점을 고려하면 생각보다 꽤 어렵습니다. 전문가라면 몇 시간 안에 Wordle 클론을 박살낼 수 있을 거라 확신하지만, 나에게는 이 프로젝트가 몇 달에 걸쳐 진행되었습니다. 주로 저녁에 잠자리에 들기 전 작업을 했는데, 정말 즐거운 경험이었습니다. 겉으로는 단순해 보이는 터미널 게임에 움직이는 부분이 이렇게나 많다는 사실에 놀랐습니다.
여기 GitHub에서 내 코드를 찾을 수 있습니다.
이 프로젝트는 아직 진행 중이며, 시간이 지나면 계속해서 버그를 수정하고 기능을 추가할 예정입니다. 간단히 말해서 게임 작동 방식은 다음과 같습니다.
실행 시 사용자에게 스플래시 화면이 표시되고 이름을 입력하라는 메시지가 표시됩니다. 다음으로, 게임은 현재 10개의 6자 단어 테스트 목록에서 백그라운드에 있는 비밀 단어를 선택합니다. 이후 버전에서는 더 많은 가능한 단어를 사용할 수 있도록 이 목록을 확장할 계획입니다. 그런 다음 프로그램은 키보드와 현재 추측의 그리드를 표시합니다. 6자리 추측만 허용되며 영숫자만 사용할 수 있습니다. 추측이 제출될 때마다 프로그램은 추측을 분석하고 이를 비밀 단어와 비교합니다. 플레이어가 올바른 위치에서 올바른 문자를 선택하면 녹색으로 인쇄되고 해당 문자는 키보드에서 녹색으로 변합니다. 문자가 정확하지만 위치가 잘못된 경우 노란색으로 인쇄됩니다. 문자가 올바르지 않으면 회색으로 인쇄됩니다. 이 프로세스는 원래 게임의 논리와 매우 유사하지만 충돌을 일으킬 수 있는 몇 가지 극단적인 경우 버그를 발견했습니다. 플레이어가 6번의 시도 이내에 단어를 정확하게 추측하면 승리합니다. 6번 이상 시도하면 실패로 게임이 종료됩니다.
그렇다면 간단해 보이지만 실제로 이 단계에 이르기까지 몇 달이 걸렸습니다. 코드가 너무 복잡해져서 놀랐고, 나중에 가능하면 단순화할 계획입니다. 동시에 저에게는 정말 즐거운 도전이었고, 여기까지 올 수 있어서 기쁩니다. 지금은 이 과정을 계속 진행하고 싶지만 정기적으로 다시 방문하여 몇 가지 업데이트를 할 생각입니다. 코드에 대한 제안 사항이나 가능한 새로운 기능이 있으면 알려주시기 바랍니다.
위 내용은 당신이 언제 말을 했는지 아시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!