Stránka 1 z 1

Pyramida ve Small Basicu  Vyřešeno

Napsal: 13 kvě 2012 20:56
od Veveruna
Dobrý den,
potřebovala bych poradit, jak pomocí čtverců vykreslit pyramidu, a uživatel mohl zadat kolik poschodí bude mít?

Předem moc děkuji za odpověď :)

Re: Pyramida ve Small Basicu

Napsal: 14 kvě 2012 18:50
od faraon
A jaká by se ti líbila víc? ;-)

pyramida1.png
pyramida1.png (9.53 KiB) Zobrazeno 331 x


pyramida2.png
pyramida2.png (9.45 KiB) Zobrazeno 331 x

Re: Pyramida ve Small Basicu

Napsal: 14 kvě 2012 20:41
od Veveruna
Jéé :) . Ale to není ve Small Basicu, nebo je? Akorát bych potřebovala přesný postup :(

Re: Pyramida ve Small Basicu

Napsal: 14 kvě 2012 21:09
od faraon
Je to QBasic, jeho starší předchůdce, ten tady na Linuxu spustím a hodně věcí je v něm podobných. Loni jsme tu něco ve Small Basicu řešili, ale od té doby jsem to už všechno zapomněl, tak si to prostuduj ať se máš čeho chytit: viewtopic.php?f=61&t=68258
Základ programu bude stejný, jen to vykreslování proběhne jinak.

A koukni se do příručky, je docela slušně napsaná, jestli máš nějaké mezery, tak v ní najdeš všechno co potřebuješ:
http://download.microsoft.com/download/ ... c_Uvod.pdf
http://download.microsoft.com/download/ ... 0Czech.pdf

Zvládáš použití cyklu FOR? Zbytek programu je už jen malá násobilka. Záleží akorát na tom jestli budeš chtít mít nějakou pevnou velikost okna a do něj přizpůsobovat kostky, nebo dovolit jen nějaký maximální počet pater té pyramidy, a nebo jestli budeš měnit velikost okna podle její výšky. Já v tom QBasicu to mám jednoduché, ten umí akorát 640x480, takže jsem si tolik vybírat nemohl ;-)

A přesný postup (program) pro tu první pyramidu je takhle:

Kód: Vybrat vše

SCREEN 12

INPUT "Pyramida - kolik pater? ", pater
sirkaplochy = 640
vyskaplochy = 480
sirkacihly = sirkaplochy / (pater * 2 - 1)
vyskacihly = vyskaplochy / pater

FOR i = 1 TO pater
    pocatek = sirkacihly * (i - 1) - 1
    FOR j = 1 TO (pater - i) * 2 + 1
        x = j * sirkacihly + pocatek
        y = vyskaplochy - i * vyskacihly
        LINE (x, y)-(x - sirkacihly + 2, y + vyskacihly - 2), 4, BF
        LINE (x, y)-(x - sirkacihly + 2, y + vyskacihly - 2), 7, B
    NEXT j
NEXT i

WHILE INKEY$ = "": WEND
END


Z toho půjde ten tvůj úkol odvodit, jen se přidá pár příkazů navíc a použijí jiné funkce pro kreslení. To všechno je v tom loňském dotazu.

Re: Pyramida ve Small Basicu

Napsal: 14 kvě 2012 21:49
od Veveruna
Děkuju moc! Snad už si poradím :))