close

 

各種程式語言實例練習-產生樂透彩號碼(未完)

說明:產生1~49 之間

使用語言:C# 、 PHP 、VB 、JavaScript

參考 :

  1. Visual C# 2017基礎必修課 8-5
  2. 在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);

arrow
arrow
    全站熱搜

    安可 發表在 痞客邦 留言(0) 人氣()