课程设计说明书
学生信息
系别计算机工程学院专业计算机科学与技术
班级姓名学号
课程设计信息
课程名称嵌入式网络协议及其应用开发课程设计
课程设计题目基于SDL的记忆小游戏
课程设计时间学期第 1~16 周
小组情况指导教师
批改情况
成绩评阅教师批改时间
2011-2012学年第2 学期
目录
1.课程设计内容 (3)
2.课程设计目的 (3)
3.背景知识 (3)
4.工具/准备工作 (4)
5.设计步骤与方法 (4)
5.1. 步骤1:在photoshop下编辑图片 (4)
5.2. 步骤2:编译程序 (4)
5.2.1. 步骤2.1:安装SDL (4)
5.2.2. 步骤2.2:linux下编译执行 (5)
5.3. 步骤4:设计游戏代码 (5)
6.设计结果及分析 (17)
7.设计结论 (17)
8.问题及心得体会 (17)
9.对本设计过程及方法、手段的改进建议 (17)
10.任务分配 (17)
11.参考文献 (17)
课程设计报告
1. 课程设计内容
本课程设计的内容是设计一个基于SDL的记忆小游戏。
2. 课程设计目的
考察自己对课程的掌握程度,以及自己实际的动手能力,编程能力。
3. 背景知识
网络应用程序的基本实现方法
网络游戏的基本实现原理
●SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它
是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。
●这些多媒体功能包括了音频、键盘和鼠标(事件)、游戏摇杆等。
●当然,最为重要的是提供了2D图形帧缓冲(framebuffer)的接口,
以及为OpenGL与各种操作系统之间提供了统一的标准接口以实现3D图
形。
●SDL是一个跨平台的多媒体函数库,被用来设计成在低层访问音频,
键盘,鼠标,游戏杆,基于OPENGL(一个3D图象开发函数库)的3D 硬
件,和2D图象帧缓冲区。它被广泛的用于基于MPEG的媒体播放软件,模
拟器,和许多著名的游戏。
●SDL是一个跨平台的函数库,几乎支持现今所有平台:Linux, Windows,
Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX。
4. 工具/准备工作
硬件:
安装有windowsXP 以上版本的操作系统PC 机一台
建议配置是CPU PIV 以上,512M 内存以上, 20G 硬盘空间以上
ARM2200教学实验开发平台
软件:
安装Photoshop
VMware 6.0,debian
5. 设计步骤与方法
5.1. 步骤1:在photoshop 下编辑图片
5.2. 步骤2:编译程序
5.2.1. 步骤2.1:安装SDL
使用命令“sdl-config -cflags ”来检查是否已安装SDL 。如果没有安装,可以选择上网安装,或从源码包安装:
上网安装:首先确保能联上internet (如果没有联上互联网可参考《Linux 相关
实验常见问题.doc 》).并在命令行下输入 :apt-get install libsdl1.2-dev
libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev。系统将自动完成安装 从源码包安装:拷贝SDL-1.2.13.tar.gz至linux主机/home/test目录,然后执行命令:tar xvzf tar xvzf SDL-1.2.13.tar.gz SDL-1.2.13.tar.gz, 执行后,将在本地生成一个SDL-1.2.13的目录,进入这个目录,在root权限下,依次执行./configure;
make; make install
5.2.2.步骤2.2:linux下编译执行
1)将源文件sdl_simple_game.cpp拷贝到linux主机
2)进行编译:g++ -o t sdl_simple_game.cpp –L/usr/lib –lSDL,生成
可执行文件
3)执行 ,在命令行输入./t
5.3. 步骤4:设计游戏代码
//The headers
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include
#include
//Screen attributes
const int SCREEN_WIDTH = 721;
const int SCREEN_HEIGHT = 721;
const int SCREEN_BPP = 32;
//The frames per second
const int FRAMES_PER_SECOND = 10;
//The dimenstions of the stick figure
const int FOO_WIDTH = 180;
const int FOO_HEIGHT = 180;
const int Begin=0;
const int Run=1;
const int End=2;
bool flag[4][4];
int tu[4][4];
int tu_x;
int tu_y;