c语言 sdl编写五子棋,SDL 五子棋游戏
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 五子棋游戏相关推荐
- c语言程序设计 猜数字,猜数字游戏c语言编程,c语言编程 编一个猜数字游戏
c语言编程 编一个猜数字游戏 #include #include #include #include void main()/*主函数*/ { int a,b,times=0,i,j,guess=0, ...
- 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏
编写控制台的五子棋游戏 昨天复习了下<疯狂Java讲义>,完成前几章的习题, 现在基本完成了控制台五子棋游戏的编写,能够按照要求 保证用户下和电脑下的棋上不能已经有棋子 判断横.竖.左斜. ...
- C语言第十课:编写井字棋游戏(综合练习1)
目录 前言: 一.文件建立: 1.头文件game.h: 2.函数定义文件game.c: 3.工程测试文件test.c: 二.编写井字棋游戏: 1.程序整体执行思路: 2.menu菜单函数实现: 3.g ...
- SDL库的安装及游戏测试
SDL的介绍 SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写.它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口.这些多媒体功能包括了音频.键盘和鼠标(事 ...
- JAVA 实现《五子棋单机版》游戏
前言 五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜. 棋具与围 ...
- 【181010】网络五子棋,VC++游戏源码
网络对战版的五子棋,VC++游戏源码,带音乐,可设置网络最终网络下棋,通过源代码你将了解到设置菜单状态.服务器端口申请.客户机申请连接.发送数据.游戏编写.监听和使用套接字.主菜单对象定义等基础知识, ...
- c语言游戏总出bug,C语言 编写的简单移动游戏出现bug?_编程_游戏设计_C语言_天涯问答_天涯社区...
C语言 编写的简单移动游戏出现bug? 第一次按上下左右没什么问题,之后就会卡住..不知道出了什么错 源码如下:(用vc++的win32 console程序编写) #include #include ...
- c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...
[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 一.实验目的与要求 (1)了解极大极小算法的原理和使用方法,并 ...
- c语言编程一个象棋游戏,急求:C语言编写的中国象棋游戏一个
急求:C语言编写的中国象棋游戏一个 來源:互聯網 2009-09-08 12:30:35 評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 由于学习 ...
- 太空java游戏_JavaSpaceWar 一个基于 语言编写的太空战争游戏,包含所有图像和声音资源,便 习理解使用 Game Program 238万源代码下载- www.pudn.com...
文件名称: JavaSpaceWar下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 506 KB 上传时间: 2014-03-18 下载次数: 0 提 供 者: ...
最新文章
- 日本“AI 鱼脸识别”项目,每分钟识别 100 条
- Typescript 其实就想排个序和枚举取数
- Codeforces round 1083
- 湖大计算机考研分数线,湖南大学2017年考研分数线已公布
- hdu6103[尺取法] 2017多校6
- Windows启动管理器
- python生成随机数方法_详解用python生成随机数的几种方法
- java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法
- word2vec----CBOW
- Windows 7 测试体验
- python函数完整语法和分类
- java编码解码工具类
- matlab在矩阵后面添加两行数据_用MATLAB对矩阵每两列求和
- 蒲丰投针实验原理_蒲丰投针原理.DOC
- 经典蓝牙Inquiry过程的跳频
- 遇上与你一样的她(他)| MixLab人工智能
- 搭建vmware虚拟机,搭建docker环境
- WDM和WDF usb驱动不同点
- android sd卡数据恢复,手机sd卡受损怎么办 手机内存卡数据恢复方法【详解】
- stm32F407 连接 对射式红外对管 样例
热门文章
- 软件工程考研 选什么方向比较好
- 苹果xsmax有高通基带吗_苹果和高通和解后:基带芯片还没换,但被删的动画回来了!...
- This beta version of Typora is expired,please download and install a newer version.
- 【地球科学】DEM数据简要总结及ALOS PALSAR12.5m数据获取和对比显示
- python词云图素材_用Python制作酷炫词云图,原来这么简单!
- splunk 监视文件目录_使用Splunk监视Corda节点
- 浅析软件二次开发的基本要求
- 【Matlab代码】基于遗传算法和蚂蚁优化算法的路径优化问题
- uniapp省市区街道四级级联动选择器
- java 获取拼音码_Java获取汉字拼音的全拼和首拼实现代码分享