Nautical bell: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: changed/added comments and whitespace, changed indentations.) |
No edit summary |
||
Line 755: | Line 755: | ||
end nautical; |
end nautical; |
||
</lang> |
</lang> |
||
=={{header|PowerShell}}== |
|||
<lang PowerShell> |
|||
function Get-Bell |
|||
{ |
|||
[CmdletBinding()] |
|||
Param |
|||
( |
|||
[Parameter(Mandatory=$true, |
|||
Position=0)] |
|||
[ValidateRange(1,12)] |
|||
[int] |
|||
$Hour, |
|||
[Parameter(Mandatory=$true, |
|||
Position=1)] |
|||
[ValidateSet(0,30)] |
|||
[int] |
|||
$Minute |
|||
) |
|||
$bells = @{ |
|||
OneBell = 1 |
|||
TwoBells = 2 |
|||
ThreeBells = 2, 1 |
|||
FourBells = 2, 2 |
|||
FiveBells = 2, 2, 1 |
|||
SixBells = 2, 2, 2 |
|||
SevenBells = 2, 2, 2, 1 |
|||
EightBells = 2, 2, 2, 2 |
|||
} |
|||
filter Invoke-Bell |
|||
{ |
|||
if ($_ -eq 1) |
|||
{ |
|||
[System.Media.SystemSounds]::Asterisk.Play() |
|||
Write-Host -NoNewline "♪" |
|||
} |
|||
else |
|||
{ |
|||
[System.Media.SystemSounds]::Exclamation.Play() |
|||
Write-Host -NoNewline "♪♪ " |
|||
} |
|||
Start-Sleep -Milliseconds 500 |
|||
} |
|||
$time = New-TimeSpan -Hours $Hour -Minutes $Minute |
|||
switch ($time.Hours) |
|||
{ |
|||
1 {if ($time.Minutes -eq 0) {$bells.TwoBells | Invoke-Bell} else {$bells.ThreeBells | Invoke-Bell}; break} |
|||
2 {if ($time.Minutes -eq 0) {$bells.FourBells | Invoke-Bell} else {$bells.FiveBells | Invoke-Bell}; break} |
|||
3 {if ($time.Minutes -eq 0) {$bells.SixBells | Invoke-Bell} else {$bells.SevenBells | Invoke-Bell}; break} |
|||
4 {if ($time.Minutes -eq 0) {$bells.EightBells | Invoke-Bell} else {$bells.OneBell | Invoke-Bell}; break} |
|||
5 {if ($time.Minutes -eq 0) {$bells.TwoBells | Invoke-Bell} else {$bells.ThreeBells | Invoke-Bell}; break} |
|||
6 {if ($time.Minutes -eq 0) {$bells.FourBells | Invoke-Bell} else {$bells.FiveBells | Invoke-Bell}; break} |
|||
7 {if ($time.Minutes -eq 0) {$bells.SixBells | Invoke-Bell} else {$bells.SevenBells | Invoke-Bell}; break} |
|||
8 {if ($time.Minutes -eq 0) {$bells.EightBells | Invoke-Bell} else {$bells.OneBell | Invoke-Bell}; break} |
|||
9 {if ($time.Minutes -eq 0) {$bells.TwoBells | Invoke-Bell} else {$bells.ThreeBells | Invoke-Bell}; break} |
|||
10 {if ($time.Minutes -eq 0) {$bells.FourBells | Invoke-Bell} else {$bells.FiveBells | Invoke-Bell}; break} |
|||
11 {if ($time.Minutes -eq 0) {$bells.SixBells | Invoke-Bell} else {$bells.SevenBells | Invoke-Bell}; break} |
|||
12 {if ($time.Minutes -eq 0) {$bells.EightBells | Invoke-Bell} else {$bells.OneBell | Invoke-Bell}} |
|||
} |
|||
Write-Host |
|||
} |
|||
Write-Host "Local UTC Bells`n----- --- -----`n" |
|||
1..12 | ForEach-Object { |
|||
$date = Get-Date -Hour $_ -Minute 0 |
|||
Write-Host -NoNewline ("{0}:{1} {2}:{3} " -f $date.Hour.ToString("00"), |
|||
$date.Minute.ToString("00"), |
|||
$date.ToUniversalTime().Hour.ToString("00"), |
|||
$date.ToUniversalTime().Minute.ToString("00")) |
|||
Get-Bell -Hour $_ -Minute 0 |
|||
$date = $date.AddMinutes(30) |
|||
Write-Host -NoNewline ("{0}:{1} {2}:{3} " -f $date.Hour.ToString("00"), |
|||
$date.Minute.ToString("00"), |
|||
$date.ToUniversalTime().Hour.ToString("00"), |
|||
$date.ToUniversalTime().Minute.ToString("00")) |
|||
Get-Bell -Hour $_ -Minute 30 |
|||
} |
|||
</lang> |
|||
{{Out}} |
|||
<pre> |
|||
Local UTC Bells |
|||
----- --- ----- |
|||
01:00 08:00 ♪♪ |
|||
01:30 08:30 ♪♪ ♪ |
|||
02:00 09:00 ♪♪ ♪♪ |
|||
02:30 09:30 ♪♪ ♪♪ ♪ |
|||
03:00 10:00 ♪♪ ♪♪ ♪♪ |
|||
03:30 10:30 ♪♪ ♪♪ ♪♪ ♪ |
|||
04:00 11:00 ♪♪ ♪♪ ♪♪ ♪♪ |
|||
04:30 11:30 ♪ |
|||
05:00 12:00 ♪♪ |
|||
05:30 12:30 ♪♪ ♪ |
|||
06:00 13:00 ♪♪ ♪♪ |
|||
06:30 13:30 ♪♪ ♪♪ ♪ |
|||
07:00 14:00 ♪♪ ♪♪ ♪♪ |
|||
07:30 14:30 ♪♪ ♪♪ ♪♪ ♪ |
|||
08:00 15:00 ♪♪ ♪♪ ♪♪ ♪♪ |
|||
08:30 15:30 ♪ |
|||
09:00 16:00 ♪♪ |
|||
09:30 16:30 ♪♪ ♪ |
|||
10:00 17:00 ♪♪ ♪♪ |
|||
10:30 17:30 ♪♪ ♪♪ ♪ |
|||
11:00 18:00 ♪♪ ♪♪ ♪♪ |
|||
11:30 18:30 ♪♪ ♪♪ ♪♪ ♪ |
|||
12:00 19:00 ♪♪ ♪♪ ♪♪ ♪♪ |
|||
12:30 19:30 ♪ |
|||
</pre> |
|||
=={{header|Python}}== |
=={{header|Python}}== |