Skip to content

Instantly share code, notes, and snippets.

@ongaeshi
Last active November 15, 2023 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ongaeshi/8476063760b4495dd2eac9739af1f1e9 to your computer and use it in GitHub Desktop.
Save ongaeshi/8476063760b4495dd2eac9739af1f1e9 to your computer and use it in GitHub Desktop.
def make_markdown_table(list)
lines = list.split("\n")
lines.map do |line|
path = line.gsub("./", "")
url = "https://github.com/DragonRuby/dragonruby-game-toolkit-contrib/blob/main/samples/#{path}/app/main.rb"
"| [#{path}](#{url}) | | | "
end.join("\n")
end#{path}
lists = <<EOS
./00_learn_ruby_optional/00_beginner_ruby_primer
./00_learn_ruby_optional/00_intermediate_ruby_primer
./01_rendering_basics/01_labels
./01_rendering_basics/01_labels_text_wrapping
./01_rendering_basics/02_lines
./01_rendering_basics/03_solids_borders
./01_rendering_basics/04_sprites
./01_rendering_basics/05_sounds
./02_input_basics/01_keyboard
./02_input_basics/01_moving_a_sprite
./02_input_basics/02_mouse
./02_input_basics/03_mouse_point_to_rect
./02_input_basics/04_mouse_drag_and_drop
./02_input_basics/04_mouse_rect_to_rect
./02_input_basics/05_controller
./02_input_basics/06_touch
./02_input_basics/07_managing_scenes
./03_rendering_sprites/01_animation_using_separate_pngs
./03_rendering_sprites/02_animation_using_sprite_sheet
./03_rendering_sprites/03_animation_states
./03_rendering_sprites/03_animation_states_advanced
./03_rendering_sprites/03_animation_states_intermediate
./03_rendering_sprites/04_color_and_rotation
./04_physics_and_collisions/01_simple
./04_physics_and_collisions/01_simple_aabb_collision
./04_physics_and_collisions/01_simple_aabb_collision_with_map_editor
./04_physics_and_collisions/02_moving_objects
./04_physics_and_collisions/03_entities
./04_physics_and_collisions/04_box_collision
./04_physics_and_collisions/05_box_collision_2
./04_physics_and_collisions/06_box_collision_3
./04_physics_and_collisions/07_jump_physics
./04_physics_and_collisions/08_bouncing_on_collision
./04_physics_and_collisions/09_arbitrary_collision
./04_physics_and_collisions/10_collision_with_object_removal
./04_physics_and_collisions/11_bouncing_ball_with_gravity
./04_physics_and_collisions/12_ramp_collision
./05_mouse/01_mouse_click
./05_mouse/02_mouse_move
./05_mouse/03_mouse_move_paint_app
./05_mouse/04_coordinate_systems
./05_mouse/05_clicking_buttons
./06_save_load/00_reading_writing_files
./06_save_load/01_save_load_game
./07_advanced_audio/01_audio_mixer
./07_advanced_audio/02_sound_synthesis
./07_advanced_rendering/00_labels_with_wrapped_text
./07_advanced_rendering/00_rotating_label
./07_advanced_rendering/01_render_targets_clip_area
./07_advanced_rendering/01_render_targets_combining_sprites
./07_advanced_rendering/01_simple_render_targets
./07_advanced_rendering/02_coordinate_systems_and_render_targets
./07_advanced_rendering/02_render_targets_thick_lines
./07_advanced_rendering/02_render_targets_with_tile_manipulation
./07_advanced_rendering/03_render_target_viewports
./07_advanced_rendering/04_render_primitive_hierarchies
./07_advanced_rendering/05_render_primitives_as_hash
./07_advanced_rendering/06_buttons_as_render_targets
./07_advanced_rendering/06_pixel_arrays
./07_advanced_rendering/06_pixel_arrays_from_file
./07_advanced_rendering/07_shake_camera
./07_advanced_rendering/07_simple_camera
./07_advanced_rendering/07_simple_camera_multiple_targets
./07_advanced_rendering/08_splitscreen_camera
./07_advanced_rendering/09_z_targeting_camera
./07_advanced_rendering/10_camera_and_large_map
./07_advanced_rendering/11_blend_modes
./07_advanced_rendering/12_render_target_noclear
./07_advanced_rendering/13_lighting
./07_advanced_rendering/14_triangles
./07_advanced_rendering/15_triangles_trapezoid
./07_advanced_rendering/16_camera_space_world_space_simple
./07_advanced_rendering/16_camera_space_world_space_simple_grid_map
./07_advanced_rendering/16_matrix_and_triangles_2d
./07_advanced_rendering/16_matrix_and_triangles_3d
./07_advanced_rendering/16_matrix_camera_space_world_space
./07_advanced_rendering/16_matrix_cubeworld
./07_advanced_rendering/17_override_core_rendering
./07_advanced_rendering/18_layouts
./07_advanced_rendering_hd/01_hd_labels
./07_advanced_rendering_hd/02_texture_atlases
./07_advanced_rendering_hd/03_allscreen_properties
./07_advanced_rendering_hd/04_layouts_and_portrait_mode
./08_tweening_lerping_easing_functions/01_easing_functions
./08_tweening_lerping_easing_functions/02_cubic_bezier
./08_tweening_lerping_easing_functions/03_easing_using_spline
./08_tweening_lerping_easing_functions/04_pulsing_button
./08_tweening_lerping_easing_functions/05_scene_transitions
./08_tweening_lerping_easing_functions/06_animation_queues
./08_tweening_lerping_easing_functions/07_animation_queues_advanced
./08_tweening_lerping_easing_functions/08_cutscenes
./09_performance/01_sprites_as_hash
./09_performance/02_sprites_as_entities
./09_performance/04_sprites_as_strict_entities
./09_performance/05_sprites_as_classes
./09_performance/06_static_sprites_as_classes
./09_performance/07_static_sprites_as_classes_with_custom_drawing
./09_performance/08_collision_limits
./09_performance/09_collision_limits_aabb
./09_performance/09_collision_limits_find_single
./09_performance/09_collision_limits_many_to_many
./09_ui_controls/01_checkboxes
./10_advanced_debugging/00_logging
./10_advanced_debugging/03_unit_tests
./11_http/01_retrieve_images
./11_http/02_in_game_web_server_http_get
./11_http/03_in_game_web_server_http_post
./12_c_extensions/01_basics
./12_c_extensions/02_intermediate
./12_c_extensions/03_native_pixel_arrays
./12_c_extensions/04_handcrafted_extension
./12_c_extensions/04_handcrafted_extension_advanced
./12_c_extensions/05_ios_c_extensions
./13_path_finding_algorithms/01_breadth_first_search
./13_path_finding_algorithms/02_detailed_breadth_first_search
./13_path_finding_algorithms/03_breadcrumbs
./13_path_finding_algorithms/04_early_exit
./13_path_finding_algorithms/05_dijkstra
./13_path_finding_algorithms/06_heuristic
./13_path_finding_algorithms/07_heuristic_with_walls
./13_path_finding_algorithms/08_a_star
./13_path_finding_algorithms/09_tower_defense
./99_genre_3d/01_3d_cube
./99_genre_3d/02_wireframe
./99_genre_3d/03_yaw_pitch_roll
./99_genre_3d/04_ray_caster
./99_genre_3d/04_ray_caster_advanced
./99_genre_arcade/bullet_hell
./99_genre_arcade/dueling_starships
./99_genre_arcade/flappy_dragon
./99_genre_arcade/pong
./99_genre_arcade/snakemoji
./99_genre_arcade/solar_system
./99_genre_arcade/sound_golf
./99_genre_arcade/squares
./99_genre_arcade/twinstick
./99_genre_board_game/01_fifteen_puzzle
./99_genre_boss_battle/boss_battle_game_jam
./99_genre_crafting/craft_game_starting_point
./99_genre_crafting/farming_game_starting_point
./99_genre_dev_tools/add_buttons_to_console
./99_genre_dev_tools/animation_creator_starting_point
./99_genre_dev_tools/frame_by_frame
./99_genre_dev_tools/tile_editor_starting_point
./99_genre_dungeon_crawl/classics_jam
./99_genre_fighting/01_special_move_inputs
./99_genre_lowrez/nokia_3310
./99_genre_lowrez/resolution_64x64
./99_genre_mario/01_jumping
./99_genre_mario/02_jumping_and_collisions
./99_genre_platformer/clepto_frog
./99_genre_platformer/gorillas_basic
./99_genre_platformer/shadows
./99_genre_platformer/the_little_probe
./99_genre_rpg_narrative/choose_your_own_adventure
./99_genre_rpg_narrative/return_of_serenity
./99_genre_rpg_roguelike/01_roguelike_starting_point
./99_genre_rpg_roguelike/02_roguelike_line_of_sight
./99_genre_rpg_tactical/hexagonal_grid
./99_genre_rpg_tactical/isometric_grid
./99_genre_rpg_topdown/topdown_casino
./99_genre_rpg_topdown/topdown_starting_point
./99_genre_rpg_turn_based/turn_based_battle
./99_genre_simulation/sand_simulation
./99_genre_twenty_second_games/twenty_second_starting_point
EOS
puts make_markdown_table(lists)
@ongaeshi
Copy link
Author

ongaeshi commented Nov 15, 2023

Ruby on Browser で実行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment