zayebeast / labirynt Goto Github PK
View Code? Open in Web Editor NEWThe simple maze game written in C++ It's a demonstration of git using in a group. There's everything in the Polish language there.
License: MIT License
The simple maze game written in C++ It's a demonstration of git using in a group. There's everything in the Polish language there.
License: MIT License
@GummyBear45 zaproponował stworzenie kalibracji przycisków strzałek. Do tego przydałoby się zrobić jakieś ładne menu, ale żeby nie robić do każdej rzeczy osobnego przydałoby się zrobić jedno uniwersalne, które możnaby używać w zależności od sytuacji. Przyda się to także przy rozwiązywaniu #40, bo tam będzie do wyboru jaką metodą użytkownik chce kolorować poszczególne rzeczy.
Przydałoby się dodać jakąś ikonę do naszego wynikowego programu, bo to jakoś biednie wygląda... Proponuję też zawierać tam info o wersji, autorach itd. Samym dodawaniem tg do pliku wynikowego mogę się zająć, ale fajnie by było jakby ktoś nam ikonę zrobił.
https://travis-ci.com/Nircek/labirynt/builds/85000113
main.cpp: In function ‘void getMap()’:
main.cpp:58:29: error: no matching function for call to ‘std::basic_fstream<char>::open(std::string&, const openmode&)’
file.open(file_name, ios::in);
^
main.cpp:58:29: note: candidate is:
In file included from main.cpp:5:0:
/usr/include/c++/4.8/fstream:886:7: note: void std::basic_fstream<_CharT, _Traits>::open(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::_Ios_Openmode]
open(const char* __s
^
/usr/include/c++/4.8/fstream:886:7: note: no known conversion for argument 1 from ‘std::string {aka std::basic_string<char>}’ to ‘const char*’
https://github.com/Nircek/labirynt/blob/805cf015dfa1c23e83503509165e490bf62d7243/main.cpp#L17
Wystarczy scastować tego string
a w pierwszym argumencie na const char*
a
Przydało by się napisać jakieś README, żeby ktoś kto to będzie przeglądał wiedział do czego to służy...
@IgorBia moim zdaniem najlepiej się nadasz na to zadanie.
funkcja | użytkownik | branch | status |
---|---|---|---|
getMap | @MrDarkness19 | getmap()-by-pan-ciemność | #9 |
beginningCoords | @Crackhoff | mojebranczydło | #6 |
targetCoords | @Nircek | targetCoords-function | #19 |
isWall | @IgorBia | isWall | #20 |
drawOnBufor | @Nircek | bufor | #18 |
viewBufor | @Nircek | bufor | #18 |
getEvent | @GummyBear45 | GummyBear45-patch-1 | #16 |
doEvent | @GummyBear45 | GummyBear45-patch-1 | #16 |
isEnd | @Crackhoff | pre-alpha | #21 |
doEnd | @MrDarkness19 & @Nircek | doEnd-func | #15 |
main | @Nircek | main-function | #8 |
Wszystkie funkcje mają mieć swoje Pull Requesty do czwartku, godziny 18:45.
Nie możemy zrobić map z full blockami (█), ponieważ chcemy mieć jak największą przenośność, a full blocki są różnie kodowane przez konsole na windach (cmd.exe) oraz na różnego typu terminalach unixowych. Natomiast pojawiła się inna możliwość zrobienia "full blobków" przez #45. Mianowicie można pomalować na jeden kolor ściany, a na inny kolor spacje.
Kiedy komuś się podeślę samego EXEka (lub ktoś pobierze skompilowaną wersję z releasa) to nie ma folderu maps
. Jak nie ma folderu maps
to program podczas uruchomienia kampanii się wysypie. No i teraz pytanie co chcemy z tym zrobić... Czy dostarczać skompilowane EXEki wraz z folderem maps
? A może przepisać mapy z maps
statycznie do kodu, żeby nie było żadnego folderu?
Program posiada polskie znaki. Trzeba je zmienić na zwykłe ( zamiast "ą" wpisać "a" itd. )
Proponuję dodać nową strukturę COORDS, w której bdmy przechowywać wszystkie rzeczy dotyczące koordynatów...
Dobrze by było dodać losowe mapy, żeby to nie były tylko te cztery z pliku... Jest to zadanie trudne, żeby napisać dobry algorytm.
@Nircek good luck
Proponuję dodać obsługę strzałek, żeby oprócz WSADa można było się równocześnie przemieszczać się strzałkami na klawiaturze.
@GummyBear45 liczę na Ciebie.
Bardzo często są losowane wejścia i wyjścia blisko siebie, żeby nieco zwiększyć trudność gier, proponuję dopisać linijkę, która by sprawiała, że wyjścia MUSI być co najmniej oddalone o pół przekątnej mapy od wyjścia. Jeżeli potrzebujesz inspiracji to to samo zrobiłem w swoim wcześniejszym projekcie labiryntu Nircek/maze@03c84d7.
Do #43 potrzebujemy strzałek, aktualnie strzałki są rozpoznwane w doEvent, a powinny być rozpoznawane w getEvent, ponieważ eventem jest naciśnięcie strzałki, a nie klawisze jej przypisane.
Przydałoby się podzielić ten nasz labirynt na poszczególne pliki z funkcjami, żeby jeszcze bardziej nikt nie ogarniał o co chodzi, a przy okazji, żeby takie rzeczy jak portable kolorowanie czy portable getch'e były w osobnych plikach.
Jak już zrobimy #25 to będziemy mieli gotową kalibrację. Można ją potem wykorzystać do pobrania klawiszy innych playerów i potem do grania z innymi osobami.
Przejrzystość w naszym labiryncie jest bardzo słaba i ciężko odróżnić cel i usera od ścian. Trzeba zmienić kolory celu i usera żeby dało się ich odróżnić od ścian i nie oślepnąć od wpatrywania się w hashe.
CodeFactor found multiple issues:
main.cpp:96
Commit 1c5a95e
labirynt.cpp:23
Commit 1c5a95e
labirynt.cpp:191
Commit 1c5a95e
labirynt.cpp:197
Commit 1c5a95e
labirynt.cpp:50
Commit 1c5a95e
labirynt.cpp:53
Commit 1c5a95e
color.cpp:60-116
Commit 8436e09
Musimy się zastanowić nad tym na jakiej licencji chcemy udostępniać naszą pracę. Ja preferuję licencję MIT, ale jest to kwestia do przedyskutowania i uzgodnienia.
W momencie kiedy kompilacja się nie powiodła to make powinien nie odpalać wcześniej skompilowanego programu...
Chciałbym dodać do tego projektu algorytm do generowania map, żeby nie trzeba było ich ładować z pliku i żeby za każdym razem były losowe, ale do tego trzeba by zrobić jakieś menu z wyborem losowego generowania mapy oraz wczytania mapy z pliku...
@MrDarkness19 mam nadzieję, że się podejmiesz zadania, tylko żeby było jakieś wymyślne, a nie zwykłe zapytanie
a)
https://github.com/Nircek/labirynt/blob/d8abc3522d0ad50ea751bd06ba84867b9dfc19b6/color.cpp#L25
https://github.com/Nircek/labirynt/blob/d8abc3522d0ad50ea751bd06ba84867b9dfc19b6/color.cpp#L37
Ktoś przepuścił TODO i zmergował na mastera przez #45 i 9926991.
Co ciekawe niejaki @MrDarkness19 to approve'ował...
b)
color.cpp: In function ‘bool isModeAvailable(color_mode)’:
color.cpp:58:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
Skrypt make
niepoprawnie wykonuje się na niektórych systemach nieposiadających /usr/bin/time
, w przypadku braku takiego systemu można zrezygnować z wypisywania czasu, pamięci oraz errorlevel
a zwracanego przez program.
Maksymalna wielkość labiryntu jaki możemy mieć to 100... Nie jest to może mało, ale jakby to zrobić na dynamicznych tablicach to by było zdecydowanie lepiej.
https://github.com/Nircek/labirynt/blob/424776a631e1b449c204e7a0029bac5538c7c34c/main.cpp#L48-L49
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.