Aktywne Wpisy
ATAT-2 +53
Dla niektórych ten wpis będzie oczywistością ale innym może da do myślenia.
Wykopki - trzymajcie część oszczędności w gotówce.
Moja sytuacja sprzed kilku dni gdy rozliczenie za duży etap budowy przyszło szybciej niż planowałem i musiałem wyczarować 60k na drugi dzień.
Mając podobne doświadczenia tylko z dalekiej z przeszłości uznałem, że to nic trudnego. Wsiadłem w auto i pojechałem do bankomatu z zamiarem zrobienia kilku transakcji po 9k.
Pierwszy bank i zonk
Wykopki - trzymajcie część oszczędności w gotówce.
Moja sytuacja sprzed kilku dni gdy rozliczenie za duży etap budowy przyszło szybciej niż planowałem i musiałem wyczarować 60k na drugi dzień.
Mając podobne doświadczenia tylko z dalekiej z przeszłości uznałem, że to nic trudnego. Wsiadłem w auto i pojechałem do bankomatu z zamiarem zrobienia kilku transakcji po 9k.
Pierwszy bank i zonk
Lukardio +231
abs(mojex - xpotworka) + abs(mojey + ypotworka);
i teoretycznie to działa, z taką różnicą, że w grze oczywiście możemy atakować także na ukos, czyli jeżeli potwór będzie w odległości ukośnej 6 komórek, to mój kod pokaże, że dla niego to jest 12 komórek.
Sprawę podchodzenia do potworków w miarę rozwiązałem, jednak też nie do końca i pewnie okrężną drogą.
Jeśli komuś chcę się zerknąć to: http://pastebin.com/m7TYVJUz
Mam nadzieję że jest wystarczająco dużo komentarzy. :P
#programowanie #naukaprogramowania
Nad Pitagorasem myślałem, ale oczywiście nie wszystkie mooby są na ukos od mojej postaci, niektóre są w linii prostej, więc trzeba by było sprawdzać jeszcze czy da się zbudować trójkąt.
@anonim1133:
W sumie to dobra propozycja, przyznam szczerze że na to nie wpadłem, tutaj w sumie trzeba sprawdzać tylko przynależność punktu do koła :D
@plasticstone
Właśnie gra ma taki algorytm że 6 ukośnie to to samo co 6 w
(x2 -x1)^2 + (y2-y1)^2 = dist^2
Przy testowaniu minimalnej odleglości spotęguj najpierw dystans, żeby pozbyć się pierwiastkowania.
@morsisko: A czemu miałoby się nie dać? Po prostu może ci wyjść trójkąt z jednym bokiem równym 0.
Przykład: Moje koordynaty: 155,50
Przeciwnika: 165,80
z abs = abs(165-155) + abs (80 - 50) = 40
z sqrt(pow(x,2) = sqrt((165-155)^2) + sqrt((50-80)^2)) = 40
@plasticstone Nie mój, ale może tak miało być? :)
aby uwzglednic skosne odleglosci proponuje
function [retval] = distancemanh (x1,y1,x2,y2)
mindelta = min(abs(x1-x2), abs(y1-y2));
max_delta = max(abs(x1-x2), abs(y1-y2));
retval = 14*min_delta+10*(maxdelta - mindelta);
endfunction
jest to w matlabie ale moge ci napisac w kazdym jezyku, ta funkcja zwraca odlegosc miedzy dwoma 'kratkami' na mapie, przy czym mozliwy jest ruch po skosie i w pionie i poziomie (najpierw liczymy zeby dojsc po skosie tyle ile jest mozliwe
W google też wychodzi 40, chyba że ja gdzieś źle zapisałem:
https://www.google.pl/search?q=sqrt%28%28165-155%29^2%29+%2B+sqrt%28%2850-80%29^2%29%29&ie=utf-8&oe=utf-8&gws_rd=cr&ei=W1PLVfusEMqX7Qbu7Zv4BA
Choć jak liczę w pamięci to wychodzi mi tak jak tobie, dziwne. :O
@plasticstone
Dzięki, na razie zobaczę co dam rade zrobić sam, bo ten mój algorytm będę musiał cały wywalić raczej :(