UEFI Shell 下的俄罗斯方块游戏

UEFI Shell 下的俄罗斯方块游戏

最近移植了几个基于ncurses/pdcurses库的游戏到EFI环境下。

以下记录以下俄罗斯方块游戏的移植步骤。

0.必备知识

  • 会使用C语言编写程序
  • 了解UEFI的基本概念
  • 懂得如何在EDK2里编译Module
  • 会使用StdLib包来写Application

1.找到tetris的源代码

https://github.com/brenns10/tetris

截图如下:

2.写inf文件

# @tetris.inf
# Author : Gao Ling
# Date   : 2019-09-20
# Original Src if from https://github.com/brenns10/tetris

[Defines]
  INF_VERSION                    = 0x00010006
  BASE_NAME                      = tetris 
  FILE_GUID                      = 7C368543-4801-4915-A179-569A71C4D1AA
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 0.1
  ENTRY_POINT                    = ShellCEntryLib
  
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#

[Sources]
  main.c
  tetris.c
  tetris.h
  util.c
  util.h

[Packages]
  StdLib/StdLib.dec
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ShellPkg/ShellPkg.dec
  PdCursesPkg/PdCursesPkg.dec

[LibraryClasses]
  ShellCEntryLib
  EzCursesLib
  LibC

[BuildOptions]
  MSFT:*_*_*_CC_FLAGS = /wd4244 /wd4267 /wd4428

其中EzCursesLib是efi下的curses库,基于PdCurses。

3.编译运行

把inf路径放到dsc里编译。运行结果如下:

4.应用场景

闲来无聊时可以玩玩。或者可以在POST时先执行这个application,必须玩到超过特定的分数才允许启动OS。

5.源代码下载

点此下载

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值