ТС!
Попробую поучить дальше.
Ниже пример небольшого кода. Который иллюстрирует много приемов программирования на С++.
Это уменьшенный “Морской бой” с одним однопалубным карабликом.
Я специально ничего не комментировал, что ты разбирался с задачей.
Задачи
Понять и прокомментировать код.
изменить код добавив второй однопалубный кораблик.
изменить код, для избегания повторных выстрелов в то же поле.
добавить двухпалубный кораблик.
Этих 4-х задач должно хватить на одну неделю. Если потребуется дольше - это плохой признак!
constexpr int SIZE = 4;
class Coordinates {
private:
int x;
int y;
public:
Coordinates (int _x, int _y) {
x = _x;
y = _y;
}
Coordinates () {
x = random(0, SIZE);
y = random(0, SIZE);
}
int getx () {
return x;
}
int gety () {
return y;
}
};
class Mymap {
private:
Coordinates * ship;
public:
Mymap () {}
~Mymap() {
if (ship != NULL) delete (ship);
}
void init () {
ship = new Coordinates();
Serial.print("Корабль на поле: ");
Serial.print(ship->getx());
Serial.print(" : ");
Serial.print(ship->gety());
Serial.println();
}
bool shot(int x, int y) {
Serial.print("Выстрел по полю: ");
Serial.print(x);
Serial.print(" : ");
Serial.print(y);
Serial.print(">>>>");
if (x == ship->getx() && y == ship->gety()) {
Serial.println("Попал!");
return true;
}
else {
Serial.println("Мимо");
return false;
}
}
};
Mymap mymap;
void setup() {
randomSeed(analogRead(0));
Serial.begin(115200);
mymap.init();
}
void loop() {
static int counter = 1;
Serial.print("Попытка №");
Serial.print(counter++);
Serial.print(" ");
if (mymap.shot(random(0, SIZE), random(0, SIZE)))
for (;;);
delay(1000);
}
специально. Мне важно показать КАК именно на МК останавливают работу. Эту строчку он, если будет читать чужой код, увидит в жизни чаще, чем каждый день.
Я уже видел на форуме неадекватную реакцию на такой прием. Если уж учить - то нормально учить. Правильно.
У меня русского 3 класса образования и я понял ТС так «читаю книгу книгу по C++, в ней 1000 страниц»
Если бы ТС имел ввиду «читаю 1000ую страницу» ,хотелось бы верить, то написал бы «читаю книга с++ на 1000 странице сейчас» , что вообще не говорит о том что были прочтены 999 до этого. .
ну что сказать - вас двое.
поздравляю!
понять вас - мне надо выкинуть, а точнее свести, свой уровень образования до вашего. я даже не знаю сколько это стоит, даже в биткоинтах, и надо оно мне.