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
Forum - Polski Portal COLOBOTa
Strona głównaStrona główna UżytkownicyUżytkownicy GrupyGrupy StatystykiStatystyki


Poprzedni temat «» Następny temat
Boto-zabijacz(swobodna gra)
Autor Wiadomość
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 20-02-2009, 22:52   Boto-zabijacz(swobodna gra)

Bot, który zabija inne pająkiem. Uwaga, flagę stawiać z dala od innych botów i od niego samego!
Polecany do swobodnej gry, gdy znudzi nam się jakiś robot :lol:
Kod:
Kod:
//Program służy do niszczenia botów.
//Wymagane jest postawienie żółtej flagi w pobliżu bota(ale nie za blisko!)
//Trzeba też wrzucić ten program do folderu "script"
extern void object::Zabij()
{
if(this.category==AlienSpider)fire();
    object flag,bot;
    int to[],t;
    flag=radar(YellowFlag);
   
    t=0;
   
    to[t++]=WheeledGrabber;
    to[t++]=TrackedGrabber;
    to[t++]=WingedGrabber;
    to[t++]=LeggedGrabber;
   
    to[t++]=WheeledShooter;
    to[t++]=TrackedShooter;
    to[t++]=WingedShooter;
    to[t++]=LeggedShooter;
   
    to[t++]=WheeledOrgaShooter;
    to[t++]=TrackedOrgaShooter;
    to[t++]=WingedOrgaShooter;
    to[t++]=LeggedOrgaShooter;
   
    to[t++]=WheeledSniffer;
    to[t++]=TrackedSniffer;
    to[t++]=WingedSniffer;
    to[t++]=LeggedSniffer;
   
    to[t++]=Subber;
    to[t++]=Shielder;
    to[t++]=PhazerShooter;
    to[t++]=Thumper;
    to[t++]=Recycler;
   
    while(true)
    {
        turn(direction(flag.position));
        if(czyjest(flag)==true)
        {
            wait(1);
            if(czyjest(flag)==true)
            {
                message("Za 5 sekund zginiesz, albo zejdziesz z flagi.",DisplayWarning);
                if(czyjest(flag)==true)wait(2);
                if(czyjest(flag)==true)message("Zastanów się",DisplayWarning);
                if(czyjest(flag)==true)wait(3);
                if(czyjest(flag)==true)message("Zaczynam odliczanie.",DisplayWarning);
                if(czyjest(flag)==true)wait(2);
                if(czyjest(flag)==true)if(odlicz(flag)==true)
                {
                    bot=radar(to,0,1,distance(position,flag.position)-0.1,distance(position,flag.position)+0.1);
                    if(bot.energyCell!=null)
                    {
                        if(bot.energyCell.category==NuclearCell)zmienmu(flag);
                    }
                    produce(flag.position,0,AlienSpider,"Killbot.txt");
                    while(czyjest(flag)!=false)wait(1);
                }
            }
        }
    }
}
bool object::odlicz(object f)
{
    if(czyjest(f)==true)odlicz(5);
    else return false;
    if(czyjest(f)==true)odlicz(4);
    else return false;
    if(czyjest(f)==true)odlicz(3);
    else return false;
    if(czyjest(f)==true)odlicz(2);
    else return false;
    if(czyjest(f)==true)odlicz(1);
    else return false;
    if(czyjest(f)==true)odlicz(0);
    else return false;
    return true;
}
void object::odlicz(int ile)
{
    message(""+ile,DisplayWarning);
    if(ile>0)wait(1);
}
bool object::czyjest(object f)
{
    int to[],t;
    float od,od2;
    object b;
    t=0;
    to[t++]=WheeledGrabber;
    to[t++]=TrackedGrabber;
    to[t++]=WingedGrabber;
    to[t++]=LeggedGrabber;
   
    to[t++]=WheeledShooter;
    to[t++]=TrackedShooter;
    to[t++]=WingedShooter;
    to[t++]=LeggedShooter;
   
    to[t++]=WheeledOrgaShooter;
    to[t++]=TrackedOrgaShooter;
    to[t++]=WingedOrgaShooter;
    to[t++]=LeggedOrgaShooter;
   
    to[t++]=WheeledSniffer;
    to[t++]=TrackedSniffer;
    to[t++]=WingedSniffer;
    to[t++]=LeggedSniffer;
   
    to[t++]=Subber;
    to[t++]=Shielder;
    to[t++]=PhazerShooter;
    to[t++]=Thumper;
    to[t++]=Recycler;
    b=radar(to,0,5,distance2d(position,f.position)-0.5,distance2d(position,f.position)+0.5);
    if(b!=null)return true;
    else return false;
}
void object::zmienmu(object f)
{
    point start;
    start=position;
    int to[],t;
   
    t=0;
   
    to[t++]=WheeledGrabber;
    to[t++]=TrackedGrabber;
    to[t++]=WingedGrabber;
    to[t++]=LeggedGrabber;
   
    to[t++]=WheeledShooter;
    to[t++]=TrackedShooter;
    to[t++]=WingedShooter;
    to[t++]=LeggedShooter;
   
    to[t++]=WheeledOrgaShooter;
    to[t++]=TrackedOrgaShooter;
    to[t++]=WingedOrgaShooter;
    to[t++]=LeggedOrgaShooter;
   
    to[t++]=WheeledSniffer;
    to[t++]=TrackedSniffer;
    to[t++]=WingedSniffer;
    to[t++]=LeggedSniffer;
   
    to[t++]=Subber;
    to[t++]=Shielder;
    to[t++]=PhazerShooter;
    to[t++]=Thumper;
    to[t++]=Recycler;
   
    object bt=radar(to,0,1,distance2d(position,f.position)-0.5,distance2d(position,f.position)+0.5);
    wait(1);
    message("Hej, masz Atomowe Ogniwo, może się przydać!");
    goto(bt.position);
    grab();
    goto(start);
    turn(direction(f.position));
    turn(180);
    drop();
    turn(direction(f.position));
}


Edit:
Wprowadziłem drobną poprawkę, teraz powinno działać

PS.: Dzięki za wiadomość
Ostatnio zmieniony przez colobotwymiiata 23-02-2009, 12:50, w całości zmieniany 1 raz  
 
 
     
Abadon 
Administrator forum
Administrator


Pomógł: 3 razy
Dołączył: 11 Sie 2008
Posty: 586
Wysłany: 21-02-2009, 09:43   

Ciekawe jaki nadać przydomek robotowi... może Predator :-D .
P.S Dobry program.
_________________

 
     
DeiDara 
Derosa out.


Twoja ulubiona misja: Wszystkie z Wulkani
Pomógł: 2 razy
Wiek: 21
Dołączył: 23 Lip 2008
Posty: 205
Skąd: Włocławek
Wysłany: 22-02-2009, 13:36   

nie lepiej nazwać go robot :-D
_________________
An open mind is like a fortress with its gates unbarred and unguarded.
 
 
     
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: 23-02-2009, 10:34   

lol, niezle :) ale wywali blad jak podjedzie on po atomowe ogniwo.... lepiej mu dac errmode(0); na poczatku :)
_________________
Jestem zwolennikiem wolnego oprogramowania!
 
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Polski Portal COLOBOTa © 2008 - 2012