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

Problemy [programowanie] - Przekazywanie kategorii w zmiennej

bonzaii - 21-07-2009, 22:37
Temat postu: Przekazywanie kategorii w zmiennej
W jaki sposób mogę przekazać kategorię do innej funkcji?

Załóżmy dla uproszczenia, że chce stworzyć funkcje "Szukaj". Ma ona szukać obiektu o podanej kategorii, np "PowerCell","Titanium".

próbowałem na wszystkie sposoby zrobić:
Kod:
Szukaj(string what)
{
     object item = radar(what);
}

i wymieniłem kolejno: object, void (próbowałem bez i też nie pomogło).

Proszę o pomoc:(

DemoLisH - 22-07-2009, 01:25

jak juz to tak:
Kod:
object Szukaj(int what)
{
     return radar(what);
}


a jak chcesz zobaczyc jaka jest kategoria obiektu to tak:
Kod:

object a=radar(costam);
int kategoria = a.category


kategoria obiektu wyrażana jest w liczbie!! a nie string czyli w tekscie

pipok - 22-07-2009, 09:15

DemoLisH napisał/a:
kategoria obiektu wyrażana jest w liczbie!! a nie string czyli w tekscie
Dokładnościowo. Kategorie AlienAnt, TitaniumOre itp. to są predefiniowane stałe symboliczne, liczby typu int. Nie używa się ich przecież w cudzysłowach, jak łańcuchów! W języku programowania botów Derrick to jest dokładnie to samo co liczba 4, a AlienAnt - to samo co 502.
bonzaii - 22-07-2009, 10:10

Aha genialne ;D A jeszcze jedno pytanie. Jak stworzyć tablice kategorii z ich moimi odpowiednikami liczbowymi?
gdy robię tak:
Kod:

float moje[PowerCell] = 1;
float moje[Titanium] = 2;

Nie chce w ten sposób działać :(
Zaznacza mi linijke do znaku "równości" i pisze, że brak średnika na końcu wiersza :/

adiblol - 22-07-2009, 13:27

Kod:

float moje[];
moje[PowerCell] = 1;
moje[Titanium] = 2;

bonzaii - 22-07-2009, 14:19

A jak zrobić tablicę stringów? (Nie gaci :D )
Próbowałem tak:
Kod:
string name[];
name[PowerCell] = "Test";


I nie działa :( Pisze, że nie ma średnika w linii deklaracji :(

adiblol - 22-07-2009, 14:47

What kind of fuckin' crap???

Nie mam pojęcia dlaczego nie działa.

Może spróbuj "string[] name"... ale właściwie to to samo...

pipok - 22-07-2009, 14:50

Kod:
string[] napis;

nr = 0;
obcy[nr] = AlienQueen;  napis[nr++]="krolowych obcych";
obcy[nr] = AlienAnt;    napis[nr++]="mrowek";
obcy[nr] = AlienWasp;   napis[nr++]="os";
obcy[nr] = AlienSpider; napis[nr++]="pajakow";
obcy[nr] = AlienWorm;   napis[nr++]="robakow";
obcy[nr] = AlienEgg;    napis[nr++]="jaj";


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