Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
|
Forum - Polski Portal COLOBOTa |
|
|
aim - jak dobrze strzelić |
Autor |
Wiadomość |
shoter
Dołączył: 24 Gru 2008 Posty: 56
|
Wysłany: 24-12-2008, 13:38 aim - jak dobrze strzelić
|
|
|
mam 2 pytania :
1(raczej łatwe) jak zrobić aby lufa działka skręcała w lewo/prawo
2.Jak zrobić w prosty i zoptymalizowany sposób aby mniej więcej dokładnie za pośrednictwem aim() wycelować w jakiś obiekt/punkt?
///Błędy! - DeiDara |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:02, w całości zmieniany 1 raz |
|
|
|
|
DemoLisH
Zbanowany
Wiek: 24 Dołączył: 20 Kwi 2008 Posty: 273 Skąd: Poznań
|
Wysłany: 24-12-2008, 14:05 RE: aim - jak dobrze strzelić
|
|
|
1. nie da się
2. funkcja oblicza kąt do obiektu
Kod: | float directionZ(point a,point b )
{
return asin((b.z-a.z)/distance(a,b ));
} |
point a - to twoja pozycja
point b - pozycja obiektu do którego chcesz wycelować
przykład
object wrog=radar(AlienAnt);
aim(directionZ(position,wrog.position)-pitch);
///Błędy! - DeiDara |
_________________ Compiling [Gość.exe]...
Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604 |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:04, w całości zmieniany 2 razy |
|
|
|
|
shoter
Dołączył: 24 Gru 2008 Posty: 56
|
Wysłany: 24-12-2008, 16:10 RE: aim - jak dobrze strzelić
|
|
|
żeby nie tworzyć nowego tematu(dzięki za kod ).
Jakie są sposoby komunikacji między robotami?Chciałbym aby roboty umiały wiedzieć co inne robią i czego chcą.Na razie stworzyłem klasę na rzecz robotów naziemnych do zwalczania mrówek które walczą z mrówami,jeśli nawiążą kontakt przyjaciele przyjeżdżają z pomocą. .Cały kod jest schowany w robocie 'matce' (^^) która posiada funkcje publiczne które inne roboty wykorzystują.
Dzięki twojej pomocy roboty nareszcie nabiorą celności(Niestety mogły działać tylko na płaskim terenie a to nie było mi na rękę).Może jutro wrzucę tutaj kod jeśli ktoś by chciał...
jeśli chodzi o pytanie to chciałbym wiedzieć czy można zdeklarować jakąś zmienna która będzie widoczna dla każdego robota('matka' mogłaby tą zmienną przetrzymywać i dać jakiemuś robotowi zadanie ratowania robota(Jak wszystkie lecą w jedno miejsce to trochę niechlujnie a chciałbym stworzyć jakiegoś robota wydającego polecenia)
///Błędy! - DeiDara |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:12, w całości zmieniany 3 razy |
|
|
|
|
DemoLisH
Zbanowany
Wiek: 24 Dołączył: 20 Kwi 2008 Posty: 273 Skąd: Poznań
|
Wysłany: 24-12-2008, 22:29 RE: aim - jak dobrze strzelić
|
|
|
można zapisywać informacje do pliku i je wczytać
///Błędy! - DeiDara |
_________________ Compiling [Gość.exe]...
Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604 |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:13, w całości zmieniany 1 raz |
|
|
|
|
lukas_j
Geek 127.0.0.1<-hack
Twoja ulubiona misja: nie wiem, lubie wiekszosc :)
Pomógł: 1 raz Dołączył: 07 Cze 2008 Posty: 187 Skąd: localhost
|
Wysłany: 26-12-2008, 11:04 RE: aim - jak dobrze strzelić
|
|
|
można sprawdzać czy np. mrówka jest od robota w odległości np. 50 lub mniej, i jesli tak to robot leci w stronę robota
///Błędy,polskie znaki istnieją! - DeiDara |
_________________ Jestem zwolennikiem wolnego oprogramowania! |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:14, w całości zmieniany 1 raz |
|
|
|
|
adiblol
Administrator forum FLOSS FTW!
Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy Dołączył: 21 Kwi 2008 Posty: 1313 Skąd: pokój odsłuchowy
|
Wysłany: 02-01-2009, 19:13 RE: aim - jak dobrze strzelić
|
|
|
Cytat: | jeśli chodzi o pytanie to chciałbym wiedzieć czy można zdeklarować jakąś zmienna która będzie widoczna dla każdego robota('matka' mogłaby tą zmienną przetrzymywać i dać jakiemuś robotowi zadanie ratowania robota(Jak wszystkie lecą w jedno miejsce to trochę niechlujnie a chciałbym stworzyć jakiegoś robota wydającego polecenia) |
Przecież statyczne pola klasy to zapewniają.
///Błędy! - DeiDara |
_________________ 1Tbps Project && Telecomix Network
|
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:14, w całości zmieniany 1 raz |
|
|
|
|
Porost
Twoja ulubiona misja: Cała Nowa Ziemia.
Wiek: 22 Dołączył: 09 Sty 2009 Posty: 12
|
Wysłany: 09-01-2009, 15:31 RE: aim - jak dobrze strzelić
|
|
|
Witam, miałem ten sam problem co shoter. Spróbowałem użyć tego sposobu, ale uczyć się C-BOTa zacząłem dopiero niedawno i chyba nie rozumiem...
Gdzie mam to wstawić i co podmienić na co? W co to wziąć?
EDIT: Dobra, załapałem. Działa, tylko dziwnie nieprecyzyjnie - celuje kilka stopni za wysoko, przez co na dystansach większych niż kilkanaście metrów robot zwyczajnie pudłuje.
EDIT2: Naprawiłem dodając na końcu "-5". Nie jest to idealne rozwiązanie, ale celność znacznie poprawiło.
Poza tym mam jeszcze parę problemów:
1. Jak zrobić, by robot przemieścił się w punkt o określonej odległości do danego obiektu? Wiem, jak to zrobić za pomocą move, ale zależy mi by robot omijał przeszkody.
EDIT3: Udało się za pomoca kombinacji move i jet, ale ma to kilka wad:
1.jak przegrzeje mu się reaktor, to program świruje
2.to samo jak wpadnie na drzewo/górę
3.albo jak wleci w te zielone kuliste cosie, w których nie można latać.
4.nadaje się tylko dla latających
5.jest strasznie energochłonny
EDIT4: problemy 2 i 3 rozwiązane - wystarczy lecieć wyżej.
Jest możliwe wykonanie tego inaczej?
2. Próbowałem zrobić coś, co sprawdzałoby czy dany robot ma zwykłą baterię, czy atomową:
Kod: | if((this.energyCell.category=PowerCell)=true)
{
} |
Wywala mi błąd, że energyCell to "private element". Nie wiem, co to znaczy.
Może jakieś znaczenie ma to, ze gram w demo Colobota? Pełną wersję będę miał dopiero za kilka dni.
///Niema takiego słowa jak energorzerny! - DeiDara |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:16, w całości zmieniany 2 razy |
|
|
|
|
DemoLisH
Zbanowany
Wiek: 24 Dołączył: 20 Kwi 2008 Posty: 273 Skąd: Poznań
|
Wysłany: 12-01-2009, 11:10 RE: aim - jak dobrze strzelić
|
|
|
Cytat: | if((this.energyCell.category=PowerCell)=true)
{
} |
Zapomniałeś ze znak równości, w języku C się pisze tak == a nie tak =
a Ty zrobiłeś to tak jak byś chciał przypisać do tej wartości
poprawiony skrypt wygląda następująco
Cytat: | if((this.energyCell.category==PowerCell)==true)
{
} |
A tak w ogóle to po co na końcu "true", można zostawic puste miejsce i będzie działało zupełnie tak samo
///OMG Błędy! - DeiDara |
_________________ Compiling [Gość.exe]...
Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604 |
Ostatnio zmieniony przez DeiDara 26-02-2009, 09:19, w całości zmieniany 3 razy |
|
|
|
|
Porost
Twoja ulubiona misja: Cała Nowa Ziemia.
Wiek: 22 Dołączył: 09 Sty 2009 Posty: 12
|
Wysłany: 12-01-2009, 13:40 RE: aim - jak dobrze strzelić
|
|
|
Dzięki, wiedziałem że to musi być jakaś drobnostka :p |
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|