64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
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
 | 
						|
}
 |