🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #92861

Re: rysowanie kółek w pascalu

#92861
From: bala_dżi
Date: Thu, 16 Apr 2009 08:33
75 lines
3728 bytes
 Dzięki, wyjaśnij mi to:
> 1.Rozpoczynamy z pusta kolekcja okręgów
>  4. Jezeli okrag nie znajduje się w kolekcji
>  5. Dodajemy go do kolekcji.
 Rozumiem istotę losowania okręgów. Ale nie bardzo czaję jak to tam
idzie dalej,
 Dlaczego deklarujesz typ? Chodzi Ci o to aby nie wyłaziły?

> Z racji na zapewne Twoją nieznajomość złożonych typów danych,
> kolekcja okregów u Ciebie automagicznie zmienia się w
> const
>   MAX_ITEMS = 1337;
>
> type
>   TTab = array[1..MAX_ITEMS] of integer;
>
> var
>   tx  : TTab;
>   ty  : TTab;
>   ile : integer; // ilosc elementow w kolekcji
>
> Zakładając że wszystkie promienie są równe dochodzi do
> tego:
> var
>   r   : integer;
>
> I potrzebujesz do szczęścia jeszcze sprawdzenia czy dany
> okrag jest "legalnie postawiony" pośrod wszystkich istniejących.
>
> Przy czym to sobie ulatwiasz za pomocą dekompozycji
> do dwóch 'pod-problemów' ;) :

   Możesz napisać mi to:
> function czyKolidujaDwa(x1,y1,r1,x2,y2,r2):boolean;
> begin
>   // umiesz zaimplementowac?
> end;

 I to też:
> procedure dodajOkrag(ox,oy);
> begin
>   // też powinieneś w stanie być odpowiednio zmanipulowac
>   // zmienne tx, ty i ile zeby dodac element do kolekcji
> end;
  To na szczęście rozumiem
> function czyKolidujeZeWszystkimi(x,y,r):boolean;
> begin
>   czyKoliduje := false;
>   for n:=1 to ile do
>     if (czyKoliduja2(tx[n], ty[n], r, x, y, r))
>       czyKoliduje := true; // tu mozna nawet machnac Exit(true); ;)
>   Result := czyKoliduje;
> end;


> Utrudniasz sobie, losuj przesunięte okręgi.
> x := Random(320-2*r)+r;
> analogicznie y. Będziesz miał pewniaka że wszysto będzie
> w View Porcie, bez zbędnego kombinowania.

Tak zrobię ;-)

> p.s. Jakiego kompilatora używasz? Mam nadzieję że fpc
>      bo ja preferuje ten dialekt, i preferuje ludzi
>      nie używających archaicznego Turbo Pascal'a z
>      powodów:
>      - bo nauczyciel każe kraść
>      - bo tak
>
>      ;-).

Też wolę fpc, ale program ma być na DOS, a fpc jest na Win32, jestem
zmuszony korzystać z Turbo :-(. Zresztą Turbo to abadonware, więc za
korzystanie z niego nikt mnie raczej nie zamknie ;-). Zresztą Borlanda
już nie ma
Technical Details
Message-ID: <a3a16e92-2cf3-4065-be0d-00014715e513@v19g2000yqn.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!v19g2000yqn.googlegroups.com!not-for-mail
References: <965c12ab-f22e-4c33-be78-3718696c62c7@r33g2000yqn.googlegroups.com> <bjr6f5u3nmup.7gtm65h9drt6.dlg@40tude.net> <cf45cc82-118b-403c-9d74-0f2e44329e03@l1g2000yqk.googlegroups.com> <q025rvbbsfsw.1ll6oa39v41ha$.dlg@40tude.net> <8be05bb3-a81c-45ec-8d42-a56108df3072@f17g2000vbf.googlegroups.com> <1wwtx7p9jg45z.1qenm4vzw4dnd$.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!v19g2000yqn.googlegroups.com!not-for-mail
From: bala_dżi <larry.marcin@gmail.com>
Newsgroups: pl.comp.lang.pascal
Subject: Re: rysowanie kółek w pascalu
Date: Thu, 16 Apr 2009 01:33:27 -0700 (PDT)
Organization: http://groups.google.com
Lines: 78
Message-ID: <a3a16e92-2cf3-4065-be0d-00014715e513@v19g2000yqn.googlegroups.com>
References: <965c12ab-f22e-4c33-be78-3718696c62c7@r33g2000yqn.googlegroups.com>  <bjr6f5u3nmup.7gtm65h9drt6.dlg@40tude.net> <cf45cc82-118b-403c-9d74-0f2e44329e03@l1g2000yqk.googlegroups.com>  <q025rvbbsfsw.1ll6oa39v41ha$.dlg@40tude.net> <8be05bb3-a81c-45ec-8d42-a56108df3072@f17g2000vbf.googlegroups.com>  <1wwtx7p9jg45z.1qenm4vzw4dnd$.dlg@40tude.net>
NNTP-Posting-Host: 83.17.0.30
Mime-Version: 1.0
X-Trace: posting.google.com 1239870807 29890 127.0.0.1 (16 Apr 2009 08:33:27 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 16 Apr 2009 08:33:27 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: v19g2000yqn.googlegroups.com; posting-host=83.17.0.30;  posting-account=11u2pAoAAAAqE-cC28kNuWF05zNjYR1V
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.20)  Gecko/20081217 Firefox/2.0.0.20,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit