
說明:產生1~49 之間
使用語言:C# 、 PHP 、VB 、JavaScript
參考 :
- Visual C# 2017基礎必修課 8-5
- 在Visual Studio 2017 寫一個大樂透產生器
PHP
PHP
<?php
interface LottoGame {
public function generateWinningNumbers(): array;
public function checkWinningNumbers(array $selectedNumbers, array $winningNumbers): string;
}
abstract class AbstractLottoGame implements LottoGame {
public function generateWinningNumbers(): array {
$numbers = range(1, 49);
shuffle($numbers);
$winningNumbers = array_slice($numbers, 0, 6);
sort($winningNumbers);
return $winningNumbers;
}
}
class Lotto implements LottoGame {
public function checkWinningNumbers(array $selectedNumbers, array $winningNumbers): string {
$matchingNumbers = array_intersect($selectedNumbers, $winningNumbers);
$matchingCount = count($matchingNumbers);
$specialNumber = in_array(end($selectedNumbers), $winningNumbers) ? true : false;
switch ($matchingCount) {
case 6:
return "頭獎";
case 5:
return ($specialNumber) ? "貳獎" : "參獎";
case 4:
return ($specialNumber) ? "肆獎" : "伍獎";
case 3:
return ($specialNumber) ? "陸獎" : "普獎";
case 2:
return ($specialNumber) ? "柒獎" : "";
default:
return "";
}
}
}
$lotto = new Lotto();
$winningNumbers = $lotto->generateWinningNumbers();
$selectedNumbers = [1, 2, 3, 4, 5, 6];
$result = $lotto->checkWinningNumbers($selectedNumbers, $winningNumbers);
|
✖
✖
✖
✖