用Racket做一个拼图游戏——31 创建主程序

31 创建主程序

最后来看一下游戏的主程序。

;puzzle.rkt
;拼图主程序。
#lang racket
(require "main-frame.rkt"
         "main-frame-controler.rkt")
(create-main-frame)
(show-main-frame)
(init-main-frame)
31.1 主程序

主程序是指一个计算机程序中的核心代码,通常是整个程序的最高层次,换句话说就是主函数或入口函数。进程启动后首先会运行主程序,在主程序中做一些初始化操作等,然后再根据需要调用其它模块、函数或子程序。

主程序作为整个程序的核心,承担着对整个程序的掌控和调度任务。主程序的具体功能主要包括:

  • 进行系统初始化,例如读取配置文件、创建必要的对象或数据结构等;

  • 处理命令行参数或用户输入,决定程序执行流程;

  • 调用其它模块或库函数,完成具体的业务逻辑;

  • 进行错误处理、异常处理等操作,确保程序正确稳定地运行;

  • 最终将计算结果输出或保存至文件等。

31.2 拼图主程序

其实Racket语言并不要求一定有主程序的概念,比如以上代码内容放到视图控制模块里完全是可以的。

这里拼图游戏之所以使用了主程序模块,主要是考虑到这样可以使整个程序文件结构化程度更高,各模块逻辑性更强。

在拼图主程序里,完成了如下工作:

  1. 第一部分,文件注释。

    1. 第一行,注释,指明文件名称。文件名称与程序名称一致,这样在后边进行可执行程序编译的时候就可以自动生成与程序名称一致的可执行行文件名称,而不需要单独给一个参数进行指定。

    2. 第二行,注释,对文件内容进行说明。

  2. 第二部分,语言类型说明。之前有讲Racket是能够创造语言的语言,在模块起始位置指定使用的语言是必需的。

  3. 第三部分,指定需求模块。

  4. 第四部分,模块函数调用。调用了以下三个函数:

    • create-main-frame:创建程序主框架窗口,这样就有了一个与客户交互的界面。

    • show-main-frame:显示上边创建的主框架窗口。

    • init-main-frame:视图控制模块的函数对程序主界面的视图进行初始化,其实也是对游戏进行初始化。

这样,程序就可以跑起来了。

用鼠标光标点击DrRacket右上角工具条的Run按钮,程序就会运行起来了。

当然,如果希望游戏有个启动画面,也可以在这个模块里调用。其它的包括程序环境设置等等,都可以在这里完成调用。

相关推荐

  1. Racket一个拼图游戏——31 创建主程序

    2024-07-16 17:32:02       25 阅读
  2. C++一个跑酷游戏

    2024-07-16 17:32:02       31 阅读
  3. c语言一个心算小游戏

    2024-07-16 17:32:02       43 阅读
  4. 【c++】c++类一个猜数字游戏

    2024-07-16 17:32:02       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 17:32:02       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 17:32:02       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 17:32:02       62 阅读
  4. Python语言-面向对象

    2024-07-16 17:32:02       72 阅读

热门阅读

  1. Python使用蓝牙抓包

    2024-07-16 17:32:02       19 阅读
  2. ## 基础知识

    2024-07-16 17:32:02       22 阅读
  3. C# 4.0 等待线程结束

    2024-07-16 17:32:02       26 阅读
  4. leetcode hot 100 刷题记录(medium)

    2024-07-16 17:32:02       24 阅读
  5. git 常用命令: 将代码暂存入缓存区,从栈区取出

    2024-07-16 17:32:02       18 阅读
  6. axios js请求后端的使用直接使用

    2024-07-16 17:32:02       16 阅读
  7. py每日spider案例之影视搜索篇

    2024-07-16 17:32:02       22 阅读
  8. Triple协议 和dubbo协议

    2024-07-16 17:32:02       23 阅读
  9. 靖江美食元宇宙

    2024-07-16 17:32:02       21 阅读
  10. Git---git本地配置commit_template提交模板,规范开发

    2024-07-16 17:32:02       22 阅读