W sumie to nie jest problem a raczej pytanie, czy w c++ możliwe jest zdefiniowanie zbioru zawierającego jakieś liczby np Zbiór {1, 2, 3, 4, 6, 7, 9, 11 ... takiego którego nie można było określić go wzorem) i sprawdzać czy x ( np = 4 ) należy do tego zbioru innym sposobem jak case czy if?
Crax napisał(a):
czy w c++ możliwe jest zdefiniowanie zbioru zawierającego jakieś liczby np Zbiór {1, 2, 3, 4, 6, 7, 9, 11 ... takiego którego nie można było określić go wzorem
Jak mamy to rozumieć? Chodzi po prostu o jakąś kolekcję liczb, wczytanych z stdin?
Jeśli o coś takiego chodzi to istnienie konkretnej wartości w tym zbiorze możesz sprawdzić tak std::find(std::begin(v), std::end(v), value);
- SFML nie ma tutaj absolutnie nic do rzeczy.
- To jest bełkot.
Chodzi dokładnie oto że w SFML ma system kolizji działa ona na zasadzie sprawdzania czy postać znajduje się na konkretnym bloku
map int [2][2] // mapa kafelkowa
{
{1, 2},
{3, 4}
}
{...}//wczytywanie textures, rysowanie mapy itd...
int x = player.getPosition().x;
int y = player.getPosition().y;
int fields = map[x/32][y/32];
if(== 1) // kafle 32 x 32
{
// szczegóły odnośnie akcji... mój problem polega tym że mam 33 rodzaje różnych pul dla których akcja jest ta sama, teraz działa to na zasadzie if(fields == 1 || fields== 2 || fields== 3... ) chodzi mi o uproszczenie tego kody wpadłem na pomysł aby definiować gdzieś zbiór liczb np { 1, 2, 3...} i potem sprawdzać czy fields ( czyli konkretna liczba z tablicy ) należy do tego zbioru.
}
Przepraszam za wszystkie błędy ale wracam autobusem do domu :v
dodanie znacznika <code class="cpp">
- @furious programming
Yyy? Skoro masz wiele obiektów, które wołają ten san callback to może niech one implementują samorejestrujący byt, który zarejestruje je na poprawny sygnał w konstruktorze i wyrejestruje w destruktorze.
To nie jest pisane obiektowo :/
To już zauważyłem ale co to ma do rzeczy? W każdym razie razie std::find
wystarczy na to co chcesz osiągnąć.