Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++][SFML] Kółko i krzyżyk


Rekomendowane odpowiedzi

Opublikowano

Witam! Ostatnio zacząłem przygodę z SFML, oraz napisałem swoją 1 grę z grafiką :)

Download: http://speedy.sh/8d9...lkoIKrzyzyk.rar

Skan: http://www.virustota...8dbb-1321978052

Jak są jakieś błędy, to piszcie, proszę też, o opinię na temat tej biblioteki... Czy się opłaca? Czy może coś innego?

Hmm... Trzy wykryło na virustotal... Może dlatego, że zapakowane :) Zaraz sprawdzę

//Nadal wykrywa 3, ale mogę zapewnić, że to nie wirus :)

Opublikowano

Nie można uruchomić programu, ponieważ na komputerze nie znaleziono libgcc_s_dw2-1.dll. Spróbuj ponownie zainstalowań program, aby naprawić ten problem.

Opublikowano
Opublikowano

U mnie normalnie działa... Zaraz skopiuje na inny dysk... Też mam win 7 x64

//Nie wiem co jest, u mnie działa normalnie... Szukam właśnie na google

//A na pasku zadań? Masz coś?

Opublikowano

Może trzeba mieć SFML zainstalowane? Ale wtedy by nikt z tego nie korzystał...

//http://www.sfml-dev....hlight=catalyst

Jak trzeba jakieś catalysty instalować... To już tego nie używam -.- Ja nic nie musiałem instalować...

//Dobra, ma ktoś pomysł na jakąś inną prostą gierkę, tylko nie snake? Już napisałem, w konsoli, ale to tylko dołożenie grafiki...

Weteran
Opublikowano

Oh, mi też nie działa.(win xp 32)

Nie trzeba mieć zainstalowanego sfml`a, wystarczy wrzucić dll`ki biblioteki do folderu, co już zrobiłeś.

Opublikowano

Mi wszystko działa... Wie ktoś może, dlaczego tak jest? Może trzeba jako administrator czy coś? Bo może wtedy zdjęć nie ładować...

//Chyba wiem co to może być :) Zaraz popatrzę w linkerze...

A oto kod:

http://wklej.to/LUIQ6

//Za dużo problemów... Przerzucam się na SDL

//Zrobiłem w SDL, ale gorsze według mnie... Przynajmniej teraz obiektowo, kod czytelniejszy, a operacje na plikach częściej używane... Np. przyciąć obrazek, żeby nie ładować 2 kolejnych... Macie pomysły na jakąś inną prostą grę? I jeszcze pytanko, jak działa GUI + gra? Tak jak zrobiłem w SFML? Czy jakoś inaczej? Czy może to wszystko w jednej pętli? I jeszcze, może ktoś powiedzieć coś o AI? Np. w kółku i krzyżyku, nie będę zapamiętywał każdej kombinacji, i w zależności od tego jak jest wypełnione do tej pory stawiał, bo sama ta funkcja to 500+ linijek... Słyszałem o algorytmie minimax, ale mi coś to nie podchodzi, a wolałbym napisać coś samemu... Np. Pacman byłby dla mnie problemem :/

Opublikowano

Dobra, refresh, a co do GUI + gra, znalazłem metodę, że wszystko w 1 pętli, ale dopóki nie wybierzesz którejś opcji, program nie pójdzie dalej... Taki while w while... I jeszcze jakby ktoś mógł opisać trochę sprawy AI... Na przykładzie kółka i krzyżyka... Oraz jeszcze jedno pytanie, mianowicie: opłaca się ściągać dodatek do SDL, żeby móc dodawać napisy? W projekcie KiK, musiałem obrazki robić i przycinać, żeby było ich jak najmniej...

//Ostatnie(chyba) w czym robić gui? Chodzi o to, żeby była grafika z SDL, ale do tego jakieś przyciski i inne rzeczy...

Opublikowano

Pisz przy użyciu bibliteki allegro. Ma więcej możliwości (między innymi tekst, figury itp) i jak dla mnie jest prostsza w użyciu.

 

 

PS. Musisz poszukać specjalnej wersji pod mingw.

Opublikowano

Spróbuję... Kiedyś pisałem snake na allegro, ale pod Devem... Pod CodeBlocks może być trudniej :| Ale co z tym gui? I resztą pytań? A po za tym, chyba napiszę grę "PucMan", masz 4 "rewiry" na planszy, każdego pilnuje 1 duch, musisz wybrać wszystkie punkty z każdego rewiru ;) Tylko mógłby mnie ktoś naprowadzić z odnajdywaniem najkrótszej drogi? Najpierw zrobię całość w konsoli, później grafika...

Opublikowano

Nie chcę wxWidgets, już piszę w allegro... Tam tylko jest problem z DIALOG, problemy z konwersją (void*) blabla, ale jest coś na google, to dam radę :) Na razie piszę tę grę w konsoli, właśnie szukam wyjścia co do poruszania się duszków, oraz, pytanko:

Jak mam klasę gra, i klasę gracz, to np. jeśli w klasie gra jest element ruchy, i chcę ją użyć w klasie gracz, to muszę do funkcji dać w parametrach int ruchy?

np.

class game {
public:
int ruchy;
};
class player {
void idz(int ruchy);
};
void player::idz(int ruchy) {
ruchy+=1;
}

Wiem, że głupie pytanie...

//Ha! Mam pomysł! Przecież te rewiry, to nie jakieś labirynty, tylko prostokąty, ze ścianami dla utrudnienia duchowi, taki duch by szedł po linii X jak najbliżej gracza, jak się już nie da, to Y... Jakby w późniejszych fazach gry powstał problem (bardziej zaawansowane plansze) to jak nie może już pójść w Y, to szukałby drogi po linii X, aż będzie mógł pójść Y...

Opublikowano

1. Jeśli chcesz "użyć" pola klasy, musi ono być zadeklarowane jako statyczne.

2. Jeśli chodzi ci o nazewnictwo zmiennych - nie ma ono żadnego znaczenia, gdyż zasięg widoczności klasy player nie obejmuje klasy game.

3. Jeśli w funkcji void player::idz chcesz zmodyfikować jakąś zewnętrzną, musisz przekazać ją przez referencję (ew. przyjmować wskaźnik do niej). Jeśli ma być to publiczne pole objektu klasy game, to:

(new player)->idz( (new game)->ruchy ); 

Ta sygnatura jest pusta.

Opublikowano

Pytanko... Allegro jest zachęcające pod wieloma względami, ale mnie odpycha... W sdl ustalasz tylko limit FPS i z głowy, tu jakieś timery... Chcę wyświetlić napis, gdzie po najechaniu zmienia kolor, także czyści->rysuje itd... I mi miga ten tekst cały czas...

//Sprawdzałem, pierwsza wersja (SFML) działa na innych komputerach... Nie wiem co macie...

Opublikowano

http://cpp0x.pl/kurs...-Allegro-C++/21

Tam masz wszystko ładnie opisane. Masz proste przykłady, jest też lekcja o timerach więc powinieneś to ogarnąć.

 

 

@down, przy okazji popatrzyłem trochę na SMFL na cpp0x i chyba jednak jest lepsze od allegro. Powinno być szybsze i jest nastawione na obiektowość. Sorki za błędną propozycje.

 

co do testowego gui to niestety nadal ten sam błąd.

Opublikowano

Myślisz, że tego nie czytałem? Ale dla mnie allegro jest zbyt męczące... Wracam do SMFL... Choć biblioteki trochę zajmują, to może coś z tego będzie... Zaraz wrzucę taki test "mini-gui", ciekawe czy wam pójdzie... U mnie i na 2 innych kompach chodziło...

Download: http://speedy.sh/TWE6C/Testgui.rar

Skan: http://www.virustotal.com/file-scan/report.html?id=a43a1ad1f06ec3242172b52278a6357bf0fdbb862382e3ce90d4ca209a994ba2-1322249017

Opublikowano

Dobra, namęczyłem się, oraz mam już najkrótszą drogę zapisaną tak: 1,2,3,4,5,6,7,8,9,a,b,c,d itd... Jak teraz zrobić, aby co chwilę szedł po tej ścieżce? W każdym ruchu by obliczał tą drogę (zrobione), ale teraz jeszcze tylko poruszanie

Opublikowano

przesuwaj go powoli do następnego skrzyżowania, jednego z punktów oznaczających długości odcinków drogi. Znasz je w odpowiedniej kolejności (tak aby najszybciej dojść do celu) więc nie powinno być problemu

 

 

@edit, teraz działa bez problemu.

Opublikowano

Usunąłem to i będę musiał od nowa pisać (znajdywanie drogi) wszystko było pogmatwane...

Krótko:

dane:

-------------------------------

Pozycja gracza, Pozycja potwora;

int plansza[10][10];

-------------------------------

W każdym obiegu głównej pętli gry, jest ruch potwora. W tej funkcji, ma wyszukać najkrótszą drogę do gracza, oraz zrobić 1 ruch.

Myślałem nad rozwiązaniem, że idzie w miejsce, gdzie na mapce pomocniczej jest 1 (najmniejsza wartość licznika), to mogłoby się sprawdzić, ale potrzebuję napisać funkcję, która uzupełni tą mapkę pomocniczą... To będzie raczej trudne :/

 

Rozwiązane! Wcale nie potrzebowałem tego algorytmu... Potwór porusza się w następujący sposób: idź do X->koniec, nie da się? idź do Y->koniec.

Niby głupie, ale tak głupie, że trzeba myśleć, żeby cię potwór nie złapał ;) Będą potrzebne specjalne plansze, oraz ulepszenie GUI, przegrana i wygrana będzie się wyświetlać jak dialog nad planszą, grafika lepsza itd... Oraz pytanko, jak zrobić takie przejście, jest czarny ekran, powoli się ładuje np. moje logo, oraz za chwilę znika w ten sam sposób?

 

Download: http://speedy.sh/rYqSQ/Testgui.rar

Skan: http://www.virustota...3e91-1322313379

Jeszcze dużo do zrobienia... Jeśli chcę taką grę, to napiszę to obiektowo, to miał być test GUI, więc wszystko na brudno szło :P

 

Pytanko o mechanikę Tetrisa, czy klocki są losowe? Może to głupie pytanie, ale istnieje prawdopodobieństwo, że klocki losują się z takich, że można je jakoś ułożyć... Zastanawiam się, czy Tetrisa nie zrobię :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...