Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 
Polski Portal COLOBOTa
COLOBOT Polish Portal

Programy pomiarowe - Prędkościomierz

bbiidduull - 21-02-2009, 09:12
Temat postu: Prędkościomierz
Podaje Predkość w km/h. Potrzeba stacji przekaźnikowej i i oczywiscie robota. Na prośbę kogoś tam :D

Kod:
extern void object::Pretkosciomierz()
{
    int i;
    point start;
    float dis,wynCz,wynOg;
    object flaga;
    start=position;
    i=0;
    flaga=radar(RedFlag);
    turn(direction(flaga.position));
    dis=distance(position,flaga.position);
    for ( i = 3 ; i >= 1 ; i-- )
    {
        message(i);
        wait(1);
       
    }
    send("Czas.P",this.lifeTime,1000000); 
    message("Start !!!");
    move(dis);
    send("Czas.K",this.lifeTime,1000000); 
    wynCz=receive("Czas.K",1000000)-receive("Czas.P",1000000);
    wynOg=dis/wynCz;
    message("Wynik: "+wynOg+" km/h");
    message("Wracam na pozycje stratową");
    goto(start);

   
}

Abadon - 21-02-2009, 09:24

No brawo!!! Przyda się program. Ciekawe króry robot jest najszybszy :-D ??? No chyba za te twoje programy musisz dostać nagrode :lol: (status moderatora, ale musisz uzgodnić z administratorem i adiblolem [ja się zgadzam]).
bbiidduull - 21-02-2009, 10:12

:D Jak coś trzeba to moge zrobić... ale jeszcze nie umiem wszystkiego ale da sie coś wymyśleć z tego co wiem :P
colobotwymiiata - 21-02-2009, 10:34

dzięki, ja prosiłem.

PS.:A jak to przerobić , żeby mierzyło w metrach/s ?

Konrad - 21-02-2009, 11:11

Trzeba podzielić tą prędkość w km/h przez 3,6
Abadon - 21-02-2009, 11:14

Zawsze colobotwymiiata możesz obliczyć ręcznie ;-) obliczając na kartce (bardzo łatwe). A co do programu to żeby liczyło w m/s to trzeba się chyba zastanowić nad tą linijką (ale dokładnie niewiem):

Cytat:
message("Wynik: "+wynOg+" km/h");

Konrad - 21-02-2009, 11:17

Trzeba to:
Kod:
wynOg=dis/wynCz

zamienić na
Kod:
wynOg=dis/wynCz/3,6

no i oczywiście to:
Kod:
message("Wynik: "+wynOg+" km/h")

zamienić na:
Kod:
message("Wynik: "+wynOg+" m/s")

bbiidduull - 21-02-2009, 12:29

A no i trzeba jeszcze flage czerwoną :)
Konrad - 21-02-2009, 12:58

W wielu programach jakie tu widzę używacie stacji przekaźnikowej. Ja osobiście nie spotkałem się z potrzebą jej wykorzystania przy pisaniu swoich programów, ale to pewnie dlatego że marny ze mnie programista (wstyd się przyznać bo studiuję informatykę :-P ). Anyway, jakbym chciał te programy odpalić w swobodnej grze, to skąd wziąć stację przekaźnikową? Gdzie chyba ktoś pisał że się da to jakoś zrobić.
bbiidduull - 21-02-2009, 13:20

Cytat:
Najprawdopodobniej nie możesz budować centrum badawczego, laboratorium i stacji przekaźnikowej. Tych dwóch pierwszych nie potrzebujesz, a stację przekaźnikową możesz sobie dorobić dopisując do pliku wolnej gry linię:

EnableBuild type=ExchangePost

gdzieś blisko innych EnableBuild.

A reszta TU

Konrad - 21-02-2009, 13:47

Dobra, tylko jeszcze powiedz mi gdzie ten plik się znajduje i jak się nazywa :D
bbiidduull - 21-02-2009, 14:43

nazywa się free coś tam a znajduje się w folderze scene

///Brak polskiego znaku - DeiDara

Konrad - 27-02-2009, 14:34

bbiidduull napisał/a:
gdzieś blisko innych EnableBuild.


W żadnym pliku free nie ma czegoś takiego jak EnableBuild. Chyba że naprawdę jestem ślepy.

DeiDara - 27-02-2009, 14:41

to drugie bardziej możliwe (Joke)
Konrad - 27-02-2009, 15:25

A napewno to w plikach free jest?
bbiidduull - 27-02-2009, 16:57

Tak
Konrad - 27-02-2009, 17:58

To ja nie wiem. U mnie nic takiego w tych plikach nie ma. Może to od wersji gry zależy?
bbiidduull - 27-02-2009, 18:25

To dopisz gdzieś
Konrad - 27-02-2009, 20:28

Wpisałem do dwóch pierwszych plików free - free101.txt i free100.txt, bo jest ich kilkanaście i odpaliłem swobodną grę na ziemi, ale nie możliwości budowy stacji.
bbiidduull - 27-02-2009, 21:06

Do free100 nie trzeba tylko to tych free101-102 itp. ew. free201-202

[ Dodano: 27-02-2009, 21:33 ]
Słuchaj. Wejdz do scene i otwórz scene102.txt Przewiń na koniec i powinno być te EnableBuild. Dopisz do nich to EnableBuild type=ExchangePost. Zapisz to i wejdz w tą misje czyli Ziemia- Budowanie. w wpisz winmission i juz bedziesz miał wszędzie

Konrad - 27-02-2009, 21:37

No, teraz jest :-D A bez tego winmission by nie zadziałało? Czemu to było potrzebne?
bbiidduull - 27-02-2009, 21:41

Nie wiem ale bez tego nie chciało działać. Jak chcesz mieć wszystko to zrób tak samo jak wcześniej tylko wpisz:

Kod:
EnableBuild type=Derrick
EnableBuild type=BotFactory
EnableBuild type=PowerStation
EnableBuild type=Converter
EnableBuild type=RepairCenter
EnableBuild type=DefenseTower
EnableBuild type=ResearchCenter
EnableBuild type=RadarStation
EnableBuild type=ExchangePost
EnableBuild type=PowerPlant
EnableBuild type=AutoLab
EnableBuild type=NuclearPlant
EnableBuild type=PowerCaptor
EnableBuild type=FlatGround
EnableBuild type=Flag

EnableResearch type=TRACKER
EnableResearch type=THUMPER
EnableResearch type=SHOOTER
EnableResearch type=TOWER
EnableResearch type=PHAZER
EnableResearch type=SHIELDER
EnableResearch type=ATOMIC
EnableResearch type=SNIFFER
EnableResearch type=SUBBER
EnableResearch type=RECYCLER
EnableResearch type=iPAW
EnableResearch type=iGUN
EnableResearch type=WINGER

DoneResearch type=TRACKER
DoneResearch type=THUMPER
DoneResearch type=SHOOTER
DoneResearch type=TOWER
DoneResearch type=PHAZER
DoneResearch type=SHIELDER
DoneResearch type=ATOMIC
DoneResearch type=SNIFFER
DoneResearch type=SUBBER
DoneResearch type=RECYCLER
DoneResearch type=iPAW
DoneResearch type=iGun
DoneResearch type=WINGER

Konrad - 27-02-2009, 22:37

Szkoda że skrytki nie można wybudować :-D
Abadon - 28-02-2009, 10:01

Wiesz a nawet by się udało. Tylko wpisz taką linijkę, ale nie wiem czy coś poskutkuje
Jak dobrze pamiętam to będzie coś takiego ( z przykładowym położeniem podałem).
CreateObject pos=-48;36 dir=0 type=Vault

adiblol - 28-02-2009, 10:38

No tak ale jemu chodziło o budowanie skrytki normalnie działem neutronowym przez astronautę.
Konrad - 28-02-2009, 10:56

No właśnie chodziło mi o budowę działem :) Ale wpisałem tą linijkę do tego pliku scene102.txt ale nic to nie dało. Więc wpisałem do pliku swobodnej gry free101.txt i skrytka jest, ale gdy wzniosę się kosmonautą nad skrytkę to gra powraca do menu :shock:
DeiDara - 28-02-2009, 11:08

Dziwne
Firekamilox - 31-03-2009, 17:12
Temat postu: Rozwiazanie problemu.
Tu jest wszystko napisane. I moze ktos mi pomoze przy okazji.

Powered by phpBB modified by Przemo & WRIM © 2003 phpBB Group