mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-13 04:42:23 +00:00
73 lines
2.3 KiB
COBOL
73 lines
2.3 KiB
COBOL
program-id. GildedRose as "GildedRose".
|
|
|
|
file-control.
|
|
select in-items assign 'in-items'.
|
|
select items assign 'items'.
|
|
|
|
data division.
|
|
file section.
|
|
fd in-items.
|
|
01 in-item pic x(58).
|
|
fd items.
|
|
01 item.
|
|
02 sell-in pic 9(4).
|
|
02 quality pic 9(4).
|
|
02 name pic x(50).
|
|
|
|
working-storage section.
|
|
procedure division.
|
|
open input in-items output items.
|
|
start-lable.
|
|
read in-items end go to end-lable.
|
|
move in-item to item.
|
|
if name not equal "Aged Brie" and name not equal "Backstage passes to a TAFKAL80ETC concert"
|
|
if quality greater then 0
|
|
if name not equal to "Sulfuras, Hand of Ragnaros"
|
|
compute quality = quality - 1
|
|
end-if
|
|
end-if
|
|
else
|
|
if quality is less then 50
|
|
compute quality = quality + 1
|
|
if name equals "Backstage passes to a TAFKAL80ETC concert"
|
|
if sell-in less then 11
|
|
if quality less then 50
|
|
compute quality = quality + 1
|
|
end-if
|
|
end-if
|
|
if sell-in less then 6
|
|
if quality less then 50
|
|
compute quality = quality + 1
|
|
end-if
|
|
end-if
|
|
end-if
|
|
end-if
|
|
end-if
|
|
if name not equal "Sulfuras, Hand of Ragnaros"
|
|
compute sell-in = sell-in - 1
|
|
end-if
|
|
if sell-in is less then 0
|
|
if name is not equal to "Aged Brie"
|
|
if name is not equal to "Backstage passes to a TAFKAL80ETC concert"
|
|
if quality is greater then 0
|
|
if name is equal to "Sulfuras, Hand of Ragnaros"
|
|
compute quality = quality - 1
|
|
end-if
|
|
end-if
|
|
else
|
|
compute quality = quality - quality
|
|
end-if
|
|
else
|
|
if quality is less then 50
|
|
compute quality = quality + 1
|
|
end-if
|
|
end-if
|
|
end-if
|
|
write item.
|
|
go to start-lable.
|
|
end-lable.
|
|
close items.
|
|
goback.
|
|
|
|
end program GildedRose.
|