package main import rl "vendor:raylib" import "core:math/ease" Howtoplay :: struct { using state: GameState, } howtoplay_init :: proc(prev: ^GameState = nil) -> ^GameState { state := new(Howtoplay) state.variant = state state.update = howtoplay_update state.draw = howtoplay_draw state.free = howtoplay_free state.previous = prev return state } howtoplay_update :: proc(state: ^GameState, delta: f32) { howtoplay := transmute(^Howtoplay)state if rl.IsKeyPressed(rl.KeyboardKey.ESCAPE) { stack_pop() } } howtoplay_draw :: proc(state: ^GameState) { howtoplay := transmute(^Howtoplay)state TitleFontSize :: 96 TitleSpacing :: 3 TitleText :: "ARKADODGE" TitleSize := rl.MeasureTextEx(FontTitle, TitleText, TitleFontSize, TitleSpacing) rl.DrawTextPro(FontTitle, "ARKADODGE", {WINDOWF.x - 50, 50}, {TitleSize.x, 0}, 0, 96, 3, rl.WHITE) Text :: [?]cstring{ "Используй Пробел для запуска шара", "Стрелки для перемещения биты", "Не дай шарику упасть вниз!", "", "Также блоки, падающие на биту, уменьшают её здоровье!" } for t, y in Text { rl.DrawTextPro(FontUI, t, {10, 100 + f32(y) * 38}, {0, 0}, 0, 32, 1, rl.WHITE) } for c, t in brick_names { y := cast(i32)t rl.DrawRectangleV({WINDOWF.x / 2, 100 + f32(y) * 40}, {30, 20}, brick_colors[t]) rl.DrawTextPro(FontUI, c, {WINDOWF.x / 2 + 40, 100 + f32(y) * 40}, {0, 14}, 0, 32, 2, rl.WHITE) } } howtoplay_free :: proc(state: ^GameState) { free(state) }