[C++] Gra w statki, c++ nieobiektowy
-
- Użytkownik
- Posty: 15
- Rejestracja: 2 gru 2015, o 18:53
- Płeć: Kobieta
- Lokalizacja: Polska
[C++] Gra w statki, c++ nieobiektowy
Witam,
Potrzebuję pomocy pasjonata, który napisze ze mną kod gry w statki. kod ma być napisany nieobiektowo w języku c++, gra ma uwzględniać rozgrywkę między dwoma osobami oraz między osobą a komputerem, dodatkowo ma być możliwe stosowanie ułatwień a w rundzie z komputerem powinny być możliwe do wybrania strategie, między innymi losowa.
Szukałam wskazówek w internecie, ale jedyne kody które znalazłam były w c++ obiektowym.
Jestem nieobeznana w języku c++, te zadanie jest moim projektem na zajęcia i kompletnie nie wiem od czego zacząć. Do tej pory poznałam c++ do poziomu tworzenia struktur.
Pisze w visual studio od microsoft.
Nie mam dużo czasu na napisanie tej gry, a chciałabym dogłębnie zrozumieć temat.
Czy znajdzie się ktoś pomocny?(:
Potrzebuję pomocy pasjonata, który napisze ze mną kod gry w statki. kod ma być napisany nieobiektowo w języku c++, gra ma uwzględniać rozgrywkę między dwoma osobami oraz między osobą a komputerem, dodatkowo ma być możliwe stosowanie ułatwień a w rundzie z komputerem powinny być możliwe do wybrania strategie, między innymi losowa.
Szukałam wskazówek w internecie, ale jedyne kody które znalazłam były w c++ obiektowym.
Jestem nieobeznana w języku c++, te zadanie jest moim projektem na zajęcia i kompletnie nie wiem od czego zacząć. Do tej pory poznałam c++ do poziomu tworzenia struktur.
Pisze w visual studio od microsoft.
Nie mam dużo czasu na napisanie tej gry, a chciałabym dogłębnie zrozumieć temat.
Czy znajdzie się ktoś pomocny?(:
Ostatnio zmieniony 3 gru 2015, o 07:07 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
- jarzabek89
- Użytkownik
- Posty: 1337
- Rejestracja: 11 lis 2007, o 21:36
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 4 razy
- Pomógł: 181 razy
[C++] Gra w statki, c++ nieobiektowy
Tutaj kompletnie nie trzeba szukać żadnych wskazówek w internecie. Aplikacja taka ogranicza się do umiejętności posługiwania się pętlami, instrukcjami warunkowymi, tablicami(dla ułatwienia strukturami, czy klasami). Już nie będę mówić o jakiś cout'ach czy cin'ach.
Ideą pomagania nie jest zrobienie za kogoś zadania, zwłaszcza akademickiego zaliczenia.
Ideą pomagania nie jest zrobienie za kogoś zadania, zwłaszcza akademickiego zaliczenia.
-
- Użytkownik
- Posty: 15
- Rejestracja: 2 gru 2015, o 18:53
- Płeć: Kobieta
- Lokalizacja: Polska
[C++] Gra w statki, c++ nieobiektowy
Nie proszę o napisanie za mnie kodu, tylko o pomoc w jego pisaniu, mi samej zalezy, żeby to przede wszystkim zrozumieć. Nie pisałam nigdy aplikacji i nie mam do kogo zwrócić się o pomoc. Każdy od czegoś zaczynał, prawda? Każdy otrzymał na początku jakąś pomoc
Nie rozumiem skąd tak nieprzyjemna odpowiedź, nie chcę kupić pracy licencjackiej tylko dostać wskazówki jak napisać grę w ramach cząstkowej oceny semestralnej.
Nie rozumiem skąd tak nieprzyjemna odpowiedź, nie chcę kupić pracy licencjackiej tylko dostać wskazówki jak napisać grę w ramach cząstkowej oceny semestralnej.
- morsisko
- Użytkownik
- Posty: 9
- Rejestracja: 10 lut 2015, o 17:46
- Płeć: Mężczyzna
- Lokalizacja: Antarktyda
[C++] Gra w statki, c++ nieobiektowy
Struktury to przecież lekko zmodyfikowane klasy, więc w czym problem? Jednak jeśli usilnie nie chcesz korzystać z obiektów, to na sam początek napisz wersję gracz kontra gracz, algorytm jest bardzo prosty(choć na pewno można zrobić to bardziej optymalnie)
1. Prosisz użytkowników o podanie koordynatów statków, za każdym razem sprawdzasz czy żaden element statku nie wychodzi poza obszar tablicy lub czy nie stoi na nim żaden element innego statku
2. Deklarujesz dwie(dla dwóch graczy, jeśli chcesz to możesz tą liczbę zwiększyć, żeby móc drukować gdzie dany gracz strzelał) tablice intów lub coś z listy wyliczeniowej (przyjemnej pracowałoby się na dwuwymiarowej)
3. W pętli:
-Prosisz gracza o podanie koordynatów strzału
-Sprawdzasz czy są poprawne(nie wychodzą poza indeks tablicy lub czy już tam nie strzelał, jeśli jakiś warunek został spełniony to ponownie prosisz o podanie koordynatów i tak do skutku)
-Po podaniu współrzędnych patrzysz na element tablicy przeciwnika o takich koordynatach i odczytujesz wartość, jeśli nie ma tam statku to wypisujesz "Pudło", zmieniasz wartość elementu na taki, żeby było wiadomo że dany gracz już tam strzelał i prosisz następnego gracza o podanie koordynatów, jeśli gracz trafił to prosisz tego samego gracza o ponowne podanie współrzędnych i tak do skutku.
Opcjonalnie możesz drukować tablice z polami w które dany gracz już strzelał
4. Pętla wykonuje się, do momentu kiedy jeden z graczy zestrzeli wszystkie statki.
1. Prosisz użytkowników o podanie koordynatów statków, za każdym razem sprawdzasz czy żaden element statku nie wychodzi poza obszar tablicy lub czy nie stoi na nim żaden element innego statku
2. Deklarujesz dwie(dla dwóch graczy, jeśli chcesz to możesz tą liczbę zwiększyć, żeby móc drukować gdzie dany gracz strzelał) tablice intów lub coś z listy wyliczeniowej (przyjemnej pracowałoby się na dwuwymiarowej)
3. W pętli:
-Prosisz gracza o podanie koordynatów strzału
-Sprawdzasz czy są poprawne(nie wychodzą poza indeks tablicy lub czy już tam nie strzelał, jeśli jakiś warunek został spełniony to ponownie prosisz o podanie koordynatów i tak do skutku)
-Po podaniu współrzędnych patrzysz na element tablicy przeciwnika o takich koordynatach i odczytujesz wartość, jeśli nie ma tam statku to wypisujesz "Pudło", zmieniasz wartość elementu na taki, żeby było wiadomo że dany gracz już tam strzelał i prosisz następnego gracza o podanie koordynatów, jeśli gracz trafił to prosisz tego samego gracza o ponowne podanie współrzędnych i tak do skutku.
Opcjonalnie możesz drukować tablice z polami w które dany gracz już strzelał
4. Pętla wykonuje się, do momentu kiedy jeden z graczy zestrzeli wszystkie statki.
- jarzabek89
- Użytkownik
- Posty: 1337
- Rejestracja: 11 lis 2007, o 21:36
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 4 razy
- Pomógł: 181 razy
[C++] Gra w statki, c++ nieobiektowy
Struktury to bardziej pozostałość po C niż zmodyfikowana klasa, bo nie wiem czym to się różni
- morsisko
- Użytkownik
- Posty: 9
- Rejestracja: 10 lut 2015, o 17:46
- Płeć: Mężczyzna
- Lokalizacja: Antarktyda
[C++] Gra w statki, c++ nieobiektowy
Struktury mają domyślnie publiczny dostęp do wszystkiego, a klasy prywatny, i odrobinę inaczej zachowują się przy dziedziczeniu.
- jarzabek89
- Użytkownik
- Posty: 1337
- Rejestracja: 11 lis 2007, o 21:36
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 4 razy
- Pomógł: 181 razy
[C++] Gra w statki, c++ nieobiektowy
A masz rację. Faktycznie.
To tak bardziej w ramach ciekawostek, bo zwykła tablica nam i tak załatwi tutaj sprawę.
To tak bardziej w ramach ciekawostek, bo zwykła tablica nam i tak załatwi tutaj sprawę.
-
- Użytkownik
- Posty: 15
- Rejestracja: 2 gru 2015, o 18:53
- Płeć: Kobieta
- Lokalizacja: Polska
[C++] Gra w statki, c++ nieobiektowy
Okej, a jak zastrzec, żeby statków była określona ilość, miały określony wymiar i nie stykały się?
- jarzabek89
- Użytkownik
- Posty: 1337
- Rejestracja: 11 lis 2007, o 21:36
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 4 razy
- Pomógł: 181 razy
[C++] Gra w statki, c++ nieobiektowy
Chyba każdy z nas grał w statki.
Liczba statków jest stała. Dajesz statków tyle ile musisz.
Wymiary są też ściśle określone
Żeby się nie stykała, to przed wstawieniem trzeba sprawdzić, czy po wstawieniu będzie się stykać.
Problemem tutaj będzie bardziej logiczne myślenie i algorytm niż znajomość języka programowania.
Zakładając że:
0-nie ma statka
1-jest statek
Majać tablice 8x8 powiedzmy
Wygenerowanie tablicy to wstawienie odpowiednie miejsca jedynek.
Zakładamy, że wstawiamy sobie pojedynczy statek
to oznacza, że w miejscach gdzie wstawiłem X nie może byś statku. Zwykłe instrukcje warunkowe i pętle.
Liczba statków jest stała. Dajesz statków tyle ile musisz.
Wymiary są też ściśle określone
Żeby się nie stykała, to przed wstawieniem trzeba sprawdzić, czy po wstawieniu będzie się stykać.
Problemem tutaj będzie bardziej logiczne myślenie i algorytm niż znajomość języka programowania.
Zakładając że:
0-nie ma statka
1-jest statek
Majać tablice 8x8 powiedzmy
Kod: Zaznacz cały
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
Zakładamy, że wstawiamy sobie pojedynczy statek
Kod: Zaznacz cały
00000000
00000000
000XXX00
000X1X00
000XXX00
00000000
00000000
00000000