Prosta gra przeglądarkowa

0

Dzień dobry.
Piszę prostą grę internetową w języku Java do mojego CV i zastanawiam się czy ten projekt może być wystarczający, by się nim chwalić na stanowisko młodszego programisty lub stażysty.
Aplikacja jest postawiona na Tomcat, napisana z użyciem Maven'a oraz technologii Spring MVC, Security oraz Hibernate. Dla poprawy wizualnej pobrałem bootstrapa (przez co na gicie projekt widnieje, jakby głównie był napisany w JavaScripcie)
W chwili obecnej jest parę niedociągnięć o których wspomniałem w readme.
Chwilowo walczę z rejestracją i przyznaniem roli.

https://github.com/MiWitkowski/RpgProjekt

Poniżej dałem parę zdjęć poglądowych

4

Podsumowując - dramat :(

  • jak już zrobiłeś jakiś "używalny" projekt "do portfolio" to dobrze by było wystawić ją gdzieś na świat żeby można było przeklikać. Chyba, że mamy emulować sobie gameplay ze źródeł i zrzutów ekranu
  • nie żeby coś, ale "gra" oparta na tabelkach.... sorry ale gry działające w trybie tekstowym na 8 kolorach w terminalu mają dużo bogatsze interfejsy :D
  • Readme jest do przepisania i przeformatowania. Zero opisu co robi aplikacja, tylko wypisane że admin może grać i atakować i cośtam. Fajnie. Od bugów i enhancementów (Twoje todo) są issues, nie bullety w Readme. Językowo też mogłoby być lepiej.
  • Println w testach?
  • Tylko jeden test na całą aplikację, w dodatku test DAO a nie jakiś test konkretnej funkcjonalności, albo unit test logiki aplikacji? Testy są do napisania od nowa i od zera.
  • Naukę programowania zaczynasz od JSP?
  • Mieszasz to jeszcze z jakimś HTML sklejanym ze stringów z jakimiś zmiennymi i tak dalej... nie, po prostu nie. Poczytaj o szablonach HTML, jeśli już chcesz coś takiego robić. Prawie każdy framework webowy ma jakiś. Dla Springa jest chyba Thymeleaf.
  • Nie mówiąc o tym, że całą logikę umieściłeś w kontrolerach. Tak się nie robi. To co w webie nazywa się kontrolerami to są tak naprawdę entry-pointy do aplikacji. Tędy możesz odpalić logikę, która jest gdzieś pod spodem, ale nie chcesz żeby logika zmieniała się w zależności od tego, czy odpaliło ją żądanie HTTP czy jakaś aplikacja konsolowa, bo w web kontrolerze wrzuciłeś sortowanie a w jakiejś obsłudze CLI już nie, albo sortujesz w drugą stronę.
  • Ogólnie to struktura źródeł z podziałem na controllers, services etc jest... średnia. Znaczy, w niejednym projekcie wciąż się jej radośnie używa i dzielnie rozdziela warstwy niczym cebulę, ale wadą tego jest to, że nie mówi absolutnie nic o tym, co aplikacja robi i czym jest. No bo po tym podziale widać, że ma endpointy, warstwę persystencji i tak dalej, więc robi... no właściwie to nie wiadomo co.
  • Nazewnictwo leży: ada, m - nazwy powinny mówić, czym są. m to może być monster albo moneta albo monada albo mirek albo młynek do kawy... i tak dalej
1
superdurszlak napisał(a):
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="coderslab"/>`

**coderslab ** i wszystko jasne ;)

Poza powyższymi uwagami to jeszcze:

else if (user.getHp() < monster.getHp()) {
currentHp = 0;
}

Czyli co, jak wojownik ma mniej życia niż potwór to nie może walczyć? Każdy ma jednakową siłę? 

Im szybciej porzucisz JSP tym większy zrobisz progres.
0

@superdurszlak:
Co do punktu pierwszego. Nawet nie myślałem by to gdzieś postawić ze względu na to, że jest to wciąż nie skończony projekt.
Gra miała być prosta, zwykłe punkty życia, level, ewentualnie później wartości typu siła, by ten awans postaci miał jakiś sens. Więc nawet nie wiem jak inaczej mogłoby to wyglądać niż przedstawienie danych z bazy do tabelki. Chyba, że chodzi o sam aspekt wizualny to się zgodzę.

PrintIn w teście był dla mnie, akurat tutaj miałem pewnie problemy z połączeniem do bazy danych i sprawdzałem co zwróci.

@kixe52
Mógłbyś rozwinąć swoją myśl odnośnie metody fight? Ona ma jedynie zmieniać aktualną ilość życia czy doświadczenia.
Ps. Zapomniałem o tym, że jak gracz ma chociaż 1 punkt mniej niż przeciwnik to i tak przegra.

Ps2. Proszę nie mieć złego zdania na temat Coderslab jedynie przez pogląd na mnie. Jakość tego kodu jest moją zasługą.

Ps3. Dziękuję za Wasze wypowiedzi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1