1.定义窗口大小,棋盘大小

SDL_GetWindowSize()读取窗口大小,

由于棋盘是15*15格局,上下留白一行,在另外加一个状态行,所以每行高度为width/17

2.图片加载

surface = IMG_Load(file)

texture = SDL_CreateTextureFromSurface(render, surface)

free(surface)

return texture;

3.文字加载

pFont = TTF_OpenFont(FontFile, 20)

surface = TTF_RenderUTF8_Blended(pFont, string, color)

texture = SDL_CreateTextureFromSurface(render, surface)

free(surface)

return texture

4.绘制

SDL_RenderClear(pRenderer); 先清空

SDL_RenderCopyEx(pRenderer, pBackTexture, NULL, NULL, 0, NULL, SDL_FLIP_NONE);拷贝texture

//src_rect//dst//angle//center

SDL_RenderPresent(pRenderer);提交显示

5.绘制接口

SDL_RenderDrawLine(SDL_Renderer * renderer, int x1, int y1, int x2, int y2) 画线

SDL_SetRenderDrawColor(SDL_Renderer * renderer, Uint8 r, Uint8 g, Uint8 b, Uint8 a)设置render颜色

SDL_RenderFillRect(SDL_Renderer * renderer, const SDL_Rect * rect)填充颜色

6.事件监听

SDL_QUIT

/* Window events */

SDL_WINDOWEVENT    = 0x200, /**< Window state change */

SDL_SYSWMEVENT,             /**< System specific event */

/* Keyboard events */

SDL_KEYDOWN        = 0x300, /**< Key pressed */

SDL_KEYUP,                  /**< Key released */

SDL_TEXTEDITING,            /**< Keyboard text editing (composition) */

SDL_TEXTINPUT,              /**< Keyboard text input */

SDL_KEYMAPCHANGED,          /**< Keymap changed due to a system event such as an

input language or keyboard layout change.

*/

/* Mouse events */

SDL_MOUSEMOTION    = 0x400, /**< Mouse moved */

SDL_MOUSEBUTTONDOWN,        /**< Mouse button pressed */

SDL_MOUSEBUTTONUP,          /**< Mouse button released */

SDL_MOUSEWHEEL,             /**< Mouse wheel motion */

/* Joystick events */

SDL_JOYAXISMOTION  = 0x600, /**< Joystick axis motion */

SDL_JOYBALLMOTION,          /**< Joystick trackball motion */

SDL_JOYHATMOTION,           /**< Joystick hat position change */

SDL_JOYBUTTONDOWN,          /**< Joystick button pressed */

SDL_JOYBUTTONUP,            /**< Joystick button released */

SDL_JOYDEVICEADDED,         /**< A new joystick has been inserted into the system */

SDL_JOYDEVICEREMOVED,       /**< An opened joystick has been removed */

/* Game controller events */

SDL_CONTROLLERAXISMOTION  = 0x650, /**< Game controller axis motion */

SDL_CONTROLLERBUTTONDOWN,          /**< Game controller button pressed */

SDL_CONTROLLERBUTTONUP,            /**< Game controller button released */

SDL_CONTROLLERDEVICEADDED,         /**< A new Game controller has been inserted into the system */

SDL_CONTROLLERDEVICEREMOVED,       /**< An opened Game controller has been removed */

SDL_CONTROLLERDEVICEREMAPPED,      /**< The controller mapping was updated */

/* Touch events */

SDL_FINGERDOWN      = 0x700,

SDL_FINGERUP,

SDL_FINGERMOTION,

/* Gesture events */

SDL_DOLLARGESTURE   = 0x800,

SDL_DOLLARRECORD,

SDL_MULTIGESTURE,

/* Clipboard events */

SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard changed */

/* Drag and drop events */

SDL_DROPFILE        = 0x1000, /**< The system requests a file open */

SDL_DROPTEXT,                 /**< text/plain drag-and-drop event */

SDL_DROPBEGIN,                /**< A new set of drops is beginning (NULL filename) */

SDL_DROPCOMPLETE,             /**< Current set of drops is now complete (NULL filename) */

/* Audio hotplug events */

SDL_AUDIODEVICEADDED = 0x1100, /**< A new audio device is available */

SDL_AUDIODEVICEREMOVED,        /**< An audio device has been removed. */

/* Render events */

SDL_RENDER_TARGETS_RESET = 0x2000, /**< The render targets have been reset and their contents need to be updated */

SDL_RENDER_DEVICE_RESET, /**< The device has been reset and all textures need to be recreated */

/** Events ::SDL_USEREVENT through ::SDL_LASTEVENT are for your use,

*  and should be allocated with SDL_RegisterEvents()

*/

SDL_USEREVENT    = 0x8000,

原文:http://www.cnblogs.com/chencesc/p/5780950.html

c语言 sdl编写五子棋,SDL 五子棋游戏相关推荐

  1. c语言程序设计 猜数字,猜数字游戏c语言编程,c语言编程 编一个猜数字游戏

    c语言编程 编一个猜数字游戏 #include #include #include #include void main()/*主函数*/ { int a,b,times=0,i,j,guess=0, ...

  2. 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏

    编写控制台的五子棋游戏 昨天复习了下<疯狂Java讲义>,完成前几章的习题, 现在基本完成了控制台五子棋游戏的编写,能够按照要求 保证用户下和电脑下的棋上不能已经有棋子 判断横.竖.左斜. ...

  3. C语言第十课:编写井字棋游戏(综合练习1)

    目录 前言: 一.文件建立: 1.头文件game.h: 2.函数定义文件game.c: 3.工程测试文件test.c: 二.编写井字棋游戏: 1.程序整体执行思路: 2.menu菜单函数实现: 3.g ...

  4. SDL库的安装及游戏测试

    SDL的介绍 SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写.它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口.这些多媒体功能包括了音频.键盘和鼠标(事 ...

  5. JAVA 实现《五子棋单机版》游戏

    前言 五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜. 棋具与围 ...

  6. 【181010】网络五子棋,VC++游戏源码

    网络对战版的五子棋,VC++游戏源码,带音乐,可设置网络最终网络下棋,通过源代码你将了解到设置菜单状态.服务器端口申请.客户机申请连接.发送数据.游戏编写.监听和使用套接字.主菜单对象定义等基础知识, ...

  7. c语言游戏总出bug,C语言 编写的简单移动游戏出现bug?_编程_游戏设计_C语言_天涯问答_天涯社区...

    C语言 编写的简单移动游戏出现bug? 第一次按上下左右没什么问题,之后就会卡住..不知道出了什么错 源码如下:(用vc++的win32 console程序编写) #include #include ...

  8. c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...

    [2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 一.实验目的与要求 (1)了解极大极小算法的原理和使用方法,并 ...

  9. c语言编程一个象棋游戏,急求:C语言编写的中国象棋游戏一个

    急求:C语言编写的中国象棋游戏一个 來源:互聯網  2009-09-08 12:30:35  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 由于学习 ...

  10. 太空java游戏_JavaSpaceWar 一个基于 语言编写的太空战争游戏,包含所有图像和声音资源,便 习理解使用 Game Program 238万源代码下载- www.pudn.com...

    文件名称: JavaSpaceWar下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 506 KB 上传时间: 2014-03-18 下载次数: 0 提 供 者: ...

最新文章

  1. 日本“AI 鱼脸识别”项目,每分钟识别 100 条
  2. Typescript 其实就想排个序和枚举取数
  3. Codeforces round 1083
  4. 湖大计算机考研分数线,湖南大学2017年考研分数线已公布
  5. hdu6103[尺取法] 2017多校6
  6. Windows启动管理器
  7. python生成随机数方法_详解用python生成随机数的几种方法
  8. java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法
  9. word2vec----CBOW
  10. Windows 7 测试体验
  11. python函数完整语法和分类
  12. java编码解码工具类
  13. matlab在矩阵后面添加两行数据_用MATLAB对矩阵每两列求和
  14. 蒲丰投针实验原理_蒲丰投针原理.DOC
  15. 经典蓝牙Inquiry过程的跳频
  16. 遇上与你一样的她(他)| MixLab人工智能
  17. 搭建vmware虚拟机,搭建docker环境
  18. WDM和WDF usb驱动不同点
  19. android sd卡数据恢复,手机sd卡受损怎么办 手机内存卡数据恢复方法【详解】
  20. stm32F407 连接 对射式红外对管 样例

热门文章

  1. 软件工程考研 选什么方向比较好
  2. 苹果xsmax有高通基带吗_苹果和高通和解后:基带芯片还没换,但被删的动画回来了!...
  3. This beta version of Typora is expired,please download and install a newer version.
  4. 【地球科学】DEM数据简要总结及ALOS PALSAR12.5m数据获取和对比显示
  5. python词云图素材_用Python制作酷炫词云图,原来这么简单!
  6. splunk 监视文件目录_使用Splunk监视Corda节点
  7. 浅析软件二次开发的基本要求
  8. 【Matlab代码】基于遗传算法和蚂蚁优化算法的路径优化问题
  9. uniapp省市区街道四级级联动选择器
  10. java 获取拼音码_Java获取汉字拼音的全拼和首拼实现代码分享