Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Get-AsciiDice {
- Param
- (
- [parameter(Mandatory=$true,
- ParameterSetName="Random")]
- [int]$Random,
- [parameter(Mandatory=$true,
- ParameterSetName="Numbers")]
- $Numbers,
- [parameter(Mandatory=$False)]
- [ValidateSet("Black","DarkBlue","DarkGreen","DarkCyan","DarkRed","DarkMagenta","DarkYellow","Gray","DarkGray","Blue","Green","Cyan","Red","Magenta","Yellow","White")]
- [String]$DieColor = "White"
- )
- if ($random) {
- $NumberSet = (1..$random | foreach {Get-Random -Maximum 6 -Minimum 1})
- #$NumberSet = ($NumberSet -join '').ToString().ToCharArray()
- }
- if ($Numbers) {
- #$NumberSet = $Numbers.ToString().ToCharArray()
- $NumberSet = $Numbers
- }
- $NumberSet | foreach { if ($_ -gt '6'){Write-Error -Message "Only supports digits 1-6" -ErrorAction Stop} }
- $d = @{
- 1 = ' ',' o ',' '
- 2 = ' o ',' ',' o '
- 3 = ' o ',' o ',' o '
- 4 = 'o o',' ','o o'
- 5 = 'o o',' o ','o o'
- 6 = 'o o','o o','o o'
- }
- Write-Host (" _____ " * $NumberSet.Count) -NoNewline -ForegroundColor $DieColor
- 0..2 | ForEach-Object {
- Write-Host
- foreach($n in $NumberSet) {
- Write-Host "|$($d[$n][$_])| " -NoNewline -ForegroundColor $DieColor
- }
- }
- Write-Host
- Write-Host (" ----- " * $NumberSet.Count) -ForegroundColor $DieColor
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement