PHP code example of crosseno / core

1. Go to this page and download the library: Download crosseno/core library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

crosseno / core example snippets




use Crosseno\Core\Answer\Answer;
use Crosseno\Core\Answer\AnswerKey;
use Crosseno\Core\Crossword\Crossword;
use Crosseno\Core\Crossword\CrosswordEntry;
use Crosseno\Core\Crossword\DuplicatePlacementPolicy;
use Crosseno\Core\Grid\CellSymbol;
use Crosseno\Core\Grid\Direction;
use Crosseno\Core\Grid\Grid;
use Crosseno\Core\Grid\GridDimensions;
use Crosseno\Core\Grid\Placement;
use Crosseno\Core\Grid\Position;
use Crosseno\Core\ResourceLimits;

$limits = ResourceLimits::standard();
$dimensions = new GridDimensions(5, 5);
$grid = Grid::empty($dimensions, $limits);

$cat = new Answer(
    new AnswerKey('en:cat'),
    [new CellSymbol('C'), new CellSymbol('A'), new CellSymbol('T')],
    'cat',
    $limits,
);
$ear = new Answer(
    new AnswerKey('en:ear'),
    [new CellSymbol('E'), new CellSymbol('A'), new CellSymbol('R')],
    'ear',
    $limits,
);

$crossword = new Crossword(
    $grid,
    [
        new CrosswordEntry($cat, new Placement(new Position(1, 0), Direction::Horizontal, 3, $limits)),
        new CrosswordEntry($ear, new Placement(new Position(0, 1), Direction::Vertical, 3, $limits)),
    ],
    DuplicatePlacementPolicy::Forbid,
    $limits,
);

use Crosseno\Core\Serialization\DomainSnapshotDeserializer;
use Crosseno\Core\Serialization\DomainSnapshotSerializer;

$json = (new DomainSnapshotSerializer())->serialize($crossword, $limits);
$copy = (new DomainSnapshotDeserializer())->deserialize($json, $limits);