用Julia制作游戏—秋名山豆腐店

这个项目展示了如何用Julia编写一个点击类的游戏,GUI是由Gtk4.jl创建的,可执行文件是用PackageCompiler.jl打包的。
GUI_pic

Gtk4.jl可以做到一些简单的GUI布局,例如创建信息栏和选项卡。

win = GtkWindow("秋名山豆腐店v1.1", 600, 440)
win[] = paned = GtkPaned(:v)
paned.position = 70
  
statsBox = GtkBox(:v) # GtkBox()是一维布局,GtkGrid()是二维布局
statsBox.valign = Gtk4.Align(3) # 1-靠左 2-靠右 3-居中
statsBox.vexpand = true
paned[1] = statsBox # 上方统计信息栏
paned[2] = notebook = GtkNotebook()  # 下方选项卡

中间省略,可以查看源码,最后是计数器,每隔一段时间刷新一下豆腐数:

# 更新计数器的函数,每秒增加drate的值
function update_counter()
    counter += 0.1 * car_rate
    Gtk4.markup(toulable, "<span font='14'>" * string(round(Int64, counter), " 块豆腐") * "</span>")
    update_button_states()  # 刷新按钮激活状态
    return true  # 返回 true 以保持循环
end
g_timeout_add(update_counter, 100) # 每0.1秒更新一次计数器

文件目录看起来像这样:
Toufu
├─ Manifest.toml
├─ precompile_app.jl
├─ Project.toml
└─ src
└─ Toufu.jl

在precompile_app.jl中写入

using Toufu
Toufu.julia_main()

最后用PackageCompiler.jl打包

using PackageCompiler
create_app("Toufu", "ToufuCompiled", force=true)

这样就完成了一个桌面应用程序的创建。学会之后就可以自己做游戏了。
源码:Toufu-game

2 个赞