Code in the arduino is fine but the display show nothing

You can disable everything
no mouse
no keyboard
no clipboard
no ect. etc. etc.

This mode requires to tell you each and every step that you must do using your mouse / keyboard
if the mode is set to that I can not use mouse / keyboard etc.

I can not today. Where I am is not my home and my computer is broken at home. I can't until tomorrow unfortunately

This is contradictionary. You are not at home.
You were able to to post screenshots etc.

Your computer at home is broken. So beeing at home would be useless.
Beeing there where you are with a working computer is good.

Well if you think you can waiste more time. It is your decision.

I'm starting to think that you maybe need a completely different lesson:
Failing your examination to finally understand how to set priorities.

Man i already failed. Stop being like this it is not my decision. I just have strict parents. I am not 30 yo

So at what time tomorrow will you continue with this project?

Now i have the time, i came as fast as it was possible.

Where do you want to look through the anydesk? I'm not very comfortable using it with someone I don't know in real life, how can I know I won't get a scam? Tell me anything you'd like to know and I'll send you screenshots or tell me what you'd like to do with it

Hi

You can download a portable version of AnyDesk which will not be installed on your computer.
If you have started AnyDesk I will send an invitation to you
This is the inviation conforming window:

You can reduce the remote-access by deactivating options

YOU can disabling mouse-actions and disabling keyboard-actions
deactivating file-transfer
deactivating sound
deactivating recording
So the only thing that is left active is moving around the mouse-arrow and show a blob if I click the mouse

As long as you don't tell me the AnyDesk ID I have no chance to invite you.
If you have told me the ID-number I can start an inivitation but you can reject the invitation
and terminate the session any time

Another option is to use your smartphone and to do a video-call
So I could see your Computerscreen on the smartphone

I would like to look up your arduino-IDE
looking up what can be seen in the device-manager
what is shown in the serial monitor if you run the I2C-scanner
what is shown in the serial monitor if you run the pong-game

Send me a WhatsApp-message if you are ready for a video-call-session or an anydesk-session
my phone-number is +49 152 / 5636 2179

Okay I am going to download the anydesk.

I now tried some l2c scanner code from internet and the serial monitor tells me that it is scanning but it didnt scan anything and the output said COM5 board is not supported

invite me : 540088637

It say I need to have a paid license to do sessions

For private use it is free

Okay i am waiting

You have to invite me
visiting you through sending an invitation to me
with my number 1414974921

Click the invitation button right from your ID-numner

We should phone in parallel otherwise it will be very dificult

We can do the whatsapp but i dont know if i will understand you

Give it a try

my number +49 152 5636 2179

New codeversion with blinking the onboard led


// --------------------------------------
// i2c_scanner
//
// Version 6, November 27, 2015.
//    Added waiting for the Leonardo serial communication.
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>

const byte onboardLED = 25;


void setup() {
  pinMode(onboardLED, OUTPUT);
  
  Wire.begin();

  Serial.begin(115200);
  //Serial.begin(9600);
  //while (!Serial);             // Leonardo: wait for serial monitor
  for (byte i = 0; i < 16; i++) {
    digitalWrite(onboardLED, HIGH);
    delay(500);
    digitalWrite(onboardLED, LOW);
    delay(500);
    Serial.print("blinking ");
    Serial.println(i);
  }
  Serial.println("\n I2C Scanner");
}


void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    Serial.print("Wire.beginTransmission(");
    Serial.print(address,HEX);
    Serial.print(") result=");
    Serial.println(error);
   
    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address < 16) 
        Serial.print("0");
        
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error == 4)  {
      Serial.print("Unknown error at address 0x");
      if (address < 16) 
        Serial.print("0");
        
      Serial.println(address,HEX);
    }    
  }
  
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

Code-Version-002
New code-version which blinks the onboard led for each adress and the scanning is lsowed down


// --------------------------------------
// i2c_scanner
//
// Version 6, November 27, 2015.
//    Added waiting for the Leonardo serial communication.
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>

const byte onboardLED = 25;


void setup() {
  pinMode(onboardLED, OUTPUT);
  
  Wire.begin();

  Serial.begin(115200);
  //Serial.begin(9600);
  //while (!Serial);             // Leonardo: wait for serial monitor
  for (byte i = 0; i < 16; i++) {
    digitalWrite(onboardLED, HIGH);
    delay(500);
    digitalWrite(onboardLED, LOW);
    delay(500);
    Serial.print("blinking ");
    Serial.println(i);
  }
  Serial.println("\n I2C Scanner");
}


void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    Serial.print("Wire.beginTransmission(");
    Serial.print(address,HEX);
    Serial.print(") result=");
    Serial.println(error);

    digitalWrite(onboardLED, HIGH);
    delay(500);
    digitalWrite(onboardLED, LOW);
    delay(500);

    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address < 16) 
        Serial.print("0");
        
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error == 4)  {
      Serial.print("Unknown error at address 0x");
      if (address < 16) 
        Serial.print("0");
        
      Serial.println(address,HEX);
    }    
  }
  
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

Pong-game Code-version printing source-code-file and blinks onboard led

#include <GyverOLED.h>
#include "Joystick.h"
#include "pong.c"

unsigned long MyTestTimer = 0; // Timer-variables MUST be of type unsigned long
const int    OnBoard_LED = 25; // onboard-LED in RPipico is 25

const int GAME_OVER_SCORE = 10;
const int GAME_SPEED = 40;  //You can go up to 60

const int SCREEN_WIDTH = 128;
const int SCREEN_HEIGHT = 64;

unsigned long last_tick;

int cpu_score = 0;
int player_score = 0;
int state = 0;

GyverOLED<SSH1106_128x64> screen;

void tick(int fps) {
  unsigned long fps_delay = 1000 / fps;
  last_tick += fps_delay;
  unsigned long time_to_delay = last_tick - millis();
  unsigned long wait = max(0, time_to_delay);
  if ( wait > 0) {
    delay(time_to_delay);
  }
  else {
    last_tick = millis();
  }
}

class Paddle {

  protected:
    void LimitMovement()
    {
      if (y < 0)
      {
        y = 0;
      }
      if ( y + height >= screen_height)
      {
        y = screen_height - height;
      }
    }
  public:
    int x, y;
    int width, height;
    int speed;
    int screen_height;

    void Draw() {
      screen.rect(x, y, x + width, y + height, OLED_FILL);
    }

    void Update(char keyPressed)
    {
      if (keyPressed == 'U')
      {
        y -= speed;
      }
      if (keyPressed == 'D')
      {
        y += speed;
      }
      LimitMovement();
    }
};

class Ball {
  public:
    int x, y;
    int radius;
    int speed_x;
    int speed_y;

    void Draw() {
      screen.circle(x, y, radius, 1);
    }

    void Update(Paddle &player, Paddle &cpu) {
      x += speed_x;
      y += speed_y;

      if (y + radius >= SCREEN_HEIGHT - 1)
      {
        speed_y *= -1;
        y = SCREEN_HEIGHT - 1 - radius;
      }

      if ( y - radius <= 1) {
        speed_y *= -1;
      }

      if (x + radius >= SCREEN_WIDTH - 1) {
        cpu_score ++;
        ResetBall();
      }

      if ( x - radius <= 1) {
        player_score++;
        ResetBall();
      }

      if ((x - radius <= cpu.x + cpu.width) && (y + radius > cpu.y) && (y - radius < cpu.y + cpu.height))
      {
        speed_x *= -1;
      }

      if ((x + radius >= player.x) && (y + radius > player.y) && (y - radius < player.y + player.height))
      {
        speed_x *= -1;
      }
    }

    void ResetBall()
    {
      x = SCREEN_WIDTH / 2;
      y = SCREEN_HEIGHT / 2;
    }
};

class CpuPaddle : public Paddle {
  public:
    void Update(Ball &ball)
    {
      if (ball.y > y  && ball.speed_x < 0 && ball.x < SCREEN_WIDTH / 2)
      {
        y += speed;
      }
      if (ball.y < y + height && ball.speed_x < 0 && ball.x < SCREEN_WIDTH / 2)
      {
        y -= speed;
      }
      LimitMovement();
    }
};

void printScore(int x, int y, int score) {
  screen.setCursorXY(x, y);
  screen.setScale(1);
  screen.print(score);
}

void gameOverScreen() {
  screen.clear();
  screen.rect(0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, OLED_STROKE);
  screen.setCursorXY(35, 10);
  screen.print("GAME OVER!");
  if (player_score >= cpu_score)
  {
    screen.setCursorXY(28, 28);
    screen.print("PLAYER WINS!");
  }
  else
  {
    screen.setCursorXY(38, 28);
    screen.print("CPU WINS!");
  }
  screen.update();
}

void startScreen() {
  screen.clear();

  screen.drawBitmap(0, 0, pong, 128, 64, BITMAP_INVERT, BUF_ADD);
  screen.update();
}

Ball ball;
Paddle player;
CpuPaddle cpu;
Joystick joystick;

void setup() {
  Serial.begin(115200);
  delay(3000);
  Serial.println("Setup-Start");
  PrintFileNameDateTime();
  initDisplay();
  Wire.setClock(800000L);
  last_tick = millis();

  ball.x = SCREEN_WIDTH / 2;
  ball.y = SCREEN_HEIGHT / 2;
  ball.radius = 3;
  ball.speed_x = 2;
  ball.speed_y = 2;

  cpu.width = 2;
  cpu.height = 16;
  cpu.x = 3;
  cpu.y = (SCREEN_HEIGHT - 1) / 2 - cpu.height / 2;
  cpu.speed = 2;
  cpu.screen_height = SCREEN_HEIGHT;

  player.width = 2;
  player.height = 16;
  player.x = (SCREEN_WIDTH - 1) - player.width - 3;
  player.y = (SCREEN_HEIGHT - 1) / 2 - player.height / 2;
  player.speed = 2;
  player.screen_height = SCREEN_HEIGHT;
  startScreen();
  MyTestTimer = millis();  
}

void loop() {
  BlinkHeartBeatLED(OnBoard_LED, 250);

  if ( TimePeriodIsOver(MyTestTimer,1000) ) {
    Serial.println("Hello I am the pong-game");
  }  

  joystick.ReadYaxis();
  //Serial.println(joystick.keyPressed);

  if (state == 2) {
    gameOverScreen();
    if (joystick.keyPressed == 'U' || joystick.keyPressed == 'D')
    {
      state = 0;
      player_score = 0;
      cpu_score = 0;
    }

  }
  else if (state == 1)
  {
    screen.clear();
    screen.fastLineV(SCREEN_WIDTH / 2, 0, SCREEN_HEIGHT, 1);
    ball.Update(player, cpu);
    cpu.Update(ball);
    player.Update(joystick.keyPressed);
    ball.Draw();
    player.Draw();
    cpu.Draw();
    printScore(SCREEN_WIDTH / 4, 2, cpu_score);
    printScore(3 * SCREEN_WIDTH / 4, 2, player_score);
    screen.update();
    if (player_score == GAME_OVER_SCORE || cpu_score == GAME_OVER_SCORE)
    {
      state++;
    }

  }
  else if (state == 0)
  {
    Serial.println("State 0");
    if (joystick.keyPressed == 'U' || joystick.keyPressed == 'D')
    {
      state ++;
    }
  }
  tick(GAME_SPEED);
}


void initDisplay() {
  screen.init();
  screen.clear();
  screen.update();
}

void PrintFileNameDateTime() {
  Serial.println( F("Code running comes from file ") );
  Serial.println( F(__FILE__) );
  Serial.print( F("  compiled ") );
  Serial.print( F(__DATE__) );
  Serial.print( F(" ") );
  Serial.println( F(__TIME__) );
}


// easy to use helper-function for non-blocking timing
boolean TimePeriodIsOver (unsigned long &startOfPeriod, unsigned long TimePeriod) {
  unsigned long currentMillis  = millis();
  if ( currentMillis - startOfPeriod >= TimePeriod ) {
    // more time than TimePeriod has elapsed since last time if-condition was true
    startOfPeriod = currentMillis; // a new period starts right here so set new starttime
    return true;
  }
  else return false;            // actual TimePeriod is NOT yet over
}



void BlinkHeartBeatLED(int IO_Pin, int BlinkPeriod) {
  static unsigned long MyBlinkTimer;
  pinMode(IO_Pin, OUTPUT);

  if ( TimePeriodIsOver(MyBlinkTimer, BlinkPeriod) ) {
    digitalWrite(IO_Pin, !digitalRead(IO_Pin) );
  }
}