承接 jarrett/rockpaperscissorsspocklizard 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jarrett/rockpaperscissorsspocklizard

Composer 安装命令:

composer require jarrett/rockpaperscissorsspocklizard

包简介

Based on a game created by Sam Kass and Karen Bryla and made popular by "Big Bang Theory"

README 文档

README

Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight

RockPaperScissorsSpockLizard Game (in PHP)

A PHP class implementation of Rock Paper Scissors Spock Lizard as created by Sam Kass and Karen Bryla and popularized by "Big Bang Theory."

Add as many players (or bots) as you want. Then play them all against each other at the same time!

Packagist can be found here: jarrett/rockpaperscissorsspocklizard

Getting Started

Install via composer:

composer install jarrett/rockpaperscissorsspocklizard

and require composer autoloader

require 'vendor/autoload.php';

Basic Example:

use Jarrett\RockPaperScissorsSpockLizard;
use Jarrett\RockPaperScissorsSpockLizard\Player;

// ...

$player = new Player();
$player->move('rock');

$bot = new Player();
$bot->isBot(true);

$game = new RockPaperScissorsSpockLizard();
$game->addPlayers($player, $bot)
     ->play();
     
$outcome = $game->getOutcomes();    

2 Player Example:

use Jarrett\RockPaperScissorsSpockLizard;
use Jarrett\RockPaperScissorsSpockLizard\Player;

// ...

$player1 = new Player();
$player1->move('rock');

$player2 = new Player();
$player2->move('scissors');

$game = new RockpaperScissorsSpockLizard();
$game->setRounds(3)
     ->addPlayers($player1, $player2);
     ->play();

$outcome = $this->getOutcomes()

5 Player Example:

use Jarrett\RockPaperScissorsSpockLizard;
use Jarrett\RockPaperScissorsSpockLizard\Player;

// ...

// human
$player1 = new Player();
$player1->move('rock');

// human
$player2 = new Player();
$player2->move('paper');

// and 3 bots
$player3 = new Player();
$player4 = new Player();
$player5 = new Player();

$game = new RockpaperScissorsSpockLizard();
$game->addPlayers($player1, $player2, $player3, $player4, $player5)
     ->play();

// returns an array containing all wins, ties, and losses
$outcomes = $this->getOutcomes()

... or just throw the player instantiation directly into the addPlayers() method

$game = new RockpaperScissorsSpockLizard();
$game->addPlayers($player1, $player2, (new Player), (new Player), (new Player))
         ->play();

Class Method Reference:

Player( string $player_name )

move( string $move)

Set your move

setName()

Set player name. Can also be passed via the constructor. Generic "Player 1, 2, 3" will be used if name is empty.

getName()

Get player name.

getMoveHistory()

Get player's move history

getLastMove()

Get player's last move

RockPaperScissorsSpockLizard()

play()

Play the round

restart()

Restarts the game

setRounds( string $number, bool $lock = false)

Set the number of rounds for this game. Default is 1 if not specified.

Parameters
$number integer
  • The maximum number of rounds before a winner is chosen
$lock bool
  • If true, don't allow the number of rounds to change for this game
  • If false (default), the maximum number of rounds can be changed during the game, even after a winner is determined.

getRounds()

Returns all round results.

getOutcome()

Returns last round outcome.

addPlayer()

Add player to the game.

addPlayers()

Add multiple players to the game.

getPlayers()

Return players for game.

getTotalPlayers()

Returns the number of players playing

getRoundWinner()

Returns the player who won the last round.

getOutcomes()

Returns the outcomes for all players.

getWinners()

Returns the player who won the game.

统计信息

  • 总下载量: 30
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: HTML

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2017-08-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固