Gra Skyline

Odpowiedz Nowy wątek
2015-11-19 08:50
Kasiaooo
0

Witam wszystkich :)
Mam do napisania prostą grę, jednak kompletnie nie wiem jak za to się zabrać, dlatego proszę o wskazówki.
Na planszy 4x4 budujemy wieżowce. w każdym wierszu i kolumnie musi znajdować się wieżowiec każdej wielkości(w tym przypadku jedna 4, jedna 3, 2,1). Dodatkowo do mojego pola, dodane są po 4 pola u góry, u dołu, z prawej i lewek na których pojawiają się wskazówki ile wieżowców widać z danego miejsca. Przykład w załączniku. Z góry dziękuję za wskazówki.

Pozostało 580 znaków

2015-11-19 08:53
Kasiaooo
0

Większe wieżowce zakrywają te mniejszw.

Pozostało 580 znaków

2015-11-19 09:06
0

Znam taką grę, w niej dane są obramówki i trzeba ustalić zawartość planszy (która pierwotnie jest całkowicie lub częściowo pusta). Jeżeli masz do napisania grę, to znaczy, że to użytkownik będzie musiał wymyślić jaka jest zawartość planszy, a program ma to zaakceptować lub nie. Potwierdź, że to o to chodzi, a jeżeli tak, to czy masz już plansze, które chcesz umieścić w swojej grze.

Możesz też nieumiejętnie próbować powiedzieć, że Twoim zadaniem jest napisanie programu, który będzie rozwiązywał tą zagadkę (za człowieka) albo na przykład, że chcesz napisać generator takich zagadek.

Dookreśl się na razie. I czy to ma być GUI czy konsola, czy dla człowieka czy na sprawdzarkę, czy krótkie zadanie czy na projekt semestralny...:D

Pozostało 580 znaków

2015-11-19 09:16
0

Sudoku chyba jakos podobnie dziala, poszukaj sobie algorytmy o tym

sudoku działa prawie całkowicie inaczej... - notexists 2015-11-19 09:18

Pozostało 580 znaków

2015-11-19 14:19
Kasiaooo
0

Dokładnie o to chodzi notexists, najlepiej by było aby użyć biblioteki tkinter. Co do projektu to.. jestem studentką matematyki w Niemczech, a tutejszy system uniwersytecki, "daje możliwość" bycia otwartym na różne strony:D , a co za tym idzie każdy musi wybrać sobie inny kierunek, z którego trzeba zdobyć 24pkt :D padło na informatyke, bo lepsze to niż filozofia, czy geografia :D :D :D mus to mus.

Poprzednio do napisania miałam grę Mastermind i całkiem łatwo mi poszło, jednak w tym przypadku nie mam pojęcia jak odnieść wartości z obramówek do tych z planszy.

co do sudoku, to tak sama plansza działa podobnie, ale trzeba do tego dodać te wartości z obramówek co sprawia mi problem..

Pozostało 580 znaków

2015-11-19 14:33
0

No to tak:

  1. napisać klasę do reprezentacji pola gry (oparte na tablicy, wektorze, cokolwiek).

Załóżmy, że tablica:

  1. metoda sprawdzająca po wierszach/kolumnach co widać z danego pola obramówki (bardzo proste. Iterujesz po kolejnych elementach od cyfry z obramowki i zliczasz aż trafi się taki element, który jest mniejszy od poprzedniego). Może być odpalana po każdej ingerencji w pole gry.
  2. Metody, które będą kontrolować (ustawiać i zwracać) zajętości pól. Takie trochę gettery/settery pola.

Wydaje mi się, że na początek powinno wystarczyć (chociaż pewnie za tablicę zostanę zjechany ;)).

Pozostało 580 znaków

2015-11-19 14:39
0

napiasnie algorytmu sprawdzajacego dla NxN tablicy nie jest problemem. Jedynym problemem ktory nie wiem jak zrobic to generowanie planszy ktora jest do rozwiazania (w sensie prawidlowa).

w Angorze byla taka gra co sie malowalo ilosc kwadracikow w zaleznosci ile jaka tam cyfra byla napisana. Problem w tym ze nie pamietam nazwy tej gry. Jezeli pamietasz/znajdziesz to algorytm do generowania Twojej gry bedzie podobny do tego z angory... nawet praktycznei cala mechanika gry bedzie taka sama. Na pewno to gdzies istnieje ;) Jak nie znajdziesz do weekendu to napisz... postaram sie poszukac tego

edytowany 1x, ostatnio: fasadin, 2015-11-19 14:40

Pozostało 580 znaków

2015-11-19 21:36
0

@Kasiaooo, informatyka jest wspaniała i fascynująca i super -- dobrze, że ją wybrałaś:D

Myślę, że @xfin dość dobrze pokazał Ci kierunek, ale pozwolę sobie trochę jaśniej opisać jego punkt 2.

dla każdego pola z obramówki wykonaj: 
     counter=1
     max=wartość z pierwszego pola w danej linii (pola najbliższego polu obramówki)
     dla każdego następnego pola w tej linii:
          jeżeli wartość pola > max:
               max=wartość pola
               counter=counter+1
     jeżeli counter != wartości pola z obramówki:
          przerwij sprawdzanie, bo pola wypełnione są błędnie

Oczywiście przechodzenie po kolejnych polach w linii będzie zachodziło w jednym z czterech kierunków w zależności od tego od której krawędzi obramówki zaczynamy, a sprawdzanie musi też badać czy w każdym wierszu i każdej kolumnie występują wszystkie wartości od 1 do 4.

Jeżeli potrzebujesz innych wskazówek, to zadaj konkretniejsze pytania.

Co do tego skąd wziąć planszę, to w miesięczniku Logi-Mix (tu strona http://www.wydawnictwologi.pl[...]=product/category&path=63 ) są takie zagadki (i nazywają się tam piramidy). Może znajdziesz coś ciekawego na ich stronie, a jeśli nie, to spróbuj do nich napisać, może prześlą Ci sporą ilość gotowych plansz, albo podpowiedzą jakiś sposób na generowanie.

Pozostało 580 znaków

2015-11-19 21:52
Kasiaooo
0

Dziękuję bardzo za podpowiedzi!!! :)
Będę próbować, jeśli do czegoś dojde, albo nasuną się kolejne wątpliwości dam znać! :)

Powodzenia:) - notexists 2015-11-19 22:00

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