吴侃的汇编HappyQQT1:实战项目,256色QQ堂与AI对决

需积分: 0 1 下载量 25 浏览量 更新于2024-08-04 收藏 157KB DOCX 举报
吴侃同学的汇编大作业作品——Happy QQT 1是基于ASM语言实现的一个复古风格的QQ堂游戏。此项目展示了汇编语言在图形界面、操作系统交互以及游戏逻辑设计中的应用。以下是主要知识点的详细介绍: 1. 游戏基础: - 游戏名称及作者: Happy QQT 1由吴侃同学完成,学号14348134,属于2014级计算机系一班。 - 游戏特性: 游戏采用VGA 320x200 256色模式,支持FAT12文件系统,实现了时钟中断和端口调色板,提供了一个流畅且色彩丰富的游戏体验。 2. 视频显示技术: - 视频模式设置: 通过设置AH寄存器为0,AL寄存器为13H,利用中断0x13进入320x200的视频模式,确保清晰的图像显示。 - 视频内存与缓存: 使用内存段作为绘制缓存,将图像绘制到内存后再复制到显存,避免了颜色层次问题。 - 颜色处理: 采用3位红(R)和绿(G)分量,以及2位蓝(B)分量表示每个像素,通过端口设置调色板来控制颜色。 3. 游戏操作与机制: - 操作方式: 方向键控制角色移动,空格键用于开始游戏或在游戏结束后返回主菜单。 - 剧情设定: 游戏背景是糖果王国,玩家需对抗年兽,保护糖果免受足球炸弹的威胁。 - 角色与敌人: 年兽有5点生命值,玩家需要通过踢足球来击败它。 4. 硬件与软件环境: - 实验平台: 在物理机上运行ArchLinux 4.5.4-1,使用qemu-system-i386和Bochs进行调试,虚拟机配置为Intel i7-4702MQ处理器,单核单线程,4MB内存,32MB硬盘。 - 开发工具: 编辑器采用Vim 7。 5. 图片处理: - 图片存储采用了二进制格式,通过Python脚本tu.py将PNG或JPG格式的图片转换成二进制数据,以便于文件系统内的加载。 6. 文件系统管理: - 由于图片文件过大,无法直接存储在固定段地址,因此使用FAT12文件系统进行管理,允许从文件系统中动态加载不同大小的图片。 这个汇编大作业作品充分展示了吴侃同学在低级编程语言中的扎实功底,不仅实现了基本的游戏功能,还注重了性能优化和用户体验,是一次成功的汇编实践。