Domek w trybie graficznym

0

Uff.. i od nowa.
Program który do tej pory udało mi się zrobić wygląda tak:
805klh43cewm_t.jpg
Pytanie: Jak można inczej zrobić płotek bo jak widzicie do dwóch współrzędnych dodawałem wartość 20 żeby program ustawiał kolejne
elementy płotka obok siebie nie na sobie, można to zrobić jakoś tak żeby przypisać tym dwóm współrzędnym załóżmy a i b, i zrobić taki myk że np. a=a+20, b=b+20 i żeby to się samo powtarzało (w pętli?) i dodawało te wartości w jednej instrukcji?

0

można to zrobić jakoś tak żeby przypisać tym dwóm współrzędnym załóżmy a i b, i zrobić taki myk że np. a=a+20, b=b+20 i żeby to się samo powtarzało (w pętli?) i dodawało te wartości w jednej instrukcji?

No pewnie, że tak, ale można to zrobić inaczej:

For NumerPlotka := 0 To 20 Do
 Rectangle(NumerPlotka*RozmiarPlotka, pozycja_y_plotka, (NumerPlotka+1)*RozmiarPlotka, pozycja_y2_plotka);
  • tylko jakoś po ludzku nazwij tę zmienną, jeżeli z tego skorzystasz *
0

Jeśli chodzi o "płotek po prawej", to należy wykorzystać pętlę for i prostą arytmetykę do obliczenia pozycji:

var
  I: Byte;
begin
  {...}
  SetColor(Green);

  for I := 0 to 15 do
    Rectangle(1020 + I * 20, 400, 1000 + I * 20, 500);

  {...}
end;

Nie musisz w kółko powtarzać instrukcji SetColor, bo przecież nie jest jednorazowa; Wcześniej ustawiasz raz kolor niebieski dla okien i drzwi, a przy płotku powtarzasz przed każdym prostokątem;


Jeśli potrzebujesz więcej informacji na temat tego programu to wklej cały kod, a będzie można coś więcej podpowiedzieć; Z tego co widzę można go będzie dość zoptymalizować, więc jak zalezy Ci na tym to pochwal się kodem, a przede wszystkim sam się zastanów jak skrócić pozostałą część kodu;

Poczytaj także jakiś kurs programowania bo widać, że brakuje Ci podstawowej wiedzy - tutaj znajomości pętli for;

I na przyszłość nadawaj wątkom bardziej opisowe tytuły, niż Domek PASCAL!, oraz jeśli chcesz się zapytać o podstawy - pisz w dziale Newbie (dla początkujących).

1 użytkowników online, w tym zalogowanych: 0, gości: 1