guillegf/secret-santa

PHP版的圣诞老人游戏

1.3.1 2017-11-12 14:15 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:25:28 UTC


README

Build Status Code Coverage Scrutinizer Code Quality Dependency Status Latest Stable Version Total Downloads License

描述

PHP版的圣诞老人游戏

安装

Composer(推荐)

Composer 是一个广泛使用的PHP包依赖管理器。在Packagist上可用作 guillegf/secret-santa,可以通过运行 composer require 命令或将其库添加到您的 composer.json 中来安装。要为您的项目启用Composer,请参阅项目的 入门 文档。

要使用命令添加此依赖项,请从您的项目目录中运行以下命令

composer require guillegf/secret-santa "~1.3"

或者,直接将依赖项添加到您的 composer.json 文件中

"require": {
    "guillegf/secret-santa": "~1.3"
}

用法

在此示例中,我们总共添加了10名玩家,2名单身玩家,2对情侣(专有的)和4名专有玩家。

情侣和专有玩家永远不会匹配在一起。

<?php
$secretSanta = new SecretSanta();
$secretSanta->addPlayer('Player1', 'player1@email.com')
  ->addPlayer('Player2', 'player2@email.com')
  ->addCouple('Player3', 'player3@email.com', 'Couple3', 'couple3@email.com')
  ->addCouple('Player4', 'player4@email.com', 'Couple4', 'couple4@email.com')
  ->addExclusivePlayers(
      ['Player5', 'player5@email.com'],
      ['Player6', 'player6@email.com'],
      ['Player7', 'player7@email.com'],
      ['Player8', 'player8@email.com']
  );
  
foreach ($secretSanta->play() as $player) {
     echo ("{$player->name()} ({$player->email()}): {$player->secretSanta()->name()}\n");
}

上述示例将输出

Player1 (player1@email.com): Player5
Player2 (player2@email.com): Player7
Player3 (player3@email.com): Player2
Couple3 (couple3@email.com): Player8
Player4 (player4@email.com): Player3
Couple4 (couple4@email.com): Player6
Player5 (player5@email.com): Player4
Player6 (player6@email.com): Player1
Player7 (player7@email.com): Couple3
Player8 (player8@email.com): Couple4

许可证

SecretSanta 是开源软件,受 MIT 许可证 许可。