Codecademy CS101 최종 프로젝트: 블랙잭
2194 단어 codenewbiepythoncodecademy
소개
저는 지난 한 달 동안 Codecademy CS101 과정을 수강했습니다. 그 전에는 Python에 대한 배경 지식이 없었습니다.
Codecademy에서는 CS101 과정을 완료하기 위해 Python을 사용하여 기본 터미널 프로그램을 만들어야 합니다. 프로젝트의 목표는 다음과 같습니다.
* Build a terminal program using Python
* Add at least one interactive feature using input()
* Use Git version control
* Use the command line and file navigation
* Write a technical blog post on the project
Blackjack은 Codecademy가 프로젝트 작성에서 처음으로 제안한 것입니다. 나는 독창적인 아이디어에 기대고 있었지만, 블랙잭 프로그램을 위해 어떤 종류의 로직을 작성해야 할까 하는 생각이 들기 시작했습니다. 나는 약 하루 만에 코드를 작성했습니다.
코드는 here at Github 에서 찾을 수 있습니다.
설계
생성자에 대해 다음 매개변수를 사용하는 Card
클래스를 만들었습니다. self, id, name, suit, value, visibility = True
. for
루프를 사용하여 4가지 슈트(다이아몬드, 클럽, 스페이드, 하트) 각각에 대해 13장의 카드 덱을 생성했습니다.
카드 더미는 random.sample()
를 사용하여 무작위로 섞입니다.
게임이 시작되면 터미널에 "Hit me"를 입력하여 게임을 플레이하라는 메시지가 사용자에게 표시됩니다. 사용자의 입력 프롬프트deal_card
데크의 첫 번째 카드를 사용자의 손에 넣는 기능입니다.
그 이후로 사용자는 두 가지 옵션이 있습니다. 카드를 계속 받는 것("Hit me") 또는 서 있는 것("stand")입니다.
딜러 추가
1인용 게임의 기본 로직을 작성한 후 컴퓨터에서 플레이하는 딜러를 추가했습니다. 딜러는 플레이어의 초기 히트 선택 후 단일 카드를 받습니다. 딜러가 받는 다음 카드는 구멍입니다. 플레이어에게는 숨겨져 있습니다. 딜러는 게임이 끝날 때만 구멍을 공개합니다.
딜러가 스스로를 처리할지 스탠드할지 결정하는 논리는 매우 간단합니다. 카드 계산이 필요하지 않습니다! 딜러는 단순히 자신의 핸드가 18 이상인지 계산합니다. 그렇다면 딜러는 서 있습니다.
게임의 규칙
저는 개인적으로 카지노에서 플레이하는 "공식적인"블랙잭을 플레이한 적이 없습니다. 이 게임의 목적을 위해 저는 다음과 같은 매우 간단한 규칙을 고수했습니다.
* Build a terminal program using Python
* Add at least one interactive feature using input()
* Use Git version control
* Use the command line and file navigation
* Write a technical blog post on the project
생성자에 대해 다음 매개변수를 사용하는
Card
클래스를 만들었습니다. self, id, name, suit, value, visibility = True
. for
루프를 사용하여 4가지 슈트(다이아몬드, 클럽, 스페이드, 하트) 각각에 대해 13장의 카드 덱을 생성했습니다.카드 더미는
random.sample()
를 사용하여 무작위로 섞입니다.게임이 시작되면 터미널에 "Hit me"를 입력하여 게임을 플레이하라는 메시지가 사용자에게 표시됩니다. 사용자의 입력 프롬프트
deal_card
데크의 첫 번째 카드를 사용자의 손에 넣는 기능입니다.그 이후로 사용자는 두 가지 옵션이 있습니다. 카드를 계속 받는 것("Hit me") 또는 서 있는 것("stand")입니다.
딜러 추가
1인용 게임의 기본 로직을 작성한 후 컴퓨터에서 플레이하는 딜러를 추가했습니다. 딜러는 플레이어의 초기 히트 선택 후 단일 카드를 받습니다. 딜러가 받는 다음 카드는 구멍입니다. 플레이어에게는 숨겨져 있습니다. 딜러는 게임이 끝날 때만 구멍을 공개합니다.
딜러가 스스로를 처리할지 스탠드할지 결정하는 논리는 매우 간단합니다. 카드 계산이 필요하지 않습니다! 딜러는 단순히 자신의 핸드가 18 이상인지 계산합니다. 그렇다면 딜러는 서 있습니다.
게임의 규칙
저는 개인적으로 카지노에서 플레이하는 "공식적인"블랙잭을 플레이한 적이 없습니다. 이 게임의 목적을 위해 저는 다음과 같은 매우 간단한 규칙을 고수했습니다.
향후 개선 사항
현재 12개 정도if
문장으로 다소 서투르게 표현되는 다양한 결과가 있습니다. 이것은 리팩토링되어야 합니다.
딜러에게 더 지능적인 AI가 있으면 좋을 것입니다. 그러나 이것은 현재와 가까운 미래에 대한 내 연구 계획의 범위를 벗어납니다.
Reference
이 문제에 관하여(Codecademy CS101 최종 프로젝트: 블랙잭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/xiaowenyuan/codecademy-cs101-final-project-blackjack-2bom
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Codecademy CS101 최종 프로젝트: 블랙잭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/xiaowenyuan/codecademy-cs101-final-project-blackjack-2bom텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)