Add Perl6 version

This commit is contained in:
cono committed 2017-07-14 16:27:14 +03:00
1 parent de471eb175
commit a5309b3230
5 files changed
+164

No files matched your search

+66
View File
@@ -0,0 +1,66 @@
use v6;
use Item;
class GildedRose {
has Item @.items;
method update_quality {
for @!items -> $item {
if ($item.name ne 'Aged Brie' && $item.name ne 'Backstage passes to a TAFKAL80ETC concert') {
if ( $item.quality > 0 ) {
if ( $item.name ne 'Sulfuras, Hand of Ragnaros' ) {
$item.quality = $item.quality - 1;
}
}
}
else {
if ( $item.quality < 50 ) {
$item.quality = $item.quality + 1;
if ( $item.name eq '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 ne 'Sulfuras, Hand of Ragnaros' ) {
$item.sell_in = $item.sell_in - 1;
}
if ( $item.sell_in < 0 ) {
if ( $item.name ne 'Aged Brie' ) {
if ( $item.name ne
'Backstage passes to a TAFKAL80ETC concert' )
{
if ( $item.quality > 0 ) {
if ( $item.name ne '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;
}
}
}
}
return;
}
};
+11
View File
@@ -0,0 +1,11 @@
use v6;
class Item {
has Str $.name;
has Int $.sell_in is rw = 0;
has Int $.quality is rw = 0;
method Str {
"{$!name}, {$!sell_in}, {$!quality}"
}
};