uppgiften på dugga 2

Transcription

uppgiften på dugga 2
Uppgift 3
I mappen given_files finns programmet Draw_Grid. Programmet ritar ut ett rutnät på skärmen.
Rutnätets utseende bestäms av användaren. Programmet låter först användaren mata in hur brett (i
antal tecken) som hela rutnätet skall vara, och sedan hur bred varje ruta skall vara. Det är då krav på
att rutans bredd måste gå jämt upp i rutnätets bredd. Därefter får användaren mata in förhållandet
mellan höjd och bredd för rutorna. Detta flyttal anger hur höga rutorna skall vara jämfört med
bredden. Så om bredden t.ex. är 8 och förhållandet är 0,5 så skall rutorna vara 8 * 0,5 = 4 tecken
höga. Till sist får användaren också mata in ifyllnadstecken för rutorna. Rutnätet kommer nämligen
ritas ut schackrutigt där "varannan" ruta fylls med det ena tecknet, och "varannan" ruta fylls med det
andra (se körexemplet nedan).
Detta program fungerar helt korrekt, du skall i denna uppgift inte modifiera programmets
funktion. D.v.s. du skall inte ändra på vad programmet gör. Dessvärre är programmet inte alls
särskilt läsbart och tar en stund att sätta sig in i. Du skall därför i denna uppgift snygga till
programmet genom att dela upp koden i lämpliga underprogram.
För att du skall vara helt med på hur programmet fungerar så har vi här klistrat in ett körexempel:
Mata in rutnätets bredd: 32
Mata in rutornas bredd: 8
Mata in förhållandet mellan höjd och bredd: 0.5
Mata in ifyllnadstecknen: # .
+­­­­­­­+­­­­­­­+­­­­­­­+­­­­­­­+
|#######|.......|#######|.......|
|#######|.......|#######|.......|
|#######|.......|#######|.......|
+­­­­­­­+­­­­­­­+­­­­­­­+­­­­­­­+
|.......|#######|.......|#######|
|.......|#######|.......|#######|
|.......|#######|.......|#######|
+­­­­­­­+­­­­­­­+­­­­­­­+­­­­­­­+
|#######|.......|#######|.......|
|#######|.......|#######|.......|
|#######|.......|#######|.......|
+­­­­­­­+­­­­­­­+­­­­­­­+­­­­­­­+
|.......|#######|.......|#######|
|.......|#######|.......|#######|
|.......|#######|.......|#######|
+­­­­­­­+­­­­­­­+­­­­­­­+­­­­­­­+
OBS: Det finns inget krav på att programmet skall bli kortare. Efter att du är klar med
uppsnyggandet så kanske programmet faktiskt blir längre.