Koncepcja gry - Gra turowa

Odpowiedz Nowy wątek
2015-01-07 08:40
0

Witam
Chciałbym się bardziej doświadczonych forumowiczów podpytać, poradzić jak zabrać się za pewien projekt.
Praca ta ma zostać wykonana na przedmiot programowanie zdarzeniowe, a temat "Gra turowa"
a oto wytyczne :

a) będzie zapisywała i odczytywała dane z bazy danych (relacyjne)
b) będzie konfigurowalna przy pomocy plików properties w Javie
c) będzie zawierała co najmniej 3 komponenty własnego autorstwa (kontrolki)
d) będzie wykorzystywała asynchroniczne wywołania funkcjonalności (swing worker)
e) będzie wykorzystywała co najmniej dwie usługi sieciowe (webservicy, www np. czas i pogoda)
f) do rozmieszczenia komponentów należy użyć Layout.

Moja idea wygląda nastepujące :
Gra trochę by przypominała szachy, toczy się na planszy 10x10, ale zamiast pionków mam typy jednostek (np. miecznik, pikinie, konnica, lucznik). Kazdy Typ jednostki ma okresla ilosc hp, zasieg ruchu, sile ataku (pozniej mozna dodac bonus do walki z poszczegolna jednostka).

Co myślicie o czymś takim ? Obawiam się że jest to zbyt skomplikowane, ale niestety nie bardzo mam pomysł na inna koncepcje.

edytowany 1x, ostatnio: ice25, 2015-01-07 08:44

Pozostało 580 znaków

2015-01-07 09:17
2

Nienawidzę takich zadań: "wykorzystaj technologię A, B C". To jest stawianie problemu na głowie i z tego co widzę większość ludzi ma problem z wymyśleniem zadania pod konkretne rozwiązania.
Powinno być: "wykonaj projekt o zadanych funkcjonalnościach", a wybór rozwiązań powinien być dowolny (można jedynie coś sugerować).


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
tyle, że polska szkoła ma ogłupiać, nie zapominaj. a technologia... pewnie wykładowcy innej nie znają, więc nie umieliby ocenić czyjegoś programu, jeśli student zrobiłby w jakiejś dziwnej technologii (dziwnej, czyli takiej, której wykładowca jeszcze nie poznał)... - LukeJL 2015-01-07 10:06

Pozostało 580 znaków

2015-01-07 09:21
0

Dla mnie gra o tematyce turowej to np statki czy szachy pomysł ma być oryginalny ?

Pozostało 580 znaków

2015-01-07 09:30
0

szachy odpadają ale statki owszem mogą być, ale wtedy pasuje zrobić by można było się z innym komputerem połączyć a tu juz dodatkowo komplikuje sprawę

Pozostało 580 znaków

2015-01-07 09:31
0

Fajna koncepcja. Jako WS zrób może globalną tablicę najlepszych wyników (Create + Read) i sprawa załatwiona.

Pozostało 580 znaków

2015-01-07 10:21
0

Kółko i krzyżyk :)

Pasjans z ws dla aktualnej pogody i nowości z pudelka. Potem sprzedawać jako "Pakiet biurowy urzędnika" :D - krzysiek050 2015-01-07 10:26

Pozostało 580 znaków

2015-01-07 10:30
0

Praca ta ma zostać wykonana na przedmiot programowanie zdarzeniowe, a temat "Gra turowa"

temat dobry, ale wytyczne z dupy:

c) będzie zawierała co najmniej 3 komponenty własnego autorstwa (kontrolki)

nie rozumiem, jak robienie swoich kontrolek ma się do gry turowej.

e) będzie wykorzystywała co najmniej dwie usługi sieciowe (webservicy, www np. czas i pogoda)

a może i stawiała horoskop i pobierała kurs funta? Co to ma wspólnego z grą? Ktoś, kto dał takie wytyczne, raczej nie myślał wiele.

f) do rozmieszczenia komponentów należy użyć Layout.

Też z dupy założenie. Skąd wiadomo, jakie rozmieszczenie komponentów będzie najbardziej odpowiednie?

b) będzie konfigurowalna przy pomocy plików properties w Javie

o, to ma pewien sens, bo faktycznie grę warto konfigurować (ale jaką metodą to już jest względne).
Szczególnie warto to konfigurować:

Kazdy Typ jednostki ma okresla ilosc hp, zasieg ruchu, sile ataku (pozniej mozna dodac bonus do walki z poszczegolna jednostka).

Co myślicie o czymś takim ? Obawiam się że jest to zbyt skomplikowane

jest zbyt skomplikowane, bo twoje wytyczne są w ogóle niedopasowane do tego projektu i nie dają najmniejszej wskazówki jak to można zrobić, i co zrobić, oprócz jakichś głupot typu "zrób grę turową, połącz się z usługami sieciowymi i pobierz czas i pogodę". Przecież to nie ma najmniejszego sensu xD).

ale:

  • czy rozgrywka ma być sieciowa, czy na gorącym krześle? (gorące krzesło będzie łatwiejsze do zaimplementowania).
  • jeśli to sieciowa gra, to będzie przydatny jakis system komunikatów. Czyli jeślli gracz klika gdzieś, żeby ruszyć pionkiem, to nie wystarczy że go ruszysz. Ponieważ musisz jeszcze powiadomić serwer/drugi komputer, że gracz się ruszył. Wygodne więc będzie zrobić obiekt komunikatu, który będzie miał własny typ i właściwości. np. (pseudokod)
    {
    typ: rusz się
    współrzedne: 10, 30
    kto: gracz 1
    }

    i wysyłasz tę strukturę do serwera. Tam powinna nastapić walidacja, czy na pewno masz prawo się tam ruszyc a nie jesteś cheaterem itp.

chyba, że olejesz sieciówkę i zrobisz grę na gorącym krześle.

  • aha, przyda się jakaś zmienna/obiekt oznaczający stan, w którym się znajduje gra, czyli "czyja jest tura". Ale też tym stanem może być "ekran menu" itp. Zalezy co tam będziesz mial w grze.

((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2015-01-07 10:32

Pozostało 580 znaków

2015-01-07 10:55
1

Ja kiedyś coś podobnego do tego zakodziłem: http://hexxagon.com/
nadaje się do: gry sieciowej, turowej, vs AI

dodaj zapis gry i high score i będziesz miał bazę danych na siłę :D


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 1x, ostatnio: krwq, 2015-01-07 10:56
ale i tak nie ma źródła, bo to we flashu ;) - LukeJL 2015-01-07 11:34
aha, dobra, myślałem, że ten link to twoja gra. - LukeJL 2015-01-07 11:35
Flesha się dość łatwo dekompiluje. - n0name_l 2015-01-07 11:36

Pozostało 580 znaków

2015-01-07 10:56
0

Niech zgadne programowanie zdarzeniowe u Chmielewskiego na Wacie :)

Pozostało 580 znaków

2015-01-07 11:15
0

Sorry, nie studiowałem informatyki :P Politechnika Poznanska, projekt komus z roku robilem na zaliczenie jakiegos przedmiotu z pograniczania programowania


░█░█░█░█░█░█░█░█░█░█░█░

Pozostało 580 znaków

2015-01-08 15:06
wartek_no_log
0

Wymagania rzeczywiście denne.

Tak na serio - ktoś już to pisał tutaj w komentarzach. Zrób prostą grę typu np. kółko i krzyżyk w technologii smart-client (działa offline, ale online działa lepiej)

  1. Serwer - pozwala na zapisywanie stanu gry niejako "w chmurze" po socketach. Serwer trzyma zapisane stany gry w DB. Dodatkowo wystawia info o czasie i pogodzie po WS.
  2. Properties - rozmiar planszy, ile trzeba w jednym rzędzie zebrać linijek, adres serwera.
  3. Asynchroniczność - gra będzie się toczyć normalnie, natomiast klient co jakiś czas powinien dopytywać się serwer o to, czy w ogóle jest on dostępny (tryb online/offline przełącza się bez ingerencji użytkownika), oraz o pogodę i czas.
  4. Kontrolki - jedna pokazująca pogodę, druga kontrolka online/offline, pole do kółka/krzyżyka.
  5. Layout - jeśli wykładowca łaskawie pozwoli to MiG Layout (http://www.miglayout.com/), jeśli nie to BorderLayout (do ogólnego ekranu) + GridLayout (do planszy z grą).

Serwer - w czymś prostym (jest trochę technologii, np. SpringBoot - apka, którą da się uruchomić bezpośrednio z linii komend która pozwala wystawiać usługi i dobijać się do bazy).
Klient - jak mus to mus, czyli Swing i dobrodziejstwa.
WebService - najlepiej REST (SpringBoot łatwo wystawia takie usługi).
Dostęp do bazy danych - Spring JDBC lub Spring Hibernate

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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