mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 20:32:15 +00:00
80 lines
2.4 KiB
PHP
80 lines
2.4 KiB
PHP
<?php
|
|
|
|
class GildedRose {
|
|
|
|
private $items;
|
|
|
|
function __construct($items) {
|
|
$this->items = $items;
|
|
}
|
|
|
|
function update_quality() {
|
|
foreach ($this->items as $item) {
|
|
if ($item->name != 'Aged Brie' and $item->name != 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ($item->quality > 0) {
|
|
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
|
|
$item->quality = $item->quality - 1;
|
|
}
|
|
}
|
|
} else {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
if ($item->name == 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ($item->sell_in < 11) {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
}
|
|
}
|
|
if ($item->sell_in < 6) {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
|
|
$item->sell_in = $item->sell_in - 1;
|
|
}
|
|
|
|
if ($item->sell_in < 0) {
|
|
if ($item->name != 'Aged Brie') {
|
|
if ($item->name != 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ($item->quality > 0) {
|
|
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
|
|
$item->quality = $item->quality - 1;
|
|
}
|
|
}
|
|
} else {
|
|
$item->quality = $item->quality - $item->quality;
|
|
}
|
|
} else {
|
|
if ($item->quality < 50) {
|
|
$item->quality = $item->quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class Item {
|
|
|
|
public $name;
|
|
public $sell_in;
|
|
public $quality;
|
|
|
|
function __construct($name, $sell_in, $quality) {
|
|
$this->name = $name;
|
|
$this->sell_in = $sell_in;
|
|
$this->quality = $quality;
|
|
}
|
|
|
|
public function __toString() {
|
|
return "{$this->name}, {$this->sell_in}, {$this->quality}";
|
|
}
|
|
|
|
}
|
|
|