[Pascal] Spadająca piłka

Odpowiedz Nowy wątek
2006-11-21 16:12
0

Cześć chłopaki. :)

Jestem studentką socjologii, ale w moim planie znalazła się również Informatyka. Mam jednak szansę zostać zwolniona z zajęć Informatyki, jeżeli napiszę malutki programik w Pascalu. Trochę interesuję się informatyką i znam podstawy tego języka, ale nie potrafię tego programiku tak napisać, aby działał. :( Muszę to przygotować na poniedziałek (27 listopada) i nie wiem czy mi się uda. Może ktoś z Was mógłby mi pomóc?

Może opiszę, w czym rzecz:

Program ma przedstawiać piłkę (zobrazowaną jako gwiazdka - "*"). Piłka ta ma spadać z góry okna na dół, po czym ma się odbić trzy razy od dołu ekranu (za każdym razem odbija się coraz niżej). Po 3 odbiciu już się więcej nie odbija i zatrzymuje się na dole ekranu. Po chwili rusza w stronę lewej krawędzi okna (toczy się po dolnej krawędzi okna) i kiedy do niej doleci to znika.

Dla Was taki programik to pewnie 10 minut roboty, ale ja się w tym już gubię, a bardzo chciałbym być zwolniona z tych zajęć, gdyż dodatkowo pracuję i każda wolna godzina jest dla mnie na miarę złota.

Moglibyście pomóc mi w napisaniu tego programu? A może ktoś byłby tak uprzejmy i poświęcił chwile czasu na napisanie za mnie tego programu? Byłabym na prawdę wdzięczna!

Czekam na jakąkolwiek pomoc!

Pozdrawiam
Monika

Pozostało 580 znaków

2006-11-21 16:42
delphi_programmer
0

nie mam kompilatora wiec napisze z palca,
to jest mniej więcej coś takiego

program spadajaca_pilka;
uses crt;
const x = 30; {mozna sobie zmieniac ta wartosc}
var i:integer;

procedure odbij_pileczke(y1,y2:integer);
begin
for i:=y2 downto y1 do begin
GOTOxy(x,i);                         
write('*');
delay(500);
clrscr;
end;

for i:=y1 to y2 do begin
GOTOxy(x,i);                         
write('*');
delay(500);
clrscr;
end;

end;

begin
for i:=1 to 20 do begin
GOTOxy(x,i);                         
write('*');
delay(500);
clrscr;
end;

odbij_pileczke(14,20);
odbij_pileczke(16,20);
odbij_pileczke(18,20);

delay(2000);

for i:=x downto 1 begin
GOTOxy(i,20);                         
write('*');
delay(500);
clrscr;
end;

end.

Pozostało 580 znaków

2006-11-21 16:53
0

mały błąd się wkradł

for i:=x downto 1 begin

powinno byc

for i:=x downto 1 do begin

Pozostało 580 znaków

2006-11-21 17:35
0

Jesteś pierwsza, która logicznie uzasadniła dlaczego chce gotowca. Doceniam to. Oto nagroda ;] Powodzenia w socjologii.

program Pilka;

uses Crt;

const
 X :Byte = 40; { wpolzedna startu pilki na osi x (kolumna) }
 Y :Byte = 25; { wpolzedna startu pilki na osi y (wiersz)  }

{ rysowanie pilki na ekranie }
procedure Rysuj(AX, AY :Byte);
begin
   ClrScr;         { czyszczenie       }
   GoToXY(AX, AY); { przejdz do punktu }
   Write('*');     { rysuj pilke       }
   Delay(100);     { predkosc animacji }
end;

procedure Grawitacja;
var i :Byte;
begin
 for i := 1 to Y do Rysuj(X, i); { opadanie }
end;

procedure Odbicie(JakWysoko :Byte);
var i :Byte;
begin
 for i := Y downto (Y-JakWysoko) do Rysuj(X, i); { podskok  }
 for i := (Y-JakWysoko) to Y do Rysuj(X, i);     { opadanie }
end;

procedure Kulanie;
var i :Byte;
begin
 for i := X downto 0 do Rysuj(i, Y); { na lewo }
end;

begin
 ClrScr; { czyszczenie ekranu }
 Grawitacja;
 Odbicie(12);
 Odbicie(6);
 Odbicie(3);
 Kulanie;
end.

Materiały pokrewne.


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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