i32 main(i32 argc, str argv[]) { i32 screen_width = 800 i32 screen_height = 450 str username = argv[1] str password = argv[2] Player me(username=username, pos=(0.0, 1.0, 2.0), apperance=PURPLE) Player[] players = me.login(password) Camera3D camera(pos = (me.pos.x, me.pos.y + 10.0, me.pos.z + 10.0), //Camera pos target = (me.pos.x, me.pos.y, me.pos.z), //Camera looking at point up = (0.0, 1.0, 0.0), //Camera up vector(rotation towards target) fovy = 45.0, //Camera field - of - view Y projection = CAMERA_PERSPECTIVE) //Camera projection type init_window(screen_width, screen_height, "zwl client : raylib") set_target_fps(60) //Main game loop do while (.not. window_should_close()) { // Detect window close button or ESC key if (is_key_down(KEY_RIGHT)) { me.pos.x = me.pos.x + 0.2 player_updated = .true. } else if (is_key_down(KEY_LEFT)) { me.pos.x = me.pos.x - 0.2 player_updated = .true. } else if (is_key_down(KEY_DOWN)) { me.pos.z = me.pos.z + 0.2 player_updated = .true. } else if (is_key_down(KEY_UP)) { me.pos.z = me.pos.z - 0.2 player_updated = .true. } me.sync_camera(camera) if (player_updated) { players = me.move() } else { players = me.ping() } begin_drawing() clear_background(RAYWHITE) begin_mode_3d(camera) // Draw floor draw_grid(30, 1.0) draw_cube(me.pos, 0.5, 0.5, 0.5, me.apperance) do (int i = 0; size(players)) { draw_cube(players[i].pos, 0.5, 0.5, 0.5, players[i].apperance) } end_mode_3d() end_drawing() } players = me.logout() close_window() //Close window and OpenGL context }