当前位置: 首页 > news >正文

基于ubuntu和树莓派环境对游戏进行移植

目录

一、在Ubuntu中对波斯王子游戏进行移植

1.1修改Ubuntu系统的仓库镜像网站为国内网站

1.2安装mininim 软件所依赖的库 

1.3 编译mininim 软件 

二、在树莓派中对波斯王子游戏移植

2.1安装相关环境

2.3编译mininim 软件

三、使用树莓派实现流水灯


一、在Ubuntu中对波斯王子游戏进行移植

1.1修改Ubuntu系统的仓库镜像网站为国内网站

$ sudo cp /etc/apt/sources.list  /etc/apt/sources.list.bak$ sudo gedit /etc/apt/sources.list

打开sources.list,把文件原内容全部删除,改为以下文本内容(以ubuntu18.04为例,其他版本不一样):

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

然后保存文件,运行下面代码看是否从清华源下载的

sudo apt-get update

1.2安装mininim 软件所依赖的库 

1. 用apt-get remove命令清除干净之前可能安装过的各项allegro5依赖库(如果系统没有这些库,也不报错)

sudo apt-get remove liballegro5-dev liballegro-image5-dev liballegro-audio5-dev liballegro
acodec5-dev liballegro-dialog5-dev

 2. 用apt-get install 命令安装各种make、gcc等编译工具链软件(以防Ubuntu系统没有,如果已用有,则会自动下载更新到合适版本或最新版本),gnulib和lua50库等。

sudo apt-get install automake autoconf gcc make cmake gnulib libcanberra-gtk-module lua50 
liblua50-dev liblualib50-dev libreadline-dev

3. 用 apt-get build-dep 命令检测 allegro5游戏库的环境依赖是否完整,自动下载必要的依赖项,为编译 Allegro5 源码做好环境准备。

sudo apt-get build-dep allegro5

 4. 从git源码仓库下载mininim 需要的allegro5.x 版本源码。因为之前下过用ls命令可以看见有allegro5_v5.2.5目录

git clone https://gitee.com/flycloud2009_cloudlou/allegro5_v5.2.5.git

然后,先cd 进入游戏源代码主目录下, 再ls  显示一下目录中的文件, 你会看见文件中有一个CMakeLists.txt 文件,但是没有 Makefile 文件。

cd allegro5_v5.2.5ls -l

在此目录下,创建 一个 build 子目录,再cd 进入 build子目录

mkdir buildcd build

 先运行cmake, 注意后面 带的参数是两个 .., .. 代表上一级目录,这条命令是然 cmake 读取上一级目录下的 CMakeLists.txt 文件。

cmake ..

此时,在当前目录build 下,再 ls -l 一下,会看见出现许多目录和文件,其中就用 Makefile文件,文件日期是最新时间。有了 Makefile文件,就可以进入Linux系统 代码编译流程的常规第二步: make 从源码生成二进制库或可执行文件

make

如果make 成功完成 (没有出现错误信息),在build目录下就会生成lib和include等子目录,如下:

lib目录中主要是allegro5 的各种库,主要是动态库,已经成功创建。文件名一般是 liballegroxxx.so.5.2.5 ,如果你用ls 查看 lib目录下的文件

ls -al lib

运行下面命令,make 会按照Makefile中 install对应的项目规则(主要是一些 cp 命名),把相关库文件复制到公共系统目录中。

sudo make install

这一步 安装游戏引擎allegro5 (准确是5.2.5 版本)就完成了。 为了稳妥起见,可以运行一下上面make编译 allegro5.2.5 库时,它顺带编译生成的一些demo游戏程序,看是否能正常运行。
做法如下,进入examples目录,选择一个程序运行:

cd examples./ex_multiwin

如果程序出现窗口,表示代码正常运行,就可以退出了。

1.3 编译mininim 软件 

接着上面的步骤继续。 下载mininim仓库源码,进行编译。 此时你的工作目标应该重新返回到home目录下(假定是 /home/lyy)。

cd  /home/lyy

然后下载mininim仓库源码。

git clone https://gitee.com/flycloud2009_cloudlou/mininim.git

下载成功后,进入游戏目录,进行环境准备(运行作者写的脚本文件 bootstrap),执行常规的环境依赖配置(运行作者写的configure)

./bootstrap

然后继续

./configure LUA_LIB="-llua50 -llualib50"

如果上面都没有出错,目录下将生成 Makefile 文件。
正式编译 mininim 源代码:

make

如果没有出错,当前目录下 出现一个游戏程序文件 mininim,运行它

./mininim

最后可以看到游戏界面

二、在树莓派中对波斯王子游戏移植

2.1安装相关环境

下载相关安装包时,树莓派可能找不到相应包,我们可以指定从清华源里面找相关安装包。

2.2 安装mininim 软件所依赖的库

1.用apt-get install 命令安装各种make、gcc等编译工具链软件(以防Ubuntu系统没有,如果已用有,则会自动下载更新到合适版本或最新版本),gnulib和lua50库等。

sudo apt-get install automake autoconf gcc make cmake gnulib libcanberra-gtk-module lua50 
liblua50-dev liblualib50-dev libreadline-dev

2. 用 apt-get build-dep 命令检测 allegro5游戏库的环境依赖是否完整,自动下载必要的依赖项,为编译 Allegro5 源码做好环境准备。

sudo apt-get build-dep allegro5

3.从git源码仓库下载mininim 需要的allegro5.x 版本源码。

git clone https://gitee.com/flycloud2009_cloudlou/allegro5_v5.2.5.git

4.然后,先cd 进入游戏源代码主目录下,

cd allegro5_v5.2.5ls -l

5.在此目录下,创建 一个 build 子目录,再cd 进入 build子目录中

mkdir buildcd build

 运行cmake

cmake ..

6. make 从源码生成二进制库或可执行文件

make

如果make 成功完成 (没有出现错误信息),在build目录下就会生成lib和include等子目录,如下:

7.lib目录中主要是allegro5 的各种库,主要是动态库,已经成功创建。文件名一般是 liballegroxxx.so.5.2.5 ,如果你用ls 查看 lib目录下的文件

ls -al lib
sudo make install

2.3编译mininim 软件

1.后下载mininim仓库源码

git clone https://gitee.com/flycloud2009_cloudlou/mininim.git

2.下载成功后,进入游戏目录,进行环境准备(

./bootstrap

然后继续

./configure LUA_LIB="-llua50 -llualib50"

3. 正式编译 mininim 源代码

make

4.编译后运行

./mininim

三、使用树莓派实现流水灯

本次实验主要使用python代码实现相应流水灯操作

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
# BCM GPIO编号
pins = [17,18,27,22,23,24,25,4]
def setup():# 采用BCM编号GPIO.setmode(GPIO.BCM)# 设置所有GPIO为输出状态,且输出低电平for pin in pins:GPIO.setup(pin, GPIO.OUT)GPIO.output(pin, GPIO.LOW)
def loop():while True:# 循环点亮for pin in pins:GPIO.output(pin, GPIO.HIGH)time.sleep(0.5)GPIO.output(pin, GPIO.LOW)time.sleep(0.5)
def destroy():for pin in pins:GPIO.output(pin, GPIO.LOW)GPIO.setup(pin, GPIO.IN)
if __name__ == '__main__':# 初始化GPIOsetup()try:loop()except KeyboardInterrupt:# 恢复GPIO口状态destroy()

实现效果如下:

树莓派实现流水灯

总结

移植游戏的过程中会因为环境出现很多问题,不能解决的可以问AI大模型,一般可以得到解决。

相关文章:

  • imx6ull(0):烧录、启动
  • JavaSE:面向对象进阶之内部类(Inner Class)
  • Uiverse.io:免费UI组件库
  • 通信革新与网络安全探索与创新:开启未来之门
  • MySQL-多表关系、多表查询
  • 绿盟 IPS 设备分析操作手册
  • 详细解析2MHz和3MHz压电陶瓷片的区别
  • TomSolver 库 | config详解及其测试
  • 嵌入式Linux 期末复习指南(下)
  • Java如何读取CSV文件并将数据放入对象中详解
  • GMDCMonitor企业版功能分享0602
  • Python列表、字典、元组、集合
  • 系统级 EOS 测试方法 - System Level EOS Testing Method
  • 【设计模式-3.5】结构型——装饰器模式
  • window ollama部署模型
  • Node.js 中使用 Express 框架系统详细讲解
  • 有公网ip但外网访问不到怎么办?内网IP端口映射公网连接常见问题和原因
  • 制作个人Github学术主页
  • Redis持久化机制详解:RDB与AOF的深度剖析
  • 超声波测距三大算法实测对比
  • 网站方案书/郑州百度搜索优化
  • 招工哪个平台最真实/项链seo关键词
  • 网站建设公司起名/关键词排名的工具
  • 数据线 东莞网站建设/杭州seo公司
  • 房产网站建设方案/南京seo代理
  • 深圳百度网站推广/网站收录大全