MMORPG.pl https://mmorpg.pl/ |
||
C++ "obiektowe" - gra planszowa https://mmorpg.pl/viewtopic.php?f=54&t=40653 |
Strona 1 z 1 |
Autor: | zaboleq [ 26 mar 2012, 07:56 ] |
Tytuł: | C++ "obiektowe" - gra planszowa |
Mam do napisania program, który będzię grą planszową. Ogólnie nie jest to masakrycznie trudne ale mam jeden problem. Domyślnie program ma zawierać 3 klasy : gra, gracz, plansza Ja mam problem z klasą plansza. Ta część programu na po pierwsze rysować planszę wyglądającą tak: | ||| ||||| ||||||| Taką funkcję napisałem rzecz jasna. Problem jednak w tym, że muszę też napisać funkcję, której zadaniem będzie skreślenie odpowiednich kresek z odpowiedniego wiersza(można skreślać tylko z jednego). Domyślam się, że skreślanie mogłoby się odbywać poprzez modyfikowanie wartości tablicy "stangry" ale nie mam pomysłu jak to zrobić. Dodatkowo założenie jest takie, że żadna z dunkcji nie przyjmuje wartości z klawiatury. Ona ma tylko skreślać (mowa o klasie "plansza"). Jest ktoś w stanie pomóc z forumowych speców od programowania? Oczywiście trzeba się pobawić z zwracaniem parametrów przez tą funkcję żeby to w ogóle działało. Pewnie pierdoła jakaś Cytuj: #include <iostream>
using namespace std; class plansza { int stangry [4]; public: plansza(); void wyswietl(); int skresl(int k, int r); }; plansza::plansza() { stangry[0]=1; stangry[1]=3; stangry[2]=5; stangry[3]=9; } int plansza::skresl(?????) { ????? } void plansza::wyswietl() { for (int i=0; i< 4; i ++) { for (int j=0; j< stangry[i]; j++) { cout <<" | "; } cout<<endl; } int main() { plansza a; a.wyswietl(); a.skresl(); return 0; } |
Autor: | Mac [ 26 mar 2012, 10:52 ] |
Tytuł: | |
Hint: przechowuj gdzies wartosc czy dana kreska jest skreslona czy nie. Jesli plansze wyswietlasz w konsoli to po prostu przerysuj calosc jesli cos sie zmieni. |
Autor: | zaboleq [ 26 mar 2012, 12:05 ] |
Tytuł: | |
No tam myślałem, żeby to zrobić za pomocą modyfikacji zawartości tablicy "stangry" ale nie wiem jak to zrobić. Może jakoś w ten sposób plansza[r] -= k; ale nie wiem czy to coś da. I czy mam jakoś zmieniać konstruktor. |
Autor: | candidoser [ 26 mar 2012, 13:04 ] |
Tytuł: | |
zrob sobie tablice 4x9 i teraz: 0 - brak kreski 1- kreska normalna -1 - kreska przekreslona |
Autor: | Coval [ 27 mar 2012, 22:06 ] |
Tytuł: | |
W ramach oszczednosci pamieci to mozesz to zaimplementowac nawet na jednowymiarowej tablicy. Jezeli plansza ma (1+3+5+9) 18 pol, to wystarczy int plansza[18] Ty juz bedziesz wiedzial ze indeks 0 to pole 1 na gorze, indeksy 1-3 to 3 pola w drugim rzedzie itp. Teoretycznie nie ma to znaczenia, ale jakbys chcial pozniej zrobic do tego jakiegos solvera, to wtedy sie przyda. |
Autor: | candidoser [ 28 mar 2012, 06:18 ] |
Tytuł: | |
teoretycznie nie ma znaczenia, w praktyce spada czytelnosc;) Ja mysle, ze zaboleq juz to dawno zrobil. A jesli nie... http://demotywatory.pl/1012259/Koszula-flanelowa |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | Copyright © 2001-2012 MMORPG.pl Team |