-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " " <f...@N...gazeta.pl>
Newsgroups: pl.comp.programming
Subject: Re: zaawansowane ai
Date: Tue, 17 Apr 2012 16:32:51 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 142
Message-ID: <jmk5vj$gnd$1@inews.gazeta.pl>
References: <jmhnji$fi6$1@inews.gazeta.pl> <jmi22j$19n$1@inews.gazeta.pl>
<jmj41g$euf$1@inews.gazeta.pl> <jmj8cs$poh$1@inews.gazeta.pl>
<jmjk3l$rd8$1@inews.gazeta.pl> <jmjmm3$5aq$1@inews.gazeta.pl>
<jmjnm0$7ua$1@inews.gazeta.pl> <jmjp8b$c8l$1@inews.gazeta.pl>
<jmjtjo$p5o$1@inews.gazeta.pl> <jmk03g$1uk$1@inews.gazeta.pl>
<jmk3ki$amq$1@inews.gazeta.pl> <jmk46n$c4h$1@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1334680371 17133 172.20.26.235 (17 Apr 2012 16:32:51 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 17 Apr 2012 16:32:51 +0000 (UTC)
X-User: fir
X-Forwarded-For: 31.60.6.178
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:196831
[ ukryj nagłówki ]M.M. <m...@N...gazeta.pl> napisał(a):
> <f...@N...gazeta.pl> napisał(a):
>
> > o jakim grafie ty mowisz? ja nie mam zadnych grafow tylko mape
> > ktorej okolice czytam, nie bardzo wiem do czego uzywa sie grafow
> > w programoaniu np programow do gry w warcaby czy tic tac toe
> > - nie zajmowalem sie tym,
> To przypomnij sobie czasy gdy pisałeś A* :D
>
mam tu kod algorytmu na najkrotsza droge sprzed 10 lat (z poczatkow
nauki c) (nie chce mi sie tego czytac ale gdybym mial teraz to zrobic to
bym tylko troche poprawil owczesny 'drewniany styl' (glupie nazwy itd)
i tego mw i dzis uzyl (jest w c wiec jest dosyc szybkie)
polega to na wypoczkowaniu kolejnej obwodki z poprzedniej az dojedzie sie
do celu - nie pamietam jak to jest dokladnie z tym grafem i jak to jest
'wszerz'
void wypelnijmapeskalaremodleglosci(int XS, int YS, int XK, int YK)
{
int dx[8]={-1,0,1,-1,1,-1, 0, 1};
int dy[8]={ 1,1,1, 0,0,-1,-1,-1};
#define MAX_POJ_NACZOLOFALI 3000
TypeTWOINT lista1[MAX_POJ_NACZOLOFALI];
TypeTWOINT lista2[MAX_POJ_NACZOLOFALI];
TypeTWOINT* listaprzerabianych=lista1;
TypeTWOINT* listapaczkowanych=lista2;
TypeTWOINT* tmp;
int value_paczkowanych=1; // p/on/czkowanych tj. tworzonych w nowej
generacji z listy przerabianych
int j=0; // tutaj i jest aktualna pozycja na liscie
przerabianych, j na tworzonych
int czykonczymy=FALSE;
//ini - od takiej krotkiej listy startujemy
listaprzerabianych[0].x=XK;
listaprzerabianych[0].y=YK; VGAEKRAN[320*YK+XK]=0;
listaprzerabianych[1].x=KONIEC_OZN;
do
{
for(int i=0; i<MAX_POJ_NACZOLOFALI;i++)
{
if(listaprzerabianych[i].x==KONIEC_OZN) break;
// paczkuj_nowe_dookola_punktu
for(int ii=0; ii<8; ii++)
{
int xp=listaprzerabianych[i].x+dx[ii];
int yp=listaprzerabianych[i].y+dy[ii];
if(value_paczkowanych<VGAEKRAN[320*yp+xp] && VGAEKRAN[320*yp+xp]!
=255)
{
listapaczkowanych[j].x=xp;
listapaczkowanych[j].y=yp;
VGAEKRAN[320*yp+xp]=value_paczkowanych;
j++;
if(xp==XS && yp==YS) czykonczymy=TRUE;
}
}
}
listapaczkowanych[j].x=KONIEC_OZN;
//odwrocenie macierzy i od nowa
tmp=listapaczkowanych; listapaczkowanych=listaprzerabianych;
listaprzerabianych=tmp;
j=0; value_paczkowanych++;
}
while(!czykonczymy);
}
void narysujterazdroge(int XS, int YS)
{
int dx[8]={-1,0,1,-1,1,-1, 0, 1};
int dy[8]={ 1,1,1, 0,0,-1,-1,-1};
int x=XS;
int y=YS;
int xp, yp;
do {
//------
for(int i=0; i<8; i++)
{
xp=(x+dx[i]);
yp=(y+dy[i]);
unsigned valx=VGAEKRAN[320*y+x];
unsigned valxp=VGAEKRAN[320*yp+xp];
if(valxp==0) return;
if(valxp<valx) break;
}
//-------- w xp yp jest teraz nizszy sasiad x y
VGAEKRAN[320*y+x]=150;
x=xp; y=yp;
// delay(10);
} while(1);
}
>
> > za to kiedys klepalem dosyc duzo roguelika
> > (ktory jest wlasnie tilowym erpegiem z botami) i mam w tym troche
> > doswiadczenia (swietnie sie programuje takie rzeczy ijest tu
> > duzo ciekawych tematow - kiedys indziej napisze o tym wiecej)
> Ja za to nie wiem co to jest tilowy erpeg :)
>
> Pozdrawiam
>
>
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 17.04.12 18:42 M.M.
- 17.04.12 19:16
- 17.04.12 19:29
- 17.04.12 20:01 M.M.
- 17.04.12 20:29 Jordan Szubert
- 17.04.12 21:20 M.M.
- 19.04.12 17:03
- 19.04.12 17:49 zażółcony
- 20.04.12 10:26 zażółcony
- 20.04.12 10:50 Jordan Szubert
- 20.04.12 13:45 A.L.
- 20.04.12 20:00 M.M.
- 21.04.12 00:14 M.M.
- 04.05.12 15:59 zażółcony
- 04.05.12 16:26
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=