C#으로 만든 Blackjack, Winform base
*승*
다운로드
장바구니
소개글
1. 개발환경- OS : Windows 7 32bit
- Language : C#, 닷넷 framework 4.5.1
- Tool : Visual Studio 2010
- UML : StatUML 5.0
2. 내용
- C#을 이용하여 Blackjack game을 개발한다.
- GUI( Winform base)기반으로 개발한다.
- Class Diagram, Sequence Diagram을 기술한다.
< 게임룰>
- User와 Computer가 1:1 게임을 진행한다.
- 총 5개의 Card를 수령할 수 있다.
- A는 1 또는 11의 값을 선택할 수 있다.
- J,Q,K는 10의 값을 선택한다.
- 카드의 총 score합이 21에 가까운 사람이 승리한다.
- 상대가 21을 over할 경우 넘지 않은 사람이 승리한다.
3. 게임 화면
Game Start : 새 게임을 시작한다.
Hit : User가 카드를 한 장 더 받는다.
Stand : User가 카드 수령을 중단한다. Computer는 나머지 카드에 대한 게임을 진행하고
게임이 마무리 된다.
4. Class 설명
1) Form1 : Form
: GUI의 base를 구성하는 class이다.
Card Drawing, Result Drawing, Start/Hit/Stand Button Click의 기능을 수행한다.
3) Card
카드의 기본 정보를 담은 Struct이다.
iIndex : 카드의 숫자 정보이다. 0 ~ 12까지이며 A ~ K의 값에 대응한다.
iShape : 카드의 무늬 정보이다. 0 ~ 3까지이며 하트, 다이아몬드, 클로버, 스페이드 순서이다.
4) CardStore
13 x 4개의 모든 종류의 카드를 가진 클래스 이다.
InitCard() : 카드를 새로 초기화한다.
GetCard() : User나 Computer가 카드를 1장 수령하기 위한 함수이다.
CheckWin(int user, int computer) : User와 Computer중 승리자를 판단하는 함수이다.
5) Player
게임을 하는 사람에 해당하는 Base class이다.
Card [] hasCard : 자신이 가진 Card정보이다. 최대 5장 까지 수령할 수 있다.
Init() : 자신이 가진 Card를 초기화 한다.
Hit(Card card) : 카드를 1장 더 받는다.
Stand() : 카드 수령을 중단한다.
SetWin(bool win) : 승패를 추가한다.
CalcScore() : 현재 카드의 점수를 계산한다.
GetCard(int iIndex) : 선택한 iIndex에 해당하는 카드 정보를 리턴한다.
.
.
.
컴파일 실행환경
Microsoft visual studio 2010압축파일 내 파일목록
Blackjack/bin/Debug/Blackjack.vshost.exe
Blackjack/bin/Debug/Blackjack.vshost.exe.manifest
Blackjack/Blackjack.csproj
Blackjack/cards_png71x96.zip
Blackjack/ClassDiagram1.cd
Blackjack/Form1.cs
Blackjack/Form1.Designer.cs
Blackjack/Form1.resx
Blackjack/GameClass.cs
Blackjack/Image/c1.png
Blackjack/Image/c10.png
Blackjack/Image/c2.png
Blackjack/Image/c3.png
Blackjack/Image/c4.png
Blackjack/Image/c5.png
Blackjack/Image/c6.png
Blackjack/Image/c7.png
Blackjack/Image/c8.png
Blackjack/Image/c9.png
Blackjack/Image/cardback_blue.png
Blackjack/Image/cardback_red.png
Blackjack/Image/cj.png
Blackjack/Image/ck.png
Blackjack/Image/cq.png
Blackjack/Image/d1.png
Blackjack/Image/d10.png
Blackjack/Image/d2.png
Blackjack/Image/d3.png
Blackjack/Image/d4.png
Blackjack/Image/d5.png
Blackjack/Image/d6.png
Blackjack/Image/d7.png
Blackjack/Image/d8.png
Blackjack/Image/d9.png
Blackjack/Image/dj.png
Blackjack/Image/dk.png
Blackjack/Image/dq.png
Blackjack/Image/ec.png
Blackjack/Image/h1.png
Blackjack/Image/h10.png
Blackjack/Image/h2.png
Blackjack/Image/h3.png
Blackjack/Image/h4.png
Blackjack/Image/h5.png
Blackjack/Image/h6.png
Blackjack/Image/h7.png
Blackjack/Image/h8.png
Blackjack/Image/h9.png
Blackjack/Image/hj.png
Blackjack/Image/hk.png
Blackjack/Image/hq.png
Blackjack/Image/s1.png
Blackjack/Image/s10.png
Blackjack/Image/s2.png
Blackjack/Image/s3.png
Blackjack/Image/s4.png
Blackjack/Image/s5.png
Blackjack/Image/s6.png
Blackjack/Image/s7.png
Blackjack/Image/s8.png
Blackjack/Image/s9.png
Blackjack/Image/sj.png
Blackjack/Image/sk.png
Blackjack/Image/sq.png
Blackjack/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache
Blackjack/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Blackjack/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll
Blackjack/Program.cs
Blackjack/Properties/AssemblyInfo.cs
Blackjack/Properties/Resources.Designer.cs
Blackjack/Properties/Resources.resx
Blackjack/Properties/Settings.Designer.cs
Blackjack/Properties/Settings.settings
BlackJack Game.docx
Blackjack.sln
Blackjack.suo
BlackJack.uml
Blackjack/bin/Debug/Blackjack.vshost.exe.manifest
Blackjack/Blackjack.csproj
Blackjack/cards_png71x96.zip
Blackjack/ClassDiagram1.cd
Blackjack/Form1.cs
Blackjack/Form1.Designer.cs
Blackjack/Form1.resx
Blackjack/GameClass.cs
Blackjack/Image/c1.png
Blackjack/Image/c10.png
Blackjack/Image/c2.png
Blackjack/Image/c3.png
Blackjack/Image/c4.png
Blackjack/Image/c5.png
Blackjack/Image/c6.png
Blackjack/Image/c7.png
Blackjack/Image/c8.png
Blackjack/Image/c9.png
Blackjack/Image/cardback_blue.png
Blackjack/Image/cardback_red.png
Blackjack/Image/cj.png
Blackjack/Image/ck.png
Blackjack/Image/cq.png
Blackjack/Image/d1.png
Blackjack/Image/d10.png
Blackjack/Image/d2.png
Blackjack/Image/d3.png
Blackjack/Image/d4.png
Blackjack/Image/d5.png
Blackjack/Image/d6.png
Blackjack/Image/d7.png
Blackjack/Image/d8.png
Blackjack/Image/d9.png
Blackjack/Image/dj.png
Blackjack/Image/dk.png
Blackjack/Image/dq.png
Blackjack/Image/ec.png
Blackjack/Image/h1.png
Blackjack/Image/h10.png
Blackjack/Image/h2.png
Blackjack/Image/h3.png
Blackjack/Image/h4.png
Blackjack/Image/h5.png
Blackjack/Image/h6.png
Blackjack/Image/h7.png
Blackjack/Image/h8.png
Blackjack/Image/h9.png
Blackjack/Image/hj.png
Blackjack/Image/hk.png
Blackjack/Image/hq.png
Blackjack/Image/s1.png
Blackjack/Image/s10.png
Blackjack/Image/s2.png
Blackjack/Image/s3.png
Blackjack/Image/s4.png
Blackjack/Image/s5.png
Blackjack/Image/s6.png
Blackjack/Image/s7.png
Blackjack/Image/s8.png
Blackjack/Image/s9.png
Blackjack/Image/sj.png
Blackjack/Image/sk.png
Blackjack/Image/sq.png
Blackjack/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache
Blackjack/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Blackjack/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll
Blackjack/Program.cs
Blackjack/Properties/AssemblyInfo.cs
Blackjack/Properties/Resources.Designer.cs
Blackjack/Properties/Resources.resx
Blackjack/Properties/Settings.Designer.cs
Blackjack/Properties/Settings.settings
BlackJack Game.docx
Blackjack.sln
Blackjack.suo
BlackJack.uml