Blitz3D/ONT/Lekcja2

Z Wikibooks, biblioteki wolnych podręczników.

Witam Was w drugiej lekcji! Pewnie ucieszy Cię fakt, że w tej lekcji napiszemy jedynie prosty kalkulator. W porównaniu z pierwszą lekcją to naprawdę mało.
Uczynimy to jednak jak profesjonaliści :) A jak oni to robią? No, najpierw piszą założenia:

  • na początku wpisujemy 2 liczby,
  • potem wybieramy działanie,
  • i otrzymujemy wynik

Niewiele, ale przydatne. Od razu piszę kod:

Graphics 640,480,16,2
SetBuffer BackBuffer()

AppTitle "Kalkulator by Kalimatas"

Global a,b

Global wynik

Global fnt=LoadFont("Arial",18)
SetFont fnt

Print "Witaj w programie Kalkulator!"
Print "Autor: Kalimatas"

a=Input("Podaj pierwsza liczbe: ")
b=Input("Podaj druga liczbe: ")

Print "Wybierz dzialanie:"
Print "1.Dodawanie"
Print "2.Odejmowanie"
Print "3.Mnozenie"
Print "4.Dzielenie"

c=Input("")

If c="1"
wynik=a+b
Print "Wynik: "+wynik
End If

If c="2"
wynik=a-b
Print "Wynik: "+wynik
End If

If c="3"
wynik=a*b
Print "Wynik: "+wynik
End If

If c="4"
wynik=a/b
If a<1 Then Print "Niewlasciwa liczba!"
Print "Wynik: "+wynik
End If

While Not KeyHit(1)
Flip
Wend
End

Prześledzimy tylko co jest nowego. Deklarujemy zmienne. Tak, Global oznacza, że te zmienne będziemy używać cały czas, by przy jakiejś funkcji program nie wyświetlił błędu. I tak. W zasadzie nie ma nic nowego. Program prosi nas o dwie liczby, potem byśmy podali numerek działania (odbywa się to na tej samej zasadzie, co pozyskiwanie liczb). Ale jak to się dzieje, że program odróżnia te numerki? Otóż użyliśmy bardzo przydatnej funkcji If. Oznacza ona jeśli. Czyli jeśli jest spełniony jakiś warunek to to i to.

If warunek
instrukcje
End If

Przedstawia się bardzo prosto. Jeśli c (to pod tą zmienną pozyskujemy numerek) równa się np. 1 to program dodaje te dwie liczby. Wcześniej zadeklarowaliśmy zmienną globalną wynik. W instrukcjach mówimy programowi, że zmienna przybiera taką postać, czyli sumę liczb a i b. Tak samo działają kolejne instrukcje kolejnych warunków funkcji If. I poza tym nie ma tu nic nowego. Dlatego spokojnie mogę napisać, że to koniec tej lekcji.