Initial commit for gitea archival.
|
|
@ -0,0 +1,100 @@
|
||||||
|
# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
|
||||||
|
# mstest test results
|
||||||
|
TestResults
|
||||||
|
|
||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Rr]elease/
|
||||||
|
x64/
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.log
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
*.ncrunch*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.Publish.xml
|
||||||
|
|
||||||
|
# NuGet Packages Directory
|
||||||
|
packages
|
||||||
|
|
||||||
|
# Windows Azure Build Output
|
||||||
|
csx
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Windows Store app package directory
|
||||||
|
AppPackages/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
[Bb]in
|
||||||
|
[Oo]bj
|
||||||
|
sql
|
||||||
|
TestResults
|
||||||
|
[Tt]est[Rr]esult*
|
||||||
|
*.Cache
|
||||||
|
ClientBin
|
||||||
|
[Ss]tyle[Cc]op.*
|
||||||
|
~$*
|
||||||
|
*.dbmdl
|
||||||
|
|
||||||
|
#added for RIA/Silverlight projects
|
||||||
|
Generated_Code
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file to a newer
|
||||||
|
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
After Width: | Height: | Size: 634 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 284 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blackjack", "Blackjack\Blackjack\Blackjack.csproj", "{8BCC83D7-5697-4282-8755-BA157E7BDB86}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlackjackContent", "Blackjack\BlackjackContent\BlackjackContent.contentproj", "{53A91419-7407-4ADC-B67C-715C2B6B120C}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{8BCC83D7-5697-4282-8755-BA157E7BDB86}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{8BCC83D7-5697-4282-8755-BA157E7BDB86}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{8BCC83D7-5697-4282-8755-BA157E7BDB86}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{8BCC83D7-5697-4282-8755-BA157E7BDB86}.Release|x86.Build.0 = Release|x86
|
||||||
|
{53A91419-7407-4ADC-B67C-715C2B6B120C}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{53A91419-7407-4ADC-B67C-715C2B6B120C}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
|
|
@ -0,0 +1,169 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{8BCC83D7-5697-4282-8755-BA157E7BDB86}</ProjectGuid>
|
||||||
|
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>Blackjack</RootNamespace>
|
||||||
|
<AssemblyName>Blackjack</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
|
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
|
||||||
|
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
|
||||||
|
<XnaPlatform>Windows</XnaPlatform>
|
||||||
|
<XnaProfile>HiDef</XnaProfile>
|
||||||
|
<XnaCrossPlatformGroupID>418aa78c-6435-4a5b-b98a-67118a1d19da</XnaCrossPlatformGroupID>
|
||||||
|
<XnaOutputType>Game</XnaOutputType>
|
||||||
|
<ApplicationIcon>Game.ico</ApplicationIcon>
|
||||||
|
<Thumbnail>GameThumbnail.png</Thumbnail>
|
||||||
|
<PublishUrl>publish\</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\x86\Debug</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<NoStdLib>true</NoStdLib>
|
||||||
|
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<XnaCompressContent>False</XnaCompressContent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\x86\Release</OutputPath>
|
||||||
|
<DefineConstants>TRACE;WINDOWS</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<NoStdLib>true</NoStdLib>
|
||||||
|
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<XnaCompressContent>true</XnaCompressContent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.GamerServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Xact, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Video, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Avatar, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Storage, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="mscorlib">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Core">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.Linq">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="CardData.cs" />
|
||||||
|
<Compile Include="CardDeck.cs" />
|
||||||
|
<Compile Include="CardTextures.cs" />
|
||||||
|
<Compile Include="GamePlayer.cs" />
|
||||||
|
<Compile Include="GameBanker.cs" />
|
||||||
|
<Compile Include="GameButton.cs" />
|
||||||
|
<Compile Include="PlayScreen.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="MainGame.cs" />
|
||||||
|
<Compile Include="StartScreen.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Game.ico" />
|
||||||
|
<Content Include="GameThumbnail.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\AIProjectContent\AIProjectContent.contentproj">
|
||||||
|
<Name>AIProjectContent</Name>
|
||||||
|
<XnaReferenceType>Content</XnaReferenceType>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Windows Installer 3.1</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Xna.Framework.4.0">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Microsoft XNA Framework Redistributable 4.0</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" />
|
||||||
|
<!--
|
||||||
|
To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
|
|
@ -0,0 +1,231 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
public enum CardFace {
|
||||||
|
Up,
|
||||||
|
Down
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum CardSuit{
|
||||||
|
Null,
|
||||||
|
Heart,
|
||||||
|
Diamond,
|
||||||
|
Spade,
|
||||||
|
Club
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum CardLabel {
|
||||||
|
Null,
|
||||||
|
Ace,
|
||||||
|
Two,
|
||||||
|
Three,
|
||||||
|
Four,
|
||||||
|
Five,
|
||||||
|
Six,
|
||||||
|
Seven,
|
||||||
|
Eight,
|
||||||
|
Nine,
|
||||||
|
Ten,
|
||||||
|
Jack,
|
||||||
|
Queen,
|
||||||
|
King
|
||||||
|
}
|
||||||
|
|
||||||
|
class CardData {
|
||||||
|
|
||||||
|
private CardFace _CardFacePosition = CardFace.Down;
|
||||||
|
|
||||||
|
public CardFace CardFacePosition {
|
||||||
|
get { return _CardFacePosition; }
|
||||||
|
set { _CardFacePosition = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CardLabel _cardlabel = CardLabel.Null;
|
||||||
|
|
||||||
|
public CardLabel CardLabel {
|
||||||
|
get { return _cardlabel; }
|
||||||
|
set { _cardlabel = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private CardSuit _mysuit = CardSuit.Null;
|
||||||
|
|
||||||
|
public CardSuit CardSuit {
|
||||||
|
get { return _mysuit; }
|
||||||
|
set { _mysuit = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public CardData(CardLabel cardvalue, CardSuit suit, CardFace pos) {
|
||||||
|
CardLabel = cardvalue;
|
||||||
|
CardSuit = suit;
|
||||||
|
CardFacePosition = pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Texture2D getCardTexture() {
|
||||||
|
if (CardFacePosition == CardFace.Up) {
|
||||||
|
if (CardLabel == Blackjack.CardLabel.Ace) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Ace;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Ace;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Ace;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Ace;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Two) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Two;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Two;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Two;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Two;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Three) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Three;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Three;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Three;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Three;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Four) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Four;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Four;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Four;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Four;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Five) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Five;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Five;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Five;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Five;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Six) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Six;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Six;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Six;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Six;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Seven) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Seven;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Seven;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Seven;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Seven;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Eight) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Eight;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Eight;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Eight;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Eight;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Nine) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Nine;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Nine;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Nine;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Nine;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Ten) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Ten;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Ten;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Ten;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Ten;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Jack) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Jack;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Jack;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Jack;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Jack;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.Queen) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_Queen;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_Queen;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_Queen;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_Queen;
|
||||||
|
} else if (CardLabel == Blackjack.CardLabel.King) {
|
||||||
|
if (CardSuit == Blackjack.CardSuit.Club)
|
||||||
|
return CardTextures.Club_King;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Diamond)
|
||||||
|
return CardTextures.Diamond_King;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Heart)
|
||||||
|
return CardTextures.Hearts_King;
|
||||||
|
else if (CardSuit == Blackjack.CardSuit.Spade)
|
||||||
|
return CardTextures.Spade_King;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
return CardTextures.Card_Back;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCardValue() {
|
||||||
|
switch (CardLabel) {
|
||||||
|
case Blackjack.CardLabel.Ace:
|
||||||
|
return 1;
|
||||||
|
case Blackjack.CardLabel.Two:
|
||||||
|
return 2;
|
||||||
|
case Blackjack.CardLabel.Three:
|
||||||
|
return 3;
|
||||||
|
case Blackjack.CardLabel.Four:
|
||||||
|
return 4;
|
||||||
|
case Blackjack.CardLabel.Five:
|
||||||
|
return 5;
|
||||||
|
case Blackjack.CardLabel.Six:
|
||||||
|
return 6;
|
||||||
|
case Blackjack.CardLabel.Seven:
|
||||||
|
return 7;
|
||||||
|
case Blackjack.CardLabel.Eight:
|
||||||
|
return 8;
|
||||||
|
case Blackjack.CardLabel.Nine:
|
||||||
|
return 9;
|
||||||
|
case Blackjack.CardLabel.Ten:
|
||||||
|
case Blackjack.CardLabel.Jack:
|
||||||
|
case Blackjack.CardLabel.Queen:
|
||||||
|
case Blackjack.CardLabel.King:
|
||||||
|
return 10;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
class CardDeck {
|
||||||
|
|
||||||
|
Random rd = new Random();
|
||||||
|
public List<CardData> Deck = new List<CardData>();
|
||||||
|
|
||||||
|
public CardDeck() {
|
||||||
|
restoreDeck();
|
||||||
|
shuffleDeck();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void restoreDeck() {
|
||||||
|
Deck.Clear();
|
||||||
|
CardSuit[] suits = { CardSuit.Club, CardSuit.Diamond, CardSuit.Heart, CardSuit.Spade };
|
||||||
|
CardLabel[] labels = { CardLabel.Ace, CardLabel.Two,
|
||||||
|
CardLabel.Three, CardLabel.Four,
|
||||||
|
CardLabel.Five, CardLabel.Six,
|
||||||
|
CardLabel.Seven, CardLabel.Eight,
|
||||||
|
CardLabel.Nine, CardLabel.Ten,
|
||||||
|
CardLabel.Jack, CardLabel.King,
|
||||||
|
CardLabel.King };
|
||||||
|
|
||||||
|
foreach (CardSuit s in suits) {
|
||||||
|
foreach (CardLabel l in labels) {
|
||||||
|
CardData crd = new CardData(l, s, CardFace.Down);
|
||||||
|
Deck.Add(crd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void shuffleDeck() {
|
||||||
|
//shuffle 3 times.
|
||||||
|
for (int j = 0; j < 3; j++) {
|
||||||
|
for (int i = 0; i < Deck.Count; i++) {
|
||||||
|
int rpos = rd.Next(Deck.Count - 1);
|
||||||
|
CardData tmp = Deck[rpos];
|
||||||
|
Deck[rpos] = Deck[i];
|
||||||
|
Deck[i] = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDeckCount() {
|
||||||
|
return Deck.Count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CardData getTop(CardFace pos) {
|
||||||
|
CardData crd = null;
|
||||||
|
if (Deck.Count > 0) {
|
||||||
|
Deck[0].CardFacePosition = pos;
|
||||||
|
crd = Deck[0];
|
||||||
|
Deck.RemoveAt(0);
|
||||||
|
}
|
||||||
|
return crd;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
class CardTextures {
|
||||||
|
|
||||||
|
public static Texture2D Hearts_Ace;
|
||||||
|
public static Texture2D Hearts_Two;
|
||||||
|
public static Texture2D Hearts_Three;
|
||||||
|
public static Texture2D Hearts_Four;
|
||||||
|
public static Texture2D Hearts_Five;
|
||||||
|
public static Texture2D Hearts_Six;
|
||||||
|
public static Texture2D Hearts_Seven;
|
||||||
|
public static Texture2D Hearts_Eight;
|
||||||
|
public static Texture2D Hearts_Nine;
|
||||||
|
public static Texture2D Hearts_Ten;
|
||||||
|
public static Texture2D Hearts_Jack;
|
||||||
|
public static Texture2D Hearts_Queen;
|
||||||
|
public static Texture2D Hearts_King;
|
||||||
|
|
||||||
|
public static Texture2D Diamond_Ace;
|
||||||
|
public static Texture2D Diamond_Two;
|
||||||
|
public static Texture2D Diamond_Three;
|
||||||
|
public static Texture2D Diamond_Four;
|
||||||
|
public static Texture2D Diamond_Five;
|
||||||
|
public static Texture2D Diamond_Six;
|
||||||
|
public static Texture2D Diamond_Seven;
|
||||||
|
public static Texture2D Diamond_Eight;
|
||||||
|
public static Texture2D Diamond_Nine;
|
||||||
|
public static Texture2D Diamond_Ten;
|
||||||
|
public static Texture2D Diamond_Jack;
|
||||||
|
public static Texture2D Diamond_Queen;
|
||||||
|
public static Texture2D Diamond_King;
|
||||||
|
|
||||||
|
public static Texture2D Spade_Ace;
|
||||||
|
public static Texture2D Spade_Two;
|
||||||
|
public static Texture2D Spade_Three;
|
||||||
|
public static Texture2D Spade_Four;
|
||||||
|
public static Texture2D Spade_Five;
|
||||||
|
public static Texture2D Spade_Six;
|
||||||
|
public static Texture2D Spade_Seven;
|
||||||
|
public static Texture2D Spade_Eight;
|
||||||
|
public static Texture2D Spade_Nine;
|
||||||
|
public static Texture2D Spade_Ten;
|
||||||
|
public static Texture2D Spade_Jack;
|
||||||
|
public static Texture2D Spade_Queen;
|
||||||
|
public static Texture2D Spade_King;
|
||||||
|
|
||||||
|
public static Texture2D Club_Ace;
|
||||||
|
public static Texture2D Club_Two;
|
||||||
|
public static Texture2D Club_Three;
|
||||||
|
public static Texture2D Club_Four;
|
||||||
|
public static Texture2D Club_Five;
|
||||||
|
public static Texture2D Club_Six;
|
||||||
|
public static Texture2D Club_Seven;
|
||||||
|
public static Texture2D Club_Eight;
|
||||||
|
public static Texture2D Club_Nine;
|
||||||
|
public static Texture2D Club_Ten;
|
||||||
|
public static Texture2D Club_Jack;
|
||||||
|
public static Texture2D Club_Queen;
|
||||||
|
public static Texture2D Club_King;
|
||||||
|
|
||||||
|
public static Texture2D Card_Back;
|
||||||
|
|
||||||
|
public static void loadCardTextures(Game game) {
|
||||||
|
|
||||||
|
Card_Back = game.Content.Load<Texture2D>("Card_Back");
|
||||||
|
|
||||||
|
Hearts_Ace = game.Content.Load<Texture2D>("Hearts_Ace");
|
||||||
|
Hearts_Two = game.Content.Load<Texture2D>("Hearts_Two");
|
||||||
|
Hearts_Three = game.Content.Load<Texture2D>("Hearts_Three");
|
||||||
|
Hearts_Four = game.Content.Load<Texture2D>("Hearts_Four");
|
||||||
|
Hearts_Five = game.Content.Load<Texture2D>("Hearts_Five");
|
||||||
|
Hearts_Six = game.Content.Load<Texture2D>("Hearts_Six");
|
||||||
|
Hearts_Seven = game.Content.Load<Texture2D>("Hearts_Seven");
|
||||||
|
Hearts_Eight = game.Content.Load<Texture2D>("Hearts_Eight");
|
||||||
|
Hearts_Nine = game.Content.Load<Texture2D>("Hearts_Nine");
|
||||||
|
Hearts_Ten = game.Content.Load<Texture2D>("Hearts_Ten");
|
||||||
|
Hearts_Jack = game.Content.Load<Texture2D>("Hearts_Jack");
|
||||||
|
Hearts_Queen = game.Content.Load<Texture2D>("Hearts_Queen");
|
||||||
|
Hearts_King = game.Content.Load<Texture2D>("Hearts_King");
|
||||||
|
|
||||||
|
Diamond_Ace = game.Content.Load<Texture2D>("Diamond_Ace");
|
||||||
|
Diamond_Two = game.Content.Load<Texture2D>("Diamond_Two");
|
||||||
|
Diamond_Three = game.Content.Load<Texture2D>("Diamond_Three");
|
||||||
|
Diamond_Four = game.Content.Load<Texture2D>("Diamond_Four");
|
||||||
|
Diamond_Five = game.Content.Load<Texture2D>("Diamond_Five");
|
||||||
|
Diamond_Six = game.Content.Load<Texture2D>("Diamond_Six");
|
||||||
|
Diamond_Seven = game.Content.Load<Texture2D>("Diamond_Seven");
|
||||||
|
Diamond_Eight = game.Content.Load<Texture2D>("Diamond_Eight");
|
||||||
|
Diamond_Nine = game.Content.Load<Texture2D>("Diamond_Nine");
|
||||||
|
Diamond_Ten = game.Content.Load<Texture2D>("Diamond_Ten");
|
||||||
|
Diamond_Jack = game.Content.Load<Texture2D>("Diamond_Jack");
|
||||||
|
Diamond_Queen = game.Content.Load<Texture2D>("Diamond_Queen");
|
||||||
|
Diamond_King = game.Content.Load<Texture2D>("Diamond_King");
|
||||||
|
|
||||||
|
Spade_Ace = game.Content.Load<Texture2D>("Spade_Ace");
|
||||||
|
Spade_Two = game.Content.Load<Texture2D>("Spade_Two");
|
||||||
|
Spade_Three = game.Content.Load<Texture2D>("Spade_Three");
|
||||||
|
Spade_Four = game.Content.Load<Texture2D>("Spade_Four");
|
||||||
|
Spade_Five = game.Content.Load<Texture2D>("Spade_Five");
|
||||||
|
Spade_Six = game.Content.Load<Texture2D>("Spade_Six");
|
||||||
|
Spade_Seven = game.Content.Load<Texture2D>("Spade_Seven");
|
||||||
|
Spade_Eight = game.Content.Load<Texture2D>("Spade_Eight");
|
||||||
|
Spade_Nine = game.Content.Load<Texture2D>("Spade_Nine");
|
||||||
|
Spade_Ten = game.Content.Load<Texture2D>("Spade_Ten");
|
||||||
|
Spade_Jack = game.Content.Load<Texture2D>("Spade_Jack");
|
||||||
|
Spade_Queen = game.Content.Load<Texture2D>("Spade_Queen");
|
||||||
|
Spade_King = game.Content.Load<Texture2D>("Spade_King");
|
||||||
|
|
||||||
|
Club_Ace = game.Content.Load<Texture2D>("Club_Ace");
|
||||||
|
Club_Two = game.Content.Load<Texture2D>("Club_Two");
|
||||||
|
Club_Three = game.Content.Load<Texture2D>("Club_Three");
|
||||||
|
Club_Four = game.Content.Load<Texture2D>("Club_Four");
|
||||||
|
Club_Five = game.Content.Load<Texture2D>("Club_Five");
|
||||||
|
Club_Six = game.Content.Load<Texture2D>("Club_Six");
|
||||||
|
Club_Seven = game.Content.Load<Texture2D>("Club_Seven");
|
||||||
|
Club_Eight = game.Content.Load<Texture2D>("Club_Eight");
|
||||||
|
Club_Nine = game.Content.Load<Texture2D>("Club_Nine");
|
||||||
|
Club_Ten = game.Content.Load<Texture2D>("Club_Ten");
|
||||||
|
Club_Jack = game.Content.Load<Texture2D>("Club_Jack");
|
||||||
|
Club_Queen = game.Content.Load<Texture2D>("Club_Queen");
|
||||||
|
Club_King = game.Content.Load<Texture2D>("Club_King");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 4.2 KiB |
|
|
@ -0,0 +1,100 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
class GameBanker {
|
||||||
|
|
||||||
|
List<CardData> CardHand = new List<CardData>();
|
||||||
|
|
||||||
|
MainGame game;
|
||||||
|
|
||||||
|
public GameBanker(MainGame game){
|
||||||
|
this.game = game;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Draw(SpriteBatch spriteBatch, Vector2 pos_offset) {
|
||||||
|
int cardLeft = 0;
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
spriteBatch.Draw(crd.getCardTexture(), new Vector2(pos_offset.X + cardLeft, pos_offset.Y), Color.White);
|
||||||
|
cardLeft += 45;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlayerStatusEnum _stat = PlayerStatusEnum.Normal;
|
||||||
|
|
||||||
|
public PlayerStatusEnum PlayerStatus {
|
||||||
|
get { return _stat; }
|
||||||
|
set { _stat = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetCardTotal() {
|
||||||
|
bool containsAce = false;
|
||||||
|
int aceCount = 0;
|
||||||
|
int total = 0;
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
if (crd.CardLabel == CardLabel.Ace) {
|
||||||
|
aceCount++;
|
||||||
|
containsAce = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (containsAce) {
|
||||||
|
//provide highest possible value.
|
||||||
|
int sumnoace = 0;
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
if (crd.CardLabel != CardLabel.Ace && crd.CardFacePosition == CardFace.Up) sumnoace += crd.getCardValue();
|
||||||
|
}
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
if (crd.CardLabel == CardLabel.Ace && crd.CardFacePosition == CardFace.Up) {
|
||||||
|
if (sumnoace + 11 <= 21) sumnoace += crd.getCardValue();
|
||||||
|
else sumnoace++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//for (int i = 0; i < aceCount; i++) {
|
||||||
|
// if (sumnoace + 11 <= 21) sumnoace += 11;
|
||||||
|
// else sumnoace++;
|
||||||
|
//}
|
||||||
|
return sumnoace;
|
||||||
|
} else {
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
if(crd.CardFacePosition == CardFace.Up) total += crd.getCardValue();
|
||||||
|
}
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool allCardsFlippedUp = false;
|
||||||
|
|
||||||
|
public void flipAllCardsUp() {
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
crd.CardFacePosition = CardFace.Up;
|
||||||
|
}
|
||||||
|
allCardsFlippedUp = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddCard(CardData card) {
|
||||||
|
CardHand.Add(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearHand() {
|
||||||
|
CardHand.Clear();
|
||||||
|
PlayerStatus = PlayerStatusEnum.Normal;
|
||||||
|
allCardsFlippedUp = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHandCount() {
|
||||||
|
return CardHand.Count;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
public enum GameButtonStates {
|
||||||
|
Normal,
|
||||||
|
Pressed,
|
||||||
|
Hover,
|
||||||
|
Disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GameButton{
|
||||||
|
|
||||||
|
MainGame game;
|
||||||
|
|
||||||
|
//image state textures
|
||||||
|
Texture2D img_normal;
|
||||||
|
Texture2D img_hover;
|
||||||
|
Texture2D img_pressed;
|
||||||
|
Texture2D img_disabled;
|
||||||
|
|
||||||
|
Texture2D empty;
|
||||||
|
|
||||||
|
//Button properties
|
||||||
|
int Width = 0;
|
||||||
|
int Height = 0;
|
||||||
|
int Left = 0;
|
||||||
|
int Top = 0;
|
||||||
|
|
||||||
|
Rectangle buttonrect;
|
||||||
|
MouseState mlstate;
|
||||||
|
|
||||||
|
GameButtonStates prevstate = GameButtonStates.Normal;
|
||||||
|
|
||||||
|
public delegate void ButtonClickedEvent();
|
||||||
|
public event ButtonClickedEvent OnClick;
|
||||||
|
|
||||||
|
int otop = -1;
|
||||||
|
|
||||||
|
public GameButton(MainGame game, int X, int Y, int Width, int Height) {
|
||||||
|
this.game = game;
|
||||||
|
this.Width = Width;
|
||||||
|
this.Height = Height;
|
||||||
|
Left = X;
|
||||||
|
Top = Y;
|
||||||
|
|
||||||
|
empty = new Texture2D(game.GraphicsDevice, 1, 1);
|
||||||
|
empty.SetData(new Color[] { Color.White });
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(GameTime gameTime) {
|
||||||
|
if (_visible) {
|
||||||
|
buttonrect = new Rectangle(Left, Top, Width, Height);
|
||||||
|
MouseState mstate = Mouse.GetState();
|
||||||
|
if (buttonrect.Contains(new Point(mstate.X, mstate.Y))) {
|
||||||
|
if (mstate.LeftButton == ButtonState.Released) {
|
||||||
|
MyState = GameButtonStates.Hover;
|
||||||
|
if (prevstate == GameButtonStates.Pressed) {
|
||||||
|
Top = otop;
|
||||||
|
}
|
||||||
|
} else if (mstate.LeftButton == ButtonState.Pressed) {
|
||||||
|
if (MyState != GameButtonStates.Pressed) {
|
||||||
|
otop = otop == -1 ? Top : otop;
|
||||||
|
Top = otop + 1;
|
||||||
|
if (OnClick != null) OnClick();
|
||||||
|
}
|
||||||
|
prevstate = MyState;
|
||||||
|
MyState = GameButtonStates.Pressed;
|
||||||
|
} else if (mstate.LeftButton == ButtonState.Released && mlstate.LeftButton == ButtonState.Pressed) {
|
||||||
|
MyState = GameButtonStates.Normal;
|
||||||
|
Top = otop;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
MyState = GameButtonStates.Normal;
|
||||||
|
}
|
||||||
|
mlstate = mstate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Draw(SpriteBatch spriteBatch) {
|
||||||
|
if (_visible) {
|
||||||
|
switch (MyState) {
|
||||||
|
case GameButtonStates.Normal:
|
||||||
|
case GameButtonStates.Pressed:
|
||||||
|
if (img_normal != null) spriteBatch.Draw(img_normal, buttonrect, Color.White);
|
||||||
|
break;
|
||||||
|
case GameButtonStates.Hover:
|
||||||
|
if (img_hover != null) spriteBatch.Draw(img_hover, buttonrect, Color.White);
|
||||||
|
break;
|
||||||
|
case GameButtonStates.Disabled:
|
||||||
|
if (img_disabled != null) spriteBatch.Draw(img_disabled, buttonrect, Color.White);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool _visible = true;
|
||||||
|
|
||||||
|
public void setVisible(bool visible){
|
||||||
|
_visible = visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNormalImage(String contentname) {
|
||||||
|
img_normal = game.Content.Load<Texture2D>(contentname);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHoverImage(String contentname) {
|
||||||
|
img_hover = game.Content.Load<Texture2D>(contentname);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPressedImage(String contentname) {
|
||||||
|
img_pressed = game.Content.Load<Texture2D>(contentname);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisabledImage(String contentname) {
|
||||||
|
img_disabled = game.Content.Load<Texture2D>(contentname);
|
||||||
|
}
|
||||||
|
|
||||||
|
private GameButtonStates _mystate = GameButtonStates.Normal;
|
||||||
|
public GameButtonStates MyState {
|
||||||
|
get { return _mystate; }
|
||||||
|
set { _mystate = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,94 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
public enum PlayerStatusEnum {
|
||||||
|
Normal,
|
||||||
|
Stay,
|
||||||
|
Busted,
|
||||||
|
BlackJack
|
||||||
|
}
|
||||||
|
|
||||||
|
class GamePlayer {
|
||||||
|
|
||||||
|
List<CardData> CardHand = new List<CardData>();
|
||||||
|
|
||||||
|
MainGame game;
|
||||||
|
|
||||||
|
public GamePlayer(MainGame game){
|
||||||
|
this.game = game;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Draw(SpriteBatch spriteBatch, Vector2 pos_offset) {
|
||||||
|
int cardLeft = 0;
|
||||||
|
int cardTop = 0;
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
spriteBatch.Draw(crd.getCardTexture(), new Vector2(pos_offset.X + cardLeft, pos_offset.Y + cardTop), Color.White);
|
||||||
|
cardLeft += 30;
|
||||||
|
cardTop += 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHandCount() {
|
||||||
|
return CardHand.Count;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlayerStatusEnum _stat = PlayerStatusEnum.Normal;
|
||||||
|
|
||||||
|
public PlayerStatusEnum PlayerStatus {
|
||||||
|
get { return _stat; }
|
||||||
|
set { _stat = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int GetCardTotal() {
|
||||||
|
bool containsAce = false;
|
||||||
|
int aceCount = 0;
|
||||||
|
int total = 0;
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
if (crd.CardLabel == CardLabel.Ace) {
|
||||||
|
aceCount++;
|
||||||
|
containsAce = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (containsAce) {
|
||||||
|
//provide highest possible value.
|
||||||
|
int sumnoace = 0;
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
if(crd.CardLabel != CardLabel.Ace) sumnoace += crd.getCardValue();
|
||||||
|
}
|
||||||
|
for (int i = 0; i < aceCount; i++) {
|
||||||
|
if (sumnoace + 11 <= 21) sumnoace += 11;
|
||||||
|
else sumnoace++;
|
||||||
|
}
|
||||||
|
return sumnoace;
|
||||||
|
} else {
|
||||||
|
foreach (CardData crd in CardHand) {
|
||||||
|
total += crd.getCardValue();
|
||||||
|
}
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddCard(CardData card) {
|
||||||
|
CardHand.Add(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearHand() {
|
||||||
|
CardHand.Clear();
|
||||||
|
PlayerStatus = PlayerStatusEnum.Normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -0,0 +1,95 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
public enum GameState {
|
||||||
|
Nothing,
|
||||||
|
StartScreen,
|
||||||
|
GameScreen
|
||||||
|
}
|
||||||
|
|
||||||
|
public class MainGame : Microsoft.Xna.Framework.Game {
|
||||||
|
GraphicsDeviceManager graphics;
|
||||||
|
SpriteBatch spriteBatch;
|
||||||
|
|
||||||
|
GameState currentScreen = GameState.Nothing;
|
||||||
|
|
||||||
|
PlayScreen playScreen;
|
||||||
|
StartScreen startScreen;
|
||||||
|
|
||||||
|
public MainGame() {
|
||||||
|
graphics = new GraphicsDeviceManager(this); //800 x 480
|
||||||
|
Window.Title = "Black Jack - Project in AI by John Espiritu";
|
||||||
|
Content.RootDirectory = "Content";
|
||||||
|
IsMouseVisible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void LoadContent() {
|
||||||
|
spriteBatch = new SpriteBatch(GraphicsDevice);
|
||||||
|
|
||||||
|
//Preload card textures
|
||||||
|
CardTextures.loadCardTextures(this);
|
||||||
|
|
||||||
|
//Load start screen.
|
||||||
|
startScreen = new StartScreen(this);
|
||||||
|
currentScreen = GameState.StartScreen;
|
||||||
|
|
||||||
|
base.LoadContent();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void UnloadContent() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Update(GameTime gameTime) {
|
||||||
|
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
|
||||||
|
this.Exit();
|
||||||
|
|
||||||
|
switch (currentScreen) {
|
||||||
|
case GameState.StartScreen:
|
||||||
|
startScreen.Update(gameTime);
|
||||||
|
break;
|
||||||
|
case GameState.GameScreen:
|
||||||
|
playScreen.Update(gameTime);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
base.Update(gameTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Draw(GameTime gameTime) {
|
||||||
|
GraphicsDevice.Clear(new Color(27,29,32));
|
||||||
|
|
||||||
|
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied);
|
||||||
|
|
||||||
|
//Draw active screen.
|
||||||
|
switch (currentScreen) {
|
||||||
|
case GameState.StartScreen:
|
||||||
|
startScreen.Draw(spriteBatch);
|
||||||
|
break;
|
||||||
|
case GameState.GameScreen:
|
||||||
|
playScreen.Draw(spriteBatch);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
spriteBatch.End();
|
||||||
|
|
||||||
|
base.Draw(gameTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartGame() {
|
||||||
|
playScreen = new PlayScreen(this);
|
||||||
|
currentScreen = GameState.GameScreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,346 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
|
||||||
|
public enum GameTurn {
|
||||||
|
Deal,
|
||||||
|
Player,
|
||||||
|
Banker,
|
||||||
|
EndRound,
|
||||||
|
StandbyEndRound
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PlayScreen {
|
||||||
|
|
||||||
|
//Gamer data
|
||||||
|
GamePlayer player;
|
||||||
|
GameBanker banker;
|
||||||
|
|
||||||
|
CardDeck deck = new CardDeck();
|
||||||
|
|
||||||
|
Texture2D blackOverlay;
|
||||||
|
Rectangle blackOverlay_rect;
|
||||||
|
|
||||||
|
Texture2D bgimg;
|
||||||
|
Texture2D carddeck;
|
||||||
|
Texture2D scoreboard_bg;
|
||||||
|
SpriteFont scoreboard_fnt;
|
||||||
|
|
||||||
|
//Status textures
|
||||||
|
Texture2D status_busted;
|
||||||
|
Texture2D status_stay;
|
||||||
|
Texture2D status_bj;
|
||||||
|
|
||||||
|
MainGame game;
|
||||||
|
|
||||||
|
int overlay_alpha = 255;
|
||||||
|
|
||||||
|
double overlay_delay = 0.05f;
|
||||||
|
|
||||||
|
SoundEffectInstance bgm;
|
||||||
|
|
||||||
|
//Buttons
|
||||||
|
GameButton btnHit;
|
||||||
|
GameButton btnStay;
|
||||||
|
GameButton btnDeal;
|
||||||
|
|
||||||
|
GameTurn GameStatus = GameTurn.Deal;
|
||||||
|
|
||||||
|
//Scores
|
||||||
|
int playerwin = 0;
|
||||||
|
int bankerwin = 0;
|
||||||
|
|
||||||
|
public PlayScreen(MainGame game) {
|
||||||
|
this.game = game;
|
||||||
|
|
||||||
|
//Set background.
|
||||||
|
bgimg = game.Content.Load<Texture2D>("GameBG");
|
||||||
|
|
||||||
|
//Set carddeck image.
|
||||||
|
carddeck = game.Content.Load<Texture2D>("card_deck");
|
||||||
|
|
||||||
|
//Set overlay.
|
||||||
|
blackOverlay = new Texture2D(game.GraphicsDevice, 1, 1);
|
||||||
|
blackOverlay_rect = new Rectangle(0, 0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height);
|
||||||
|
blackOverlay.SetData(new Color[] { Color.Black });
|
||||||
|
|
||||||
|
//Set status image
|
||||||
|
status_bj = game.Content.Load<Texture2D>("status_blackjack");
|
||||||
|
status_busted = game.Content.Load<Texture2D>("status_busted");
|
||||||
|
status_stay = game.Content.Load<Texture2D>("status_stay");
|
||||||
|
|
||||||
|
//Play background music.
|
||||||
|
bgm = game.Content.Load<SoundEffect>("game_bgm").CreateInstance();
|
||||||
|
bgm.Volume = 0.5f;
|
||||||
|
bgm.IsLooped = true;
|
||||||
|
bgm.Play();
|
||||||
|
|
||||||
|
//Setup scoreboard info.
|
||||||
|
scoreboard_bg = game.Content.Load<Texture2D>("scoreboard_bg");
|
||||||
|
scoreboard_fnt = game.Content.Load<SpriteFont>("ScoreboardFont");
|
||||||
|
|
||||||
|
//Setup buttons
|
||||||
|
btnHit = new GameButton(game, game.GraphicsDevice.Viewport.Width - 150, game.GraphicsDevice.Viewport.Height - 250, 130, 75);
|
||||||
|
btnHit.setNormalImage("button_hit_normal");
|
||||||
|
btnHit.setHoverImage("button_hit_hover");
|
||||||
|
btnHit.OnClick += new GameButton.ButtonClickedEvent(btnHit_OnClick);
|
||||||
|
|
||||||
|
btnStay = new GameButton(game, game.GraphicsDevice.Viewport.Width - 150, game.GraphicsDevice.Viewport.Height - 170, 130, 75);
|
||||||
|
btnStay.setNormalImage("button_stay_normal");
|
||||||
|
btnStay.setHoverImage("button_stay_hover");
|
||||||
|
btnStay.OnClick += new GameButton.ButtonClickedEvent(btnStay_OnClick);
|
||||||
|
|
||||||
|
btnDeal = new GameButton(game, game.GraphicsDevice.Viewport.Width - 150, game.GraphicsDevice.Viewport.Height - 90, 130, 75);
|
||||||
|
btnDeal.setNormalImage("button_deal_normal");
|
||||||
|
btnDeal.setHoverImage("button_deal_hover");
|
||||||
|
btnDeal.OnClick += new GameButton.ButtonClickedEvent(btnDeal_OnClick);
|
||||||
|
|
||||||
|
//Setup player object.
|
||||||
|
player = new GamePlayer(game);
|
||||||
|
banker = new GameBanker(game);
|
||||||
|
|
||||||
|
//Deal.
|
||||||
|
GameStatus = GameTurn.Deal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void endRound() {
|
||||||
|
if ((player.PlayerStatus == PlayerStatusEnum.BlackJack && banker.PlayerStatus == PlayerStatusEnum.Stay) || (player.PlayerStatus == PlayerStatusEnum.BlackJack && banker.PlayerStatus == PlayerStatusEnum.Busted))
|
||||||
|
playerwin++;
|
||||||
|
else if ((player.PlayerStatus == PlayerStatusEnum.Stay && banker.PlayerStatus == PlayerStatusEnum.BlackJack) || (player.PlayerStatus == PlayerStatusEnum.Busted && banker.PlayerStatus == PlayerStatusEnum.BlackJack))
|
||||||
|
bankerwin++;
|
||||||
|
else if (player.PlayerStatus == PlayerStatusEnum.Busted && banker.PlayerStatus == PlayerStatusEnum.Stay)
|
||||||
|
bankerwin++;
|
||||||
|
else if (player.PlayerStatus == PlayerStatusEnum.Stay && banker.PlayerStatus == PlayerStatusEnum.Busted)
|
||||||
|
playerwin++;
|
||||||
|
else if (player.PlayerStatus == PlayerStatusEnum.Stay && banker.PlayerStatus == PlayerStatusEnum.Stay) {
|
||||||
|
if (player.GetCardTotal() > banker.GetCardTotal())
|
||||||
|
playerwin++;
|
||||||
|
else if (player.GetCardTotal() < banker.GetCardTotal())
|
||||||
|
bankerwin++;
|
||||||
|
}
|
||||||
|
GameStatus = GameTurn.StandbyEndRound;
|
||||||
|
}
|
||||||
|
|
||||||
|
Random rnddes = new Random();
|
||||||
|
private void runAI() {
|
||||||
|
//Show 'em the cards baby.
|
||||||
|
if(banker.allCardsFlippedUp == false) banker.flipAllCardsUp();
|
||||||
|
|
||||||
|
//Analyze score.
|
||||||
|
int aiscore = banker.GetCardTotal();
|
||||||
|
|
||||||
|
if (aiscore == 21 && banker.getHandCount() == 2) {
|
||||||
|
banker.PlayerStatus = PlayerStatusEnum.BlackJack;
|
||||||
|
GameStatus = GameTurn.EndRound;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.PlayerStatus == PlayerStatusEnum.Busted) {
|
||||||
|
banker.PlayerStatus = PlayerStatusEnum.Stay;
|
||||||
|
GameStatus = GameTurn.EndRound;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aiscore > 21) {
|
||||||
|
banker.PlayerStatus = PlayerStatusEnum.Busted;
|
||||||
|
GameStatus = GameTurn.EndRound;
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (aiscore == 21) {
|
||||||
|
banker.PlayerStatus = PlayerStatusEnum.Stay;
|
||||||
|
GameStatus = GameTurn.EndRound;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//tally if AI should hit, or stay.
|
||||||
|
byte hitrate = 0; // of 10
|
||||||
|
//Rate probability of hitting.
|
||||||
|
if (aiscore <= 13)
|
||||||
|
hitrate = 10;
|
||||||
|
else if (aiscore > 13 && aiscore <= 16)
|
||||||
|
hitrate = 8;
|
||||||
|
else if (aiscore > 16 && aiscore <= 18)
|
||||||
|
hitrate = 5;
|
||||||
|
else if (aiscore > 18 && aiscore <= 20)
|
||||||
|
hitrate = 2;
|
||||||
|
|
||||||
|
//fill up probability array.
|
||||||
|
bool[] decisionarray = new bool[10];
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
if (i <= hitrate - 1)
|
||||||
|
decisionarray[i] = true;
|
||||||
|
else
|
||||||
|
decisionarray[i] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Decide by probability
|
||||||
|
int decideindex = rnddes.Next(0, 9);
|
||||||
|
bool willHit = decisionarray[decideindex];
|
||||||
|
if (willHit) {
|
||||||
|
banker.AddCard(deck.getTop(CardFace.Up));
|
||||||
|
} else {
|
||||||
|
banker.PlayerStatus = PlayerStatusEnum.Stay;
|
||||||
|
GameStatus = GameTurn.EndRound;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnDeal_OnClick() {
|
||||||
|
GameStatus = GameTurn.Deal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnStay_OnClick() {
|
||||||
|
if (GameStatus == GameTurn.Player) {
|
||||||
|
GameStatus = GameTurn.Banker;
|
||||||
|
player.PlayerStatus = PlayerStatusEnum.Stay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnHit_OnClick() {
|
||||||
|
hitCard();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkPlayerCards() {
|
||||||
|
if (player.GetCardTotal() == 21) {
|
||||||
|
if (player.getHandCount() == 2) {
|
||||||
|
player.PlayerStatus = PlayerStatusEnum.BlackJack;
|
||||||
|
} else {
|
||||||
|
player.PlayerStatus = PlayerStatusEnum.Stay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.GetCardTotal() > 21)
|
||||||
|
player.PlayerStatus = PlayerStatusEnum.Busted;
|
||||||
|
|
||||||
|
if (player.GetCardTotal() >= 21) {
|
||||||
|
GameStatus = GameTurn.Banker;
|
||||||
|
} else {
|
||||||
|
GameStatus = GameTurn.Player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void dealCards() {
|
||||||
|
if (deck.getDeckCount() < 10) {
|
||||||
|
deck.restoreDeck();
|
||||||
|
deck.shuffleDeck();
|
||||||
|
}
|
||||||
|
player.clearHand();
|
||||||
|
banker.clearHand();
|
||||||
|
player.AddCard(deck.getTop(CardFace.Up));
|
||||||
|
banker.AddCard(deck.getTop(CardFace.Down));
|
||||||
|
player.AddCard(deck.getTop(CardFace.Up));
|
||||||
|
banker.AddCard(deck.getTop(CardFace.Up));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void hitCard() {
|
||||||
|
if (GameStatus == GameTurn.Player) {
|
||||||
|
player.AddCard(deck.getTop(CardFace.Up));
|
||||||
|
checkPlayerCards();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(GameTime gameTime) {
|
||||||
|
//Fade in.
|
||||||
|
if (overlay_alpha > 0) {
|
||||||
|
overlay_delay -= gameTime.ElapsedGameTime.TotalSeconds;
|
||||||
|
if (overlay_delay <= 0) {
|
||||||
|
overlay_delay = 0.05f;
|
||||||
|
overlay_alpha -= 25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
btnHit.Update(gameTime);
|
||||||
|
btnStay.Update(gameTime);
|
||||||
|
btnDeal.Update(gameTime);
|
||||||
|
//Start game.
|
||||||
|
|
||||||
|
if (GameStatus != GameTurn.StandbyEndRound)
|
||||||
|
btnDeal.setVisible(false);
|
||||||
|
else
|
||||||
|
btnDeal.setVisible(true);
|
||||||
|
|
||||||
|
//Deal.
|
||||||
|
if (GameStatus == GameTurn.Deal) {
|
||||||
|
dealCards();
|
||||||
|
GameStatus = GameTurn.Player;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check if player is black jack.
|
||||||
|
if (GameStatus == GameTurn.Player) {
|
||||||
|
checkPlayerCards();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GameStatus == GameTurn.Banker) {
|
||||||
|
runAI();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GameStatus == GameTurn.EndRound) {
|
||||||
|
endRound();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Draw(SpriteBatch spriteBatch) {
|
||||||
|
//Draw bg
|
||||||
|
spriteBatch.Draw(bgimg, new Vector2(0, 0), Color.White);
|
||||||
|
|
||||||
|
//Draw scoreboard bg.
|
||||||
|
spriteBatch.Draw(scoreboard_bg, new Vector2(game.GraphicsDevice.Viewport.Width - 450, game.GraphicsDevice.Viewport.Height - 250), Color.White);
|
||||||
|
|
||||||
|
//Draw scorez
|
||||||
|
spriteBatch.DrawString(scoreboard_fnt, "Your hand: " + player.GetCardTotal(), new Vector2(380, 250), Color.White);
|
||||||
|
spriteBatch.DrawString(scoreboard_fnt, "Banker's hand: " + banker.GetCardTotal(), new Vector2(380, 280), Color.White);
|
||||||
|
|
||||||
|
spriteBatch.DrawString(scoreboard_fnt, "Player Win: " + playerwin, new Vector2(380, 310), Color.White);
|
||||||
|
spriteBatch.DrawString(scoreboard_fnt, "Banker Win: " + bankerwin, new Vector2(380, 340), Color.White);
|
||||||
|
|
||||||
|
//Draw deck sprite.
|
||||||
|
spriteBatch.End();
|
||||||
|
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);
|
||||||
|
spriteBatch.Draw(carddeck, new Vector2(40, 15), Color.White);
|
||||||
|
spriteBatch.End();
|
||||||
|
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied);
|
||||||
|
|
||||||
|
//Draw player hand.
|
||||||
|
player.Draw(spriteBatch, new Vector2(35, game.GraphicsDevice.Viewport.Height - 220));
|
||||||
|
|
||||||
|
//Draw banker hand.
|
||||||
|
banker.Draw(spriteBatch, new Vector2((game.GraphicsDevice.Viewport.Width / 2) - 100, 60));
|
||||||
|
|
||||||
|
//Draw butotns.
|
||||||
|
btnHit.Draw(spriteBatch);
|
||||||
|
btnStay.Draw(spriteBatch);
|
||||||
|
btnDeal.Draw(spriteBatch);
|
||||||
|
|
||||||
|
//Draw player status
|
||||||
|
if(player.PlayerStatus == PlayerStatusEnum.Stay)
|
||||||
|
spriteBatch.Draw(status_stay, new Vector2(30, game.GraphicsDevice.Viewport.Height - 80), Color.White);
|
||||||
|
else if(player.PlayerStatus == PlayerStatusEnum.BlackJack)
|
||||||
|
spriteBatch.Draw(status_bj, new Vector2(30, game.GraphicsDevice.Viewport.Height - 80), Color.White);
|
||||||
|
else if(player.PlayerStatus == PlayerStatusEnum.Busted)
|
||||||
|
spriteBatch.Draw(status_busted, new Vector2(30, game.GraphicsDevice.Viewport.Height - 80), Color.White);
|
||||||
|
|
||||||
|
//Draw banker status.
|
||||||
|
if (banker.PlayerStatus == PlayerStatusEnum.Stay)
|
||||||
|
spriteBatch.Draw(status_stay, new Vector2((game.GraphicsDevice.Viewport.Width - status_stay.Width) / 2, 120), Color.White);
|
||||||
|
else if (banker.PlayerStatus == PlayerStatusEnum.BlackJack)
|
||||||
|
spriteBatch.Draw(status_bj, new Vector2((game.GraphicsDevice.Viewport.Width - status_stay.Width) / 2, 120), Color.White);
|
||||||
|
else if (banker.PlayerStatus == PlayerStatusEnum.Busted)
|
||||||
|
spriteBatch.Draw(status_busted, new Vector2((game.GraphicsDevice.Viewport.Width - status_stay.Width) / 2, 120), Color.White);
|
||||||
|
|
||||||
|
//Draw overlay.
|
||||||
|
spriteBatch.Draw(blackOverlay, blackOverlay_rect, new Color(255, 255, 255, overlay_alpha));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
#if WINDOWS || XBOX
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The main entry point for the application.
|
||||||
|
/// </summary>
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
using (MainGame game = new MainGame())
|
||||||
|
{
|
||||||
|
game.Run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("Blackjack")]
|
||||||
|
[assembly: AssemblyProduct("Blackjack")]
|
||||||
|
[assembly: AssemblyDescription("Project by John Espiritu")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type. Only Windows
|
||||||
|
// assemblies support COM.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// On Windows, the following GUID is for the ID of the typelib if this
|
||||||
|
// project is exposed to COM. On other platforms, it unique identifies the
|
||||||
|
// title storage container when deploying this assembly to the device.
|
||||||
|
[assembly: Guid("59921487-919d-425b-8808-3983c2b29121")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
|
@ -0,0 +1,122 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Audio;
|
||||||
|
using Microsoft.Xna.Framework.Content;
|
||||||
|
using Microsoft.Xna.Framework.GamerServices;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
using Microsoft.Xna.Framework.Media;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Blackjack {
|
||||||
|
/// <summary>
|
||||||
|
/// This is a game component that implements IUpdateable.
|
||||||
|
/// </summary>
|
||||||
|
public class StartScreen{
|
||||||
|
|
||||||
|
MainGame game;
|
||||||
|
KeyboardState lastKeystate;
|
||||||
|
|
||||||
|
Texture2D titlesprite;
|
||||||
|
Texture2D bgsplash;
|
||||||
|
Texture2D pressstart;
|
||||||
|
Texture2D blackoverlay;
|
||||||
|
Rectangle overlayRect;
|
||||||
|
Vector2 titlesprite_pos = new Vector2(0, 0);
|
||||||
|
Vector2 pressstart_pos = new Vector2(0, 0);
|
||||||
|
SoundEffect bgmusic;
|
||||||
|
SoundEffectInstance sfxin;
|
||||||
|
|
||||||
|
double closing_delay = 0.005f;
|
||||||
|
double pressstart_fadedelay = 0.001f;
|
||||||
|
bool pressstart_isfading = true;
|
||||||
|
|
||||||
|
int pressstart_alpha = 255;
|
||||||
|
int overlay_alpha = 0;
|
||||||
|
bool screenclosing = false;
|
||||||
|
|
||||||
|
public StartScreen(MainGame game) {
|
||||||
|
this.game = game;
|
||||||
|
titlesprite = game.Content.Load<Texture2D>("blackjack_logo");
|
||||||
|
bgsplash = game.Content.Load<Texture2D>("bg_splash");
|
||||||
|
pressstart = game.Content.Load<Texture2D>("press_enter_to_start");
|
||||||
|
bgmusic = game.Content.Load<SoundEffect>("cybersoldier");
|
||||||
|
sfxin = bgmusic.CreateInstance();
|
||||||
|
sfxin.IsLooped = true;
|
||||||
|
sfxin.Volume = 0.3f;
|
||||||
|
sfxin.Play();
|
||||||
|
titlesprite_pos = new Vector2((game.GraphicsDevice.Viewport.Width - titlesprite.Width) / 2, 100);
|
||||||
|
pressstart_pos = new Vector2((game.GraphicsDevice.Viewport.Width - pressstart.Width) / 2, 280);
|
||||||
|
|
||||||
|
blackoverlay = new Texture2D(game.GraphicsDevice, 1, 1);
|
||||||
|
overlayRect = new Rectangle(0, 0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height);
|
||||||
|
blackoverlay.SetData(new Color[] { Color.Black});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Unload() {
|
||||||
|
sfxin.Stop();
|
||||||
|
sfxin.Dispose();
|
||||||
|
titlesprite.Dispose();
|
||||||
|
bgsplash.Dispose();
|
||||||
|
pressstart.Dispose();
|
||||||
|
blackoverlay.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CloseScreen() {
|
||||||
|
screenclosing = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(GameTime gameTime) {
|
||||||
|
KeyboardState keystate = Keyboard.GetState();
|
||||||
|
if (keystate.IsKeyDown(Keys.Enter) && lastKeystate.IsKeyUp(Keys.Enter)) {
|
||||||
|
//Start game.
|
||||||
|
CloseScreen();
|
||||||
|
}
|
||||||
|
lastKeystate = keystate;
|
||||||
|
|
||||||
|
if (pressstart_alpha <= 0) pressstart_isfading = false;
|
||||||
|
else if (pressstart_alpha >= 255) pressstart_isfading = true;
|
||||||
|
|
||||||
|
//Press start fade in/out animation.
|
||||||
|
pressstart_fadedelay -= gameTime.ElapsedGameTime.TotalSeconds;
|
||||||
|
if (pressstart_fadedelay <= 0) {
|
||||||
|
pressstart_fadedelay = 0.001f;
|
||||||
|
if (pressstart_isfading) {
|
||||||
|
pressstart_alpha -= 5;
|
||||||
|
} else {
|
||||||
|
pressstart_alpha += 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (screenclosing) {
|
||||||
|
closing_delay -= gameTime.ElapsedGameTime.TotalSeconds;
|
||||||
|
if (closing_delay <= 0) {
|
||||||
|
closing_delay = 0.05f;
|
||||||
|
overlay_alpha += 25;
|
||||||
|
}
|
||||||
|
if (overlay_alpha > 255) {
|
||||||
|
Unload();
|
||||||
|
game.StartGame();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//override draw component.
|
||||||
|
public void Draw(SpriteBatch spriteBatch) {
|
||||||
|
|
||||||
|
spriteBatch.Draw(bgsplash, new Vector2(0, 0), Color.White);
|
||||||
|
spriteBatch.Draw(titlesprite, titlesprite_pos, new Color(255, 255, 255, 255));
|
||||||
|
spriteBatch.Draw(pressstart, pressstart_pos, new Color(255, 255, 255, pressstart_alpha));
|
||||||
|
spriteBatch.Draw(blackoverlay, overlayRect, new Color(255, 255, 255, overlay_alpha));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartGame() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,431 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{53A91419-7407-4ADC-B67C-715C2B6B120C}</ProjectGuid>
|
||||||
|
<ProjectTypeGuids>{96E2B04D-8817-42c6-938A-82C39BA4D311};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
|
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
|
||||||
|
<OutputPath>bin\$(Platform)\$(Configuration)</OutputPath>
|
||||||
|
<ContentRootDirectory>Content</ContentRootDirectory>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<RootNamespace>AIProjectContent</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Content.Pipeline.EffectImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Content.Pipeline.FBXImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Content.Pipeline.TextureImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Content.Pipeline.AudioImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Xna.Framework.Content.Pipeline.VideoImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="bg_splash.png">
|
||||||
|
<Name>bg_splash</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="blackjack_logo.png">
|
||||||
|
<Name>blackjack_logo</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="press_enter_to_start.png">
|
||||||
|
<Name>press_enter_to_start</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="cybersoldier.wav">
|
||||||
|
<Name>cybersoldier</Name>
|
||||||
|
<Importer>WavImporter</Importer>
|
||||||
|
<Processor>SoundEffectProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="GameBG.png">
|
||||||
|
<Name>GameBG</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="card_deck.png">
|
||||||
|
<Name>card_deck</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="button_hit_hover.png">
|
||||||
|
<Name>button_hit_hover</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="button_hit_normal.png">
|
||||||
|
<Name>button_hit_normal</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Card_Back.png">
|
||||||
|
<Name>Card_Back</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Ace.png">
|
||||||
|
<Name>Club_Ace</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Eight.png">
|
||||||
|
<Name>Club_Eight</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Five.png">
|
||||||
|
<Name>Club_Five</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Four.png">
|
||||||
|
<Name>Club_Four</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Jack.png">
|
||||||
|
<Name>Club_Jack</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_King.png">
|
||||||
|
<Name>Club_King</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Nine.png">
|
||||||
|
<Name>Club_Nine</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Queen.png">
|
||||||
|
<Name>Club_Queen</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Seven.png">
|
||||||
|
<Name>Club_Seven</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Six.png">
|
||||||
|
<Name>Club_Six</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Ten.png">
|
||||||
|
<Name>Club_Ten</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Three.png">
|
||||||
|
<Name>Club_Three</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Club_Two.png">
|
||||||
|
<Name>Club_Two</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Ace.png">
|
||||||
|
<Name>Diamond_Ace</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Eight.png">
|
||||||
|
<Name>Diamond_Eight</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Five.png">
|
||||||
|
<Name>Diamond_Five</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Four.png">
|
||||||
|
<Name>Diamond_Four</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Jack.png">
|
||||||
|
<Name>Diamond_Jack</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_King.png">
|
||||||
|
<Name>Diamond_King</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Nine.png">
|
||||||
|
<Name>Diamond_Nine</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Queen.png">
|
||||||
|
<Name>Diamond_Queen</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Seven.png">
|
||||||
|
<Name>Diamond_Seven</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Six.png">
|
||||||
|
<Name>Diamond_Six</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Ten.png">
|
||||||
|
<Name>Diamond_Ten</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Three.png">
|
||||||
|
<Name>Diamond_Three</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Diamond_Two.png">
|
||||||
|
<Name>Diamond_Two</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Ace.png">
|
||||||
|
<Name>Hearts_Ace</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Eight.png">
|
||||||
|
<Name>Hearts_Eight</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Five.png">
|
||||||
|
<Name>Hearts_Five</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Four.png">
|
||||||
|
<Name>Hearts_Four</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Jack.png">
|
||||||
|
<Name>Hearts_Jack</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_King.png">
|
||||||
|
<Name>Hearts_King</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Nine.png">
|
||||||
|
<Name>Hearts_Nine</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Queen.png">
|
||||||
|
<Name>Hearts_Queen</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Seven.png">
|
||||||
|
<Name>Hearts_Seven</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Six.png">
|
||||||
|
<Name>Hearts_Six</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Three.png">
|
||||||
|
<Name>Hearts_Three</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Two.png">
|
||||||
|
<Name>Hearts_Two</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Hearts_Ten.png">
|
||||||
|
<Name>Hearts_Ten</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Ace.png">
|
||||||
|
<Name>Spade_Ace</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Eight.png">
|
||||||
|
<Name>Spade_Eight</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Five.png">
|
||||||
|
<Name>Spade_Five</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Four.png">
|
||||||
|
<Name>Spade_Four</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Jack.png">
|
||||||
|
<Name>Spade_Jack</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_King.png">
|
||||||
|
<Name>Spade_King</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Nine.png">
|
||||||
|
<Name>Spade_Nine</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Queen.png">
|
||||||
|
<Name>Spade_Queen</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Seven.png">
|
||||||
|
<Name>Spade_Seven</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Six.png">
|
||||||
|
<Name>Spade_Six</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Ten.png">
|
||||||
|
<Name>Spade_Ten</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Three.png">
|
||||||
|
<Name>Spade_Three</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Spade_Two.png">
|
||||||
|
<Name>Spade_Two</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="button_stay_hover.png">
|
||||||
|
<Name>button_stay_hover</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="button_stay_normal.png">
|
||||||
|
<Name>button_stay_normal</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="scoreboard_bg.png">
|
||||||
|
<Name>scoreboard_bg</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="ScoreboardFont.spritefont">
|
||||||
|
<Name>ScoreboardFont</Name>
|
||||||
|
<Importer>FontDescriptionImporter</Importer>
|
||||||
|
<Processor>FontDescriptionProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="status_blackjack.png">
|
||||||
|
<Name>status_blackjack</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="status_busted.png">
|
||||||
|
<Name>status_busted</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="status_stay.png">
|
||||||
|
<Name>status_stay</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="game_bgm.wav">
|
||||||
|
<Name>game_bgm</Name>
|
||||||
|
<Importer>WavImporter</Importer>
|
||||||
|
<Processor>SoundEffectProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="button_deal_hover.png">
|
||||||
|
<Name>button_deal_hover</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="button_deal_normal.png">
|
||||||
|
<Name>button_deal_normal</Name>
|
||||||
|
<Importer>TextureImporter</Importer>
|
||||||
|
<Processor>TextureProcessor</Processor>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 10 KiB |