Hogyan írjak egy amőba játékot C++ ban?
A nyelvi elemeket tudom a leprogramozással van gond.
Egy osztály legyen aminek a neve cAmoba?
Nem megy a kitalálása.
Segítsetek.
Idáig sikerült eljutnom de tovább nem megy:
//main.cpp
#include<iostream>
using std::cout;
typedef unsigned short ushort;
class cAmoba{
public:
cAmoba();
~cAmoba();
const char iGetPlayer(const ushort i)const
{return this->iPlayer[i];}
const char iGetMap(const ushort i)const
{return this->iMap[i];}
void iSetMap(const char x, const ushort sorok, const ushort oszlopok)
{this->iMap[sorok][oszlopok] = x;}
private:
char iPlayer[3];
char iMap[5][5];
protected:
};
cAmoba::cAmoba():
iPlayer({'0', '1', '2'}) {
for(ushort i = 0; i < 5; ++i)
for(ushort j = 0; j < 5; ++j)
this->iMap[i][j] = this->iPlayer[0];
}
cAmoba::~cAmoba() {}
int main(){
return 0;
}





Idáig sikerült tovább nem megy szerintem rossz az egész megtervezés.
Megpróbálom megint:
De valahogy úgy kéne,hogy létrehozok egy pálya osztályt aminek egy példánya lesz meg egy játékos osztályt amiből pedig két példány lesz.
Így sokkal egyszerűbb volna szerintem.
De olyan hülye vagyok.
Clanlibet akarok használni grafikára de egyenlőre konzolosban akarom megcsinálni és úgy akarom megoldani hogy bekéretem a játékossal a sorokat meg az oszlopokat és akkor a sorok és oszlopok alapján lesz a megfelelő helyre betéve a 'O' vagy az 'X' karakter attól függ épp melyik játékos jön.





Hacsak nem házi feladatról, beadandóról van szó, akkor felteszem én is a kérdést: miért akarod te ezt mindenképp objektumorientáltan megoldani? Tipikusan az ágyúval verébre effektus. Minek osztályok meg példányok, amikor ide semmi más nem kell, mint egyetlen kétdimenziós tömb?
OOP nélkül meg tudnád oldani? Mert ha nem, akkor előbb juss el arra a szintre, hogy egy ilyen egyszerűnek mondható algoritmust meg tudj magadtól írni, majd ha már ezek mennek, utána rátérhetsz az objektumorientáltságra.
Egyébként ha már OOP, a játékos osztály minek? Mit fogsz ebben az osztályban tárolni, és milyen metódusai lesznek?
Mindenféle piszkálódás nélkül: becsülöm a lelkesedésedet, de ha elfogadsz egy informatikustól egy tanácsot: előbb az alapoknál kezdd, és magát a programozást tanuljd meg, és ne nyelvet! Semmit ne cifrázz túl!
Értem.
Akkor megpróbálom OO nélkül.
Az a baj,hogy ha belekezdek egy feladatba akkor sosem sikerül befejeznem.
Kivéve geyszerű feladatokat.
Pl. barátszámpárok kiíratása stb.
Egyébként a nyelvi elemekt elég jól megtanultam még az OO-is.
Tényleg az alkotással van a gon.





Először tervezd meg hogy mit szeretnél pontosan.
Írd le magadnak egy lapra, hogy ezt szeretnéd megcsinálni
Írd le a szabályokat( már az amőbáét)
Gondold végig, hogy milyen függvények kellenek ehhez, milyen adatszerkezetek és milyen változók
Csináld meg az amőba játék grafikáját( ha konzolnál maradsz akkor is), és ha mindenáron oo-ban akarod megcsinálni, akkor is elég egy objektum a szabályoknak és a két játékosnak. a programozásnak az a lényege, tudd a feladatot véges számú elemi lépésre lebontani( algoritmus fogalma)





Nem a nyelvi elemeken fog múlni. A nyelv csak egy eszköz. Egy hasonlattal élve: mint matematikában a szémok és jelek. Attól, mert ismered a számokat, meg az összes műveleti jelet, még nem fogsz tudni se deriválni, se harmadfokú egyenletet megoldani.
A lényeg az algoritmuson van. Mi amikor programozni tanultunk infó fakton, hetekig csak az algoritmustervezést tanultuk. Hogy hogyan lehet egy feladatot elgoritmusokra lebontani. Csak ezek után kezdtük el azt megvalósítani.
Ha jól tervezel meg egy programot, akkor annak a kódolása már szinte csak mechanikus dolog.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!