Stránka 1 z 2

šachovnice ve small basicu

Napsal: 30 kvě 2011 19:14
od Anonym_
dobrý den,

potřebovala bych poradit, jak naprogramovat program ve Small Basicu, který mi bude po zadání velikosti okna vykreslí šachovnicovou síť.

Předem děkuji za radu! :smile:

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 19:40
od domitea

Kód: Vybrat vše

rectangle = Shapes.AddRectangle(50,50)
Shapes.Move(rectangle, o kolik se to posunout o x, o y)


přes cyklus vytvoříš šachovnici

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 19:48
od Anonym_
děkuji za radu, jsem ale úplný začátečník (tedy spíš neznalec, co neposlouchá o hodinách :D) a jsem ztracená i ve Vaší radě. pokud byste měl/a čas, prosím o přiblížení Vaší pomoci. :))

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 20:05
od domitea

Kód: Vybrat vše

GraphicsWindow.Show()
For x = 1 To 8
For i = 1 To 8
  GraphicsWindow.DrawRectangle(50 * i,50 * x,50,50)
  endFor
EndFor


x a i určují počet políček - šachovnice

Proč něco takového(jednoduchého a v ČJ) neexistovalo před asi sedmi lety - stále se učím :lol:

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 20:13
od Anonym_
děkuji moc. :) pokud budu ještě předtím chtít zadat velikost okna obrazovky, jak po mě učitel žádá, k čemu to bude dobré a jak to udělám? a ještě bych asi měla mít některá políčka vybarvená černě, některá ne.

proč vůbec existuje na naší škole povinná informatika, vážně mi kazí průměr! :D

jste vážně moc chytrý/á, jsem Vám vděčná! :)

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 20:14
od faraon
Ještě na začátku doplň zadání velikosti té šachovnice, třeba takhle nějak:

Kód: Vybrat vše

TextWindow.Write("Zadej velikost strany: ")
strana = TextWindow.Read()


Když místo těch x a i dáš proměnnou strana, mělo by to udělat čtvercovou síť podle tvé volby.

Pár návodů do začátku najdeš tady:
http://download.microsoft.com/download/ ... c_Uvod.pdf
nebo tady:
http://download.microsoft.com/download/ ... 0Czech.pdf

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 20:23
od Anonym_
Faraon: děkuji moc. jen nevím, jak to myslíte s tou proměnnou. potřebovala bych šachovnici černobílou a přes celou obrazovku, což se asi řeší tím, že zadám právě velikost okna. ať zadávám velikost strany jak chci velkou, šachovnice vypadá pořád stejně. asi Vám to musí připadat vtipné, řešit takovéhle hloupé dotazy. :D

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 20:24
od domitea
Velikost okna je vlastnost Width a Height (GraphicWindow.Height - jako výška a šířka v EN) s tím průměrem nestraš, my máme ve škole 13 předmětů z čehož je 9 počítačových :lol:

Edit: pustím se do toho faraone :wink: a hlopé nejsou, na začátečnici :smile:

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 20:29
od Anonym_
ještě, že jsem na gymplu a informatiku máme naposledy letos. jinak bych vážně propadla! :D
vykoumám to zítra a ještě se určitě ozvu s nějakým problémem. :D

zatím díky moc! :)

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 21:01
od domitea

Kód: Vybrat vše

TextWindow.Write("Velikost okna? ")
strana = TextWindow.Read()
GraphicsWindow.Show()
For x = 1 To strana Step 1
  For i = 1 To strana step 1
    zbytekpox = Math.Remainder(x,2)
    zbytekpoi = Math.Remainder(i,2)
    If zbytekpoi = 0 And zbytekpox = 1 then
      GraphicsWindow.FillRectangle(50 * i,50 * x,50,50)
    ElseIf zbytekpoi = 1 And zbytekpox = 0 then
      GraphicsWindow.FillRectangle(50 * i,50 * x,50,50)
    Else
      GraphicsWindow.DrawRectangle(50 * i,50 * x,50,50)
    EndIf
  endFor
EndFor
GraphicsWindow.Width = (strana + 2) * 50
GraphicsWindow.Height = (strana + 2) * 50


Barvičky si určitě upravíš podle toho druhého návodu, co ti dal faraon :wink:

Re: šachovnice ve small basicu

Napsal: 30 kvě 2011 21:34
od faraon
Lucka123 píše:jak to myslíte s tou proměnnou...


Proměnná je místo v paměti, kam se ukládá nějaká hodnota, která se bude při zpracování měnit. Aby se do programu nemusela pokaždé zadávat nějaká adresa, tak se každé proměnné dá určitý název, domitea použil písmena x a i, já rovnou celé slovo strana. Takže když do té proměnné zadáš nějaké číslo, třeba 8, bude to znamenat že chceš mít šachovnici 8x8 čtverců.

Koukám že domitea už má program hotový, tak jen doplním jak bych řešil to střídání barev:

Kód: Vybrat vše

GraphicsWindow.BackgroundColor = "Green"
...
...
if (Math.Remainder(x,2) + Math.Remainder(i,2))=1 then
  GraphicsWindow.BrushColor = "White"
else
  GraphicsWindow.BrushColor = "Black"
endif


To by mělo udělat černobílou šachovnici na zeleném pozadí, aspoň doufám, podle toho co jsem vyčetl v tom návodu :D

Jen bych ty řádky GraphicsWindow.Width a GraphicsWindow.Height dal ještě před GraphicsWindow.Show(), tipnul bych si že takhle by na pomalejším počítači to okno mohlo po zobrazení šachovnice viditelně měnit svojí velikost, vypadalo by to divně.




Teda lituji tě že se musíš učit zrovna tohle, trochu mi uniká smysl (ne že by se například před třiceti lety na některých gymnáziích nevyučoval povinně FORTRAN), přidám jeden můj výrok v diskuzi na jiném webu, o tom který programovací jazyk je nejvhodnější pro začátečníky: :wink:

Jako pamětník osmibitových dob, s vědomím že BASIC je dodnes můj nejoblíbenější jazyk a často ho používám, prohlašuji: "Ne, nic co má společného s jakýmkoliv Basicem (zejména od Microsoftu) není vhodné pro výuku, tím méně začátečníků!". To už radši Baltík, ten napáchá méně škody.

Re: šachovnice ve small basicu  Vyřešeno

Napsal: 30 kvě 2011 21:45
od domitea
Visual Basic je opravdu hrůza, musel jsem přetrpět dva roky učení v tomto jazyce, to už jsem v té době uměl docela obstojně C# (učím se ho od sedmičky). To co jsem v C# uměl levou zadní jsem ve VB6 a .NET dával velice kostrbatě, ale už se konečně učíme C# a tam jsem se rozjel naplno :D. A C# nenadělá takovou paseku po učení, protože se použije dál :D