Замечания и предложения по работе форума

но если после трех кавычек поставить ```C

то все нормально))

#define IE(str, n) ((n < sizeof(u##str)/sizeof(u##str[0])) ? (u##str[n] & 0xFF) : 0), ((n < sizeof(u##str)/sizeof(u##str[0])) ? (u##str[n] >> 8) : 0)

#define DECL_EXSTR(name, s, aConst) template<const uint8_t 

StrLen=sizeof(u##s)> struct _##name {};	\
  template<> struct _##name<2>{uint8_t body[2]={2,aConst};};	\
  template<> struct _##name<4>{uint8_t body[4]={4,aConst,IE(s,0)};};	\
  template<> struct _##name<6>{uint8_t body[6]={6,aConst,IE(s,0),IE(s,1)};};	\
  template<> struct _##name<8>{uint8_t body[8]={8,aConst,IE(s,0),IE(s,1),IE(s,2)};};	\
  template<> struct _##name<10>{uint8_t body[10]={10,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3)};};	\
  template<> struct _##name<12>{uint8_t body[12]={12,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4)};};	\
  template<> struct _##name<14>{uint8_t body[14]={14,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5)};};	\
  template<> struct _##name<16>{uint8_t body[16]={16,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6)};};	\
  template<> struct _##name<18>{uint8_t body[18]={18,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7)};};	\
  template<> struct _##name<20>{uint8_t body[20]={20,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8)};};	\
  template<> struct _##name<22>{uint8_t body[22]={22,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9)};};	\
  template<> struct _##name<24>{uint8_t body[24]={24,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10)};};	\
  template<> struct _##name<26>{uint8_t body[26]={26,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11)};};	\
  template<> struct _##name<28>{uint8_t body[28]={28,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12)};};	\
  template<> struct _##name<30>{uint8_t body[30]={30,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13)};};	\
  template<> struct _##name<32>{uint8_t body[32]={32,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13),IE(s,14)};};	\
  template<> struct _##name<34>{uint8_t body[34]={34,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13),IE(s,14),IE(s,15)};};	\
  template<> struct _##name<36>{uint8_t body[36]={36,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13),IE(s,14),IE(s,15),IE(s,16)};};	\
  template<> struct _##name<38>{uint8_t body[38]={38,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13),IE(s,14),IE(s,15),IE(s,16),IE(s,17)};};	\
  template<> struct _##name<40>{uint8_t body[40]={40,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13),IE(s,14),IE(s,15),IE(s,16),IE(s,17),IE(s,18)};};	\
  template<> struct _##name<42>{uint8_t body[42]={42,aConst,IE(s,0),IE(s,1),IE(s,2),IE(s,3),IE(s,4),IE(s,5),IE(s,6),IE(s,7),IE(s,8),IE(s,9),IE(s,10),IE(s,11),IE(s,12),IE(s,13),IE(s,14),IE(s,15),IE(s,16),IE(s,17),IE(s,18),IE(s,19)};};	\
  static constexpr struct _##name<sizeof(u##s)> name;

2 лайка

2 лайка
setup () {
  pinMode ( 13, OUTPUT );
}

А у меня что-то не работает так ((

Или надо добавлять С++ еще? )

почему “непонятным” ? Как раз поянтным - до 10 строк раскрашивает, больше нет

ну видимо ты на PHP код пишешь :rofl:

а тут как же ?

void setup () {
  pinMode ( 13, OUTPUT );
}

А нельзя ли попросить Александра вернуть всё «как было» с оформлением кода?

Подкрутил кое какие настройки вроде работает. По умолчанию синтаксис Arduino
Нажмите Ctrl+F5, чтоб обновить страницу прежде чем пробовать

// Screen: VCC-5V GND-GND SCL-A5 SDA-A4
//Button: 1pin-GND (with a resistor 10KO) 2pin-5V 3pin-D7 4pin-empty

#include <Adafruit_SSD1306.h>

#define BUTTON_PIN 7  // Pin connected to the button

bool isJumping = false;
int dinoY = 40;
int velocity = 0;
const int gravity = 2;
const int groundY = 40;
int cactusX = 128;

Adafruit_SSD1306 display(128, 64, &Wire, -1);

void setup() {
    pinMode(BUTTON_PIN, INPUT);  // Set BUTTON_PIN as input
    
    if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
        while (1);  // If the display is not initialized, stop the program
    }
    
    display.clearDisplay();
}

void loop() {
    static bool buttonPressed = false;
    
    // Button is pressed when the signal is HIGH (due to direct connection to 5V)
    if (digitalRead(BUTTON_PIN) == HIGH && !buttonPressed) {
        buttonPressed = true;
        isJumping = true;
        velocity = -10;  // Jump power
        delay(50);  // Debounce delay to avoid multiple presses
    } 
    
    if (digitalRead(BUTTON_PIN) == LOW) {
        buttonPressed = false; // Reset when button is released
    }

    // Handle jumping physics
    if (isJumping) {
        dinoY += velocity;
        velocity += gravity;
        if (dinoY >= groundY) {
            dinoY = groundY;
            isJumping = false;
        }
    }

    // Move cactus
    cactusX -= 3;
    if (cactusX < -10) cactusX = 128;

    // Draw scene
    display.clearDisplay();
    display.fillRect(10, dinoY, 10, 10, SSD1306_WHITE); // Dino
    display.fillRect(cactusX, groundY, 10, 15, SSD1306_WHITE); // Cactus
    display.drawLine(0, 58, 128, 58, SSD1306_WHITE); // Ground
    display.display();

    // Collision detection
    if (cactusX < 20 && cactusX > 5 && dinoY == groundY) { // Check if the dino is on the ground and cactus is near
        display.clearDisplay();
        display.setTextSize(2);
        display.setTextColor(SSD1306_WHITE);
        display.setCursor(20, 20);
        display.print("Game Over");
        display.display();
        while (1); // Stop the game after Game Over
    }

    delay(50);  // Delay for smooth gameplay
}
3 лайка

Спасибо

Использовал цитату, ибо в некоторых темах нет кнопки “Ответить”, только через цитату:

Спойлер


Это с телефона так, на ПК не обращал внимания.
Вру! С телефона в любой теме нет кнопки “Ответить”.

Упс…лоханулся, согласен. Не ругайте))

@модераторы , @Alexander - почистите тему с #1573 до конца.

https://forum.arduino.ru/t/mne-tolko-sprosit/10185/1573

Ну, в общем-то праздник …

Как говаривал

Думаю все со вчера протрезвели, можно убрать это ограничение?

1 лайк

Иногда бывает нужно выбрать все ответы человека в теме. Для этого нужно кликнуть на его аватарку и выбрать кнопку с воронкой. Но, если публичный профиль пользователя скрыт, эта кнопка отсутствует. Нельзя ли это как-то поправить?

Как-то перебор случился с ограничением снизу на длину сообщения. Раньше, вроде, ограничение поменьше было. А тут … написал человеку “Спасибо!” а оно говорит: хрен там, пиши ещё что-нибудь, чтобы 10 символов было :frowning:

Благодарю!

Как раз 10 символов :smirking_face: