kayrunm/php-adventofcode

Advent of Code 的 PHP 解决方案包装器。

1.0 2021-12-07 21:19 UTC

This package is auto-updated.

Last update: 2024-09-08 03:43:21 UTC


README

这是一个基于 Laravel Zero 构建的 Advent of Code 解决方案包装器。

入门指南

有效年份

您可以通过更改 LOWEST_YEARCURRENT_YEAR 环境变量来更改有效的挑战年份。 CURRENT_YEAR 被用作在没有给定年份的情况下运行的任何命令的回退。

API 会话

您需要从 Advent of Code 网站获取您的 session ID。这用于下载每天挑战的独特输入。

您可以通过登录到 Advent of Code 网站并复制存储在名为 session 的cookie中的字符串来完成此操作。一旦复制完毕,将其粘贴到 .env 文件下的 AOC_SESSION 键下。

命令

制作解决方案

adventofcode make {day} 命令创建一个解决方案文件并下载指定天挑战的独特输入。默认情况下,它将从您在 CURRENT_YEAR 环境变量中指定的年份检索挑战。这可以通过 --year 选项在运行时设置。

例如,以下将创建2021年第7天的解决方案

$ php adventofcode make 7 --year=2021 

解决方案

您可以使用 dayyear 命令运行给定日期或年份的解决方案。

例如,以下将运行2021年第7天的解决方案

$ php adventofcode day 7 --year=2021

以下将运行2021年所有可用的解决方案。

$ php adventofcode year 2021

重构

为了帮助重构,您可以通过在任何解决方案类上设置 $answers 属性来设置任何解决方案的答案。

假设解决方案的A部分和B部分的答案分别是 383493,您可以使用以下代码设置它们

protected array $answers = [
    'partOne' => 383,
    'partTwo' => 493,
];

通过这样做,运行任何解决方案命令将显示您的解决方案是否有正确答案。