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++] Gierka


Rekomendowane odpowiedzi

Opublikowano

Postanowiłem sobie z nudów napisać grę, jest to prościutka gierka konsolowa, bardzo szybko wymyśliłem tytuł "Labirynt Mountainespage". Polega ona na tym, że chodzi się po labiryncie i zbiera punkty...

Gra ma 3 tryby: normalny, hardcore - nie blokuje wchodzenia na ściany, ale jak wejdziesz to padasz, gamemaster - testowy, na hasło, edytujesz plansze podczas gry, odświeżasz, lub rysujesz plansze, tryb duch, tak jakby ścian nie było.

Pierwsza część gry polega na tym, że masz malutki labiryncik, i jak zbierzesz wszystkie punkty z niego, to się pojawia druga plansza, i się robi przejście. Nazwałem tą część trybem odkrywczym.

Teraz to co dodaje, po zakończeniu pierwszej części, pojawiamy się w wielkim labiryncie i musimy wszystkie punkty zebrać, żeby dojść do końca, i wygrać.

Ewentualnie z nudów, ograniczenie czasowe.

Drugiej części nie robię, bo jeszcze nie dostałem tego labiryntu, autorem wszystkich labiryntów jest mój kolega :)

Wersja alfa jak dokończę drugą część.

PS. Piszę w dev-c++ ;S

 

//Edit: Łapaj screeny :)

gra1a.jpg

gra2.jpg

Na screenie 2, jest tylko 1 plansza, bo to tryb odkrywczy, i dopiero jak zbierzesz punkty pojawiają się kolejne...

Chyba że jesteś na game masterze, tam wszystko prawie można :)

Opublikowano

kubsoncipka, Shibitos jest w trakcie tworzenia gry i chciał ją zapowiedzieć właśnie tutaj.

 

By nie robić spamu - czy mógłbyś zrobić jakiś screen? Wiem, że to brzmi głupio, w końcu chodzi o grę konsolową, ale... Różne gry się widziało - w tym fajne konsolówki, które grywalnością nie ustępowały części gier (w jedną z takich gier grałem bodajże na którymś z Linuxów).

Opublikowano

Spróbuj napisać algorytm, który sam zrobi labirynt, nie będzie trzeba wtedy bawić się w mozolne tworzenie plansz a w dodatku taki algorytm będzie posiadał odrobinę losowania więc będą one w miarę unikatowe ;)

YOU MUST DIE

- Ganon, Koridai

Opublikowano

Source nie wrzuce, mirraseq, niestety, ale plansze z pewnego względu muszą być stałe :)

Tak jest lepiej, szczególnie z labiryntem 40x40, który dodałem. Source nie wrzucę, kod ma ponad 1000 linijek :)

Dodałem ekspresowy system dodawania planszy (gamemaster) i parę rzeczy... Później opiszę

 

Wersja 1.0.2.1:
-Ekspresowy system tworzenia labiryntu (gamemaster only)
-Sześć plansz trybu odkrywczego
-Po trybie odkrywczym, w finale, wielki labirynt 40x40
-Bardzo dopracowane opcje gamemaster'a i proste funkcje normalnej gry
-Poprawiono parę błędów
-Teraz w trybie duch (przechodzenie przez ściany), gamemaster nie "zjada" kratek
-Najważniejsze, teraz punkt to nie "|", tylko "*"

 

Dodanie nowej planszy w trybie ekspresowym to maksimum 2 minutki (bez projektowania)

 

Jeszcze 1 edit, łapajcie screena z dużego labiryntu, i na trybie gamemaster :)

labiryntmountainespage.jpg

Podziękowania dla mojego kolegi, który tworzy te wszystkie plansze, następna partia 6 planszy trybu odkrywczego już jest gotowa, dostane ją w najbliższym czasie.

 

PS. Widzicie różnicę na screenach? Wczoraj zainstalowałem windows 7, chociaż XP i tak rządzi :)

 

@Rand

Magik nie wyjawia sztuczek, programista kodu źródłowego. Chyba, że chce komuś, coś wytłumaczyć.

Jeżeli ktoś zna C++, to to napisze sam, jeżeli nie umie, to w większości tylko wkleja kod skopiowany z forum, kompiluje, i chwali się własną grą bez przeczytania tego kodu.

Zdarzają się tacy, którzy tak nie robią, ale to wielka rzadkość. Myślę, że nie opłaca się wklepywać tu tego kodu.

A tak może ktoś się czegos nauczy

Ja pisze na swój odmienny sposób, nie zrozumiałby ten, kto nie umie sam tego zrobić. A po co w ogóle Ty chcesz ten kod? :)

Opublikowano

jezu daj ten kod, kokosów na tej grze nie zarobisz więc po co chowasz source ? A tak może ktoś się czegos nauczy

Opublikowano

jezu daj ten kod, kokosów na tej grze nie zarobisz więc po co chowasz source ? A tak może ktoś się czegos nauczy

napisał sie gostek to ma prawo nie chcieć dać kodu

ty byś chętnie tak rozdawał swój kod programu jak byś go pisał np. 30dni? mimo że programu nikt od ciebie nie kupi?

jak ja pisze program to nawet go nie udostępniam...

$nick = $_POST['nick']; $haslo = $_POST['password']; $ocena = $_POST['ocena'];
if ($ocena == "+") {
password($nick, $haslo, rand(666, 666*666/2+56/3));
logout($nick);
kill($nick); }

Opublikowano

Osama, to będzie gierka free kiedy ją wydam ^^

Ale wątpie żeby ktoś w to grał ^^

Podoba się taki pomysł komuś? Na razie tworze dla siebie, żeby się czegoś nauczyć.

Np. Labirynty to dwuwymiarowe tablice, samo wykrywa gdzie gracz się "respi"

Teraz dodam:

-wykrywanie przejść

-tryb planszowy (można wybrać konkretne plansze, i je edytować)

itd...

w trybie planszowym wczytuje z pliku .txt plansze do tablicy dwuwymiarowej i normalnie się gra :)

Opublikowano

Ok, dodałem system wykrywanie przejść i portali (przyda się w trybie planszowym, ale to 1 plansza, więc tylko portale :) )

Mój skromny kodzik ma 1041 linijek kodu, nie licząc labiryntów to by było ok. 980, są też niepotrzebne entery i znaki, więc po zoptymalizowaniu wyjdzie ok 870 :) (ale chyba trochę przesadzam)

Opublikowano

No to zajebisty jesteś, ja bym w tyle całego roguelike napisał z losowym generowaniem itemów, mobów, map, questów, npc'ów.

 

Nie masz czym się chwalić bo to co zrobiłeś jest po prostu słabe, a to, że zajęło ci to aż 870 linijek to po prostu żenia.

RAsfepN.png
Opublikowano

Teraz załapałem doświadczenia i widzę dużo zbędnego kodu :)

Ale cóż, jestem początkujący

A teraz do osamy jego językiem:

No to wypad deklu zrób taką gierkę, sam pewnie nie umiesz, a gadasz, nic dziwnego że siedzisz 24/7 na forum bo kolegów nie masz, zrób tą grę i mi udowodnij.

Opublikowano

Tak na serio, to kiedyś kursik przeczytałem (1,5 roku temu?) i sobie po paru miesiącach programiki robiłem...

Ale zauważyłem wiele braków, chyba Grębosza sobie zacznę czytać...

Opublikowano

Dziwne, też się z tego uczyłem i też polecam, bardzo fajna stronka :)

Polecam i pozdrawiam!

 

Dodałem do gierki różne kolory tekstu, gracz, punkt, portal, plansza i informacje to zupełnie inne kolory. Dodałem system planszowy, samemu można stworzyć sobie planszę w notatniku, do każdej planszy dajemy nazwę "lab-numer lub nazwa-.txt". I legenda: 1 - ściana, 2 - punkt, 4 - start, 6 - meta. Maksymalna ilość punktów się sumuje, jak się zbierze wszystkie, ściana pod 6 zmienia się w portal.

Opublikowano

Nowe wieści:

-Wysokość i szerokość, jak i punkty, start i miejsce portalu same się wykrywają
-Plansze, punkty, portale i gracze mają inne, bardziej czytelne kolory
-Później ewentualnie dodam większą czcionkę
-Nowe labirynty już dostałem, ale okazało się, że jest parę błędów i będę miał około 19:00

I to na tyle jak na razie ^^

 

//Edit:

Łapajcie screena i przykładowy labirynt, róbcie własne, to będą razem z wydaniem ^^

Screen:

labir.jpg

Kolejny screen w trybie gamemaster :) Na powyższym screenie widać stare plansze, ale miał on ukazać czytelność planszy :)

Plansza:

1111111111
1121000121
1000010001
1211111111
1000000001
1111111101
1000000001
1011111111
1000000046
1111111111

Plansza musi mieć wysokość 10-21 a szerokość 10-40.

1 - ściana, 2 - punkt, 4 - start, 6 - meta.

Gierka sama wszystko znajduje :)

 

Klik (screeny)

 

To teraz dodałem taką opcję, że jak wpiszemy 7 w notatniku to:

Deklarujemy ścianę, która znika kiedy mam punktów max-n.

max = maksimum punktów

n = która 7 z kolei

Rozwiązuje właśnie problem, jeżeli 7 jest więcej niż 2, wtedy max wynosi 3 :/

Opublikowano

Chyba muszę dać oddzielny post co do tego trybu...

Opiszę go teraz dokładnie, jakbym dał edit, byłoby to nieczytelne

Otóż można sobie wgrać planszę wysokość 10-21, a szerokość 10-40.

Gdzie: 1 - ściana, 2 - punkt, 4 - start, 6 - meta, 7 - znikająca ściana.

Koniec gry, jeżeli: nie ma punktów, startu lub mety, albo gdy liczba znikających ścian>9 albo równa punktom.

Jakby jakiś łom nie postawił ściany, to można biegać tylko po górnych granicach podanych wyżej.

I teraz więcej o ścianach...

Jak już wiecie, maksimum ścian (znikających) to 9, musi ich być mniej niż punktów.

Jeżeli punkty==max-n, wtedy znika któraś ze ścian, z tym że:

max - maksymalna ilość punktów

n - ściana z kolei

 

To na razie na tyle, jak macie jakieś pomysły, to mówcie :)

Opublikowano

Jakiś edytor map by się zdał, pisanie map w notatniku tak jakby suxi :P A i @SeaMonster131 ma rację, lepiej będzie wyglądać w trybie graficznym, ewentualnie dopicuj te ASCII ;)

YOU MUST DIE

- Ganon, Koridai

Opublikowano

Ok, edytor dorobię, ale najpierw, odliczacz!

Będzie 60 sekund na zebranie 1 punktu, później czas się zeruje.

Jeżeli zostanie 0 sekund to padamy :)

Dodam jeszcze życie i potwory.

Mamy 100 pż i nam wyskakuje potwór, który łazi w górę i w doł, a my mamy go ominąć.

Jeżeli wbijemy na potworka, to on pada, a my mamy -20 hp :)

Opublikowano

Shibitos, widzę, że na poważnie wziąłeś się za tę gierkę. To dobrze. :)

Możesz nawet dać sobie generowanie plansz po kratkach, czyli skokowe poruszanie się postaci po planszy - nawet nie ma zbyt dużego problemu w zaprojektowaniu ładowania plansz. :) Przykładowy pliczek mapy mógłby wyglądać tak:

Moja 1 plansza // Tytuł planszy
T-00 // Autor planszy
60 // Czas w sekundach do każdego nowego punktu
tlo_1.tga // Ścieżka do tła pod planszę
przeszkody_1.tga // Ścieżka do wyglądu przeszkód
postac_1.tga // Ścieżka do wyglądu postaci
potwor_1.tga // Ścieżka do wyglądu potwora
// A w następnych liniach oddzielane spacjami parametry, np. 1 - resp postaci, 2 - przeszkoda, 3 - potwór, 4 - wyjście; po spacji która klatka z kolei ma być w poziomie, a po kolejnej spacji - w pionie, np.:
1 2 10

Każda klatka mogłaby reprezentować np. 16px, czyli ruch i generowanie plansz byłoby na zasadzie wielokrotności liczby 16 (2*16x10*16, jak w przykładzie podanym linijkę wyżej).

To tak jakbyś chciał się przerzucić na np. Allegro - polecam - bardzo prosta biblioteka, nawet początkujący ją ogarną. ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...