c语言做c语言小游戏代码里的查看信息怎么做

c语言编写小游戏系列教程之地图的另类实现_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:557,218贴子:
c语言编写小游戏系列教程之地图的另类实现收藏
好了,上节课() 讲了 如何画地图 ,这节课,我们来讲解 如何移动地图中的物体,比如推箱子中的人。在地图中,人 只是一个数字,要移动一个人,那么,只要改变他的坐标即可,比如
map[2][2] = 1; 是人,此时用户按了向右的方向键,我们就应该把它向右移动一个位置。要移动一个人,首先把他从原来的位置去掉,再在新的位置放上,那么就应该做如下两不操作。第一步:map[2][2]=0; 从原来位置去掉; 第二步:map[2][3]=1; 在右边一格放上一个人。这个很容易实现,就不写代码了。接下来大家思考一种情况,推箱子游戏中 都有用来标记箱子要防的位置,那么这个位置 也是一个数字,
假设我们把人 移动到 这个位置上,那么不就覆盖了他吗?当人移动开以后,我们知道他原来是什么呢?大家应该可以想到,再定义一个变量来记录他的位置。是的,我们可以定义变量来记录他们的位置。
今天我们就用另一个思路来实现地图。就是
地图跟地图中的物体分开记录,人有人的坐标,箱子有箱子的坐标,障碍物也有障碍物的坐标。比如,我们首先定义 人的坐标:int person_x, person_y;
表示人的x和y坐标。接下来是 箱子的。箱子有几个呢? 一般四个。那么我们可以这样定义。int box_x[4], box_y[4];
这样来表示4个箱子的坐标。接下来是 障碍物的,障碍物有几个呢?额
不确定。其实这样的方法,不好!!
你会发现数据很散乱。这里使用结构体,会更好点。像下面这样:struct{}这样表示一个人 person.x 就是x坐标 person.y 就是他的y坐标,使用起来 比上面方便吧。然后箱子struct{}box[4];这里呢 加一个 state字段,做什么用呢?
比如 箱子 在空地上 和在目标位置上,应该显示不同的样子,state就是这个作用,0的时候可以用来表示在空地,1的时候呢就表示是在目标位置上了。box[0].x 就是 第一个箱子的x坐标
其他的 以此类推。接下来是障碍物 可以定义这样一个结构体struct{ }obstacle[10];先就定义十个好了,后面需要就改变一下数字,obstacle 这个是障碍物的意思,没错 我是百度的,我英文就是个渣,只是感觉 用英文会比较专(zhuang)业(bi),你完全可以用你熟悉的,比如拼音 zhangai ,只是建议多用下英文,就当是学习英文好了,毕竟以后肯定是要看英文文档的,好吧,废话说多了。继续往下看。定义好这些物体的信息后,如何跟地图联系在一起呢?只要循环所有的物体,在地图上 对应物体坐标的 元素上 设置为 代表该物体的数字 就可以了。O(∩_∩)O
不难吧。为了方便知道 哪个物体 用什么数字代替,我们就干脆把数字都写到结构体中去算了。比如 人就改成这样struct{
// 就用来记录 表示人的 数字是哪一个}其他的 障碍物 和 箱子 也用类似的方式。好了 上代码:效果图:enum object{OBJ_NULL=0, OBJ_WALL, OBJ_PERSON, OBJ_BOX, OBJ_OBS, OBJ_TARGET, OBJ_SUCCESS};这个枚举
其实作用就是 用字符常量来代替数字,让程序提高可读性。仅此而已。//设置人的位置的void set_person(person_t* person, int x, int y){person-&x =person-&y =person-&flag = OBJ_PERSON; }第一个参数 是指针类型,因为要改变 person中的内容 所以必须要传地址,而不是传值,所以是用指针类型。调用的时候 用&取地址作为实际参数就可以了 set_person(&person, 5, 4);好了,这节就讲到这里,下节我们就在这个基础上让人移动,去推动箱子。
自学编程,零基础怎么学习?如何系统,科学地学习编程,成为一名程序员...
全部是你帖子,我以为进了自学7论坛了。
楼主,按键移动人,箱子,怎么实现?
哈哈,我正好想用c写个游戏练练手,可根本就是对游戏方面一窍不通现在有教程就轻松哆啦~大赞楼主!
64位用什么编辑器?
楼主你好,楼主再见。
自学去打广告,我要叫吧主
char flag是什么意思啊????
产销量连年位于国内喷码机行业前列!
两个月后来看
看是能看懂
但是辣么长一段 完全自己写就老是写不出
登录百度帐号推荐应用&>&用c语言编写小游戏快速入门
用c语言编写小游戏快速入门
上传大小:34KB
对于刚学完c语言的并且想用c语言制作一些运用图形函数编写小游戏的初学者来说相当有用,可以给你学习的自信哦...
综合评分:4(41位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有9条
有点小小用
不错,作为学习补充
可以看看,不错
有点用吧```````
不错,对初学者有很大的帮助
学习了,初学者真的很需要
有些效果,但只有对一些c语言图形函数的说明,不能编出的也只是dos下的程序。
确实有些效果,但只有对一些c语言图形函数的说明,不能编出的也只是dos下的程序。
确实有些效果,但只有对一些c语言图形函数的说明,不能编出的也只是dos下的程序。
审核通过送C币
5个经典的C语言课程设计
创建者:ewrest
上传者其他资源上传者专辑
用c语言编写的俄罗斯方块源代码
开发技术热门标签
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
用c语言编写小游戏快速入门
会员到期时间:
剩余下载个数:
剩余C币:593
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
tony1987gao
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
用c语言编写小游戏快速入门C语言开发简易版扫雷小游戏
作者:AnnsShadoW
字体:[ ] 类型:转载 时间:
本文给大家分享的是一个使用C语言开发的命令行下的简易版扫雷小游戏,本身没有什么太多的技术含量,只不过是笔者的处女作,所以还是推荐给大家,希望对大家学习C能够有所帮助。
  想起来做这个是因为那时候某天知道了原来黑框框里面的光标是可以控制的,而且又经常听人说起这个,就锻炼一下好了。
  之前就完成了那1.0的版本,现在想放上来分享却发现有蛮多问题的,而且最重要的是没什么注释【果然那时候太年轻】!现在看了也是被那时候的自己逗笑了,就修改了一些小bug,增加了算是详尽而清楚的注释,嗯,MSDN上面对各种函数的解释很详细的【又锻炼一下英语】,顺便让开头和结尾的展示“动”了起来,就当作1.5的版本好了。
  这个只是给出了一个实现的思路,其中肯定也有很多不合理的地方和可优化之处,希望能供大家参考和交流。
  期间也是遇到了蛮多困惑的。
  1.最先的是怎么知道按了方向键,左查右找,说法有好几个版本呢,就想看能不能自己测试一下自己的好了,再查再找,好了,感谢写了测试方向键的人;
  2.再比如说怎么消除窗口中一行的缓冲,因为不消除就一直在哪,视觉效果不好,翻查了一下资料,就写了delLine()这个来做这个事情了;
  3.设定颜色时,在cmd里面help color知道了颜色的参数,但是通过数字0-9来设定的太暗了,发现有更亮的,比如0A,在setColor()里面用它却说类型不对,于是上MSDN,发现还可以用宏,就想通过如'BACKGROUND_INTENSITY& | BACKGROUND_RED '之类来完成,就想怎么去代替那个宏,觉得每次写一长串好麻烦。然后换了各种类型的参数类型和不定长参数什么的,发现还是不行,后来一想,万一它支持数字10呢,A不就是10么?!一测,成了;
  4.还有一些判断状态的顺序,嗯啊,这些要先想好再下手,不然左改右改很麻烦呢;
  5.别的困惑不怎么记得了。。。
  下面分别给出LittleMines【好弱的名字】,测试颜色,测试方向键的代码。【反映说有行号不好复制,那取消好了】
/*********************************
* c语言命令行+方向键简易版扫雷
* Author:AnnsShadoW
* Version:1.5
********************************/
/********************************
* 运行环境:Windows10-64bit
* 编译环境:Codeblocks-13.12
********************************/
//用到的都导进去吧
#include &stdio.h&
#include &stdlib.h&
#include &conio.h&
#include &time.h&
#include &windows.h&
//定义各种判断状态的ASCII码
//MINE是定义翻开格子中的‘*'号
#define MINE
#define ESC
#define ENTER
#define SPACE
#define UP
#define DOWN
#define LEFT
#define RIGHT
//定义类型状态,方便后续判断
#define bool int
#define true 1
#define false 0
#define ROW
#define COLUMN
#define ALL_MINES
//当前位置的结构体
typedef struct currentPosition_struct
} currentP
//每一个小格的结构体
typedef struct blockCondition_struct
//是否被覆盖了
//以它为中心周围的雷数
int minesN
//光标的位置数组
currentPosition cursorPos[ROW][COLUMN];
//雷区地图的数组
blockCondition minesMap[ROW][COLUMN];
//剩下的格子数
int leftBlocksNum = ROW * COLUMN;
//光标在光标位置、雷区地图中的下标
int index_x = 0, index_y = 0;
//设置窗口前后背景色
void setColor(unsigned short color);
//开头的欢迎“动画”
void welcomeToMyGame();
//游戏地图初始化
void gameInitailize();
//以某格子为中心计算惊天雷数量
void countMines();
//获取键盘的输入
void keyBoardInput();
//指定光标的位置
void setCurPos(int y, int x);
//移动光标的位置
void moveCursor(int y, int x);
//检测每一步的结果
bool checkResult(int y, int x);
//输出游戏界面
void printMap();
//游戏退出后的“动画”
void gameOver(char *str);
//删除窗口中一行的缓冲
void delLine(int y);
int main()
setColor(10);
system("cls");
welcomeToMyGame();
gameInitailize();
countMines();
printMap();
setCurPos(cursorPos[index_y][index_x].y, cursorPos[index_y][index_x].x);
keyBoardInput();
return EXIT_SUCCESS;
void setColor(unsigned short color)
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
//对设置之后的输出有效
SetConsoleTextAttribute(hCon, color);
void welcomeToMyGame()
int i = 0;
char introductions0[] = "LittleMines";
char introductions1[] = "--";
char introductions2[] = "Version 1.5";
char introductions3[] = "Author:AnnsShadow,thank you ╮( ̄▽ ̄)╭";
//控制台窗口默认大小是80*25,所以能达到最大的位置是[79,24]
for(i = 0; i &= 5; ++i)
//每次输出之前都清屏,就会有看起来是动的效果
system("cls");
//纵坐标不断加,形成向下效果
setCurPos(i, (80 - strlen(introductions0)) / 2);
printf("%s", introductions0);
//缓冲一下,太快了看不到呢
Sleep(50);
//为了对称,从边边78开始到中间39好了
for(i = 78; i &= 39; --i)
//上面用了5行了,大于它吧
setCurPos(7, i);
printf("%s", introductions1);
setCurPos(7, 78 - i);
printf("%s", introductions1);
Sleep(40);
//从左边一步步进入屏幕中间
for(i = 0; i &= (80 - strlen(introductions2)) / 2; ++i)
//要删除这一行缓冲的原因:
//上一次循环的输出会影响到下一次,如输出VVVVVVVVVVersion1.0
//换成中文就不会,中文要两个字节才能显示完整呀
delLine(9);
//这里就会有闪闪发亮的效果哦
Sleep(10);
setCurPos(9, i);
printf("%s", introductions2);
Sleep(50);
//从底部进入
for(i = 24; i &= 12; --i)
setCurPos(i, (80 - strlen(introductions3)) / 2);
printf("%s", introductions3);
Sleep(20);
//删除上一次的缓冲,不加1的话最后一行就会残留,其它都不见了
delLine(i + 1);
Sleep(50);
Sleep(500);
char help0[] = "动啊:←↑↓→╮(╯▽╰)╭";
char help1[] = "点击啊:Space / Enter (ΘェΘ)";
char help2[] = "不玩啦:Esc (>﹏<)";
char help3[] = "&&愿你玩的开心 _(:з」∠)_&&";
setCurPos(14, (80 - strlen(help0)) / 2);
setColor(14);
printf("%s", help0);
setCurPos(15, (80 - strlen(help1)) / 2);
printf("%s", help1);
setCurPos(16, (80 - strlen(help2)) / 2);
printf("%s", help2);
setCurPos(17, (80 - strlen(help3)) / 2);
setColor(15);
printf("%s", help3);
void gameInitailize()
int i = 0, j = 0;
int allMines = ALL_MINES;
//设置随机值
srand((unsigned int)time(NULL));
//雷区地图初始化
for(i = 0; i & ROW; ++i)
for(j = 0; j & COLUMN; ++j)
minesMap[i][j].beCovered =
minesMap[i][j].minesNum = 0;
//放置惊天雷!
while(allMines)
i = rand() % ROW;
j = rand() % COLUMN;
if(minesMap[i][j].minesNum == 0)
//这个‘-1'就作为判断惊天雷的依据了
minesMap[i][j].minesNum = -1;
//光标位置初始化
for(i = 0; i & ROW; ++i)
for(j = 0; j & COLUMN; ++j)
cursorPos[i][j].x = j * 6 + 3;
cursorPos[i][j].y = i * 2 + 1;
void countMines()
int i = 0, j = 0, m = 0, n = 0;
//以格子为中心周围的雷数
int minesNum = 0;
for(i = 0; i & ROW; ++i)
for(j = 0; j & COLUMN; ++j)
//遇到惊天雷就放弃统计吧
if(minesMap[i][j].minesNum == -1)
minesNum = 0;
//九宫格嘛,那3次好了
for(m = -1; m &= 1; ++m)
//行溢出了没,不能算没有的哦
if(i + m & 0 || i + m &= ROW)
for(n = -1; n &= 1; ++n)
//这次就是看列溢出了没
if(j + n & 0 || j + n &= COLUMN)
//周边有惊天雷赶紧加起来
if(minesMap[i + m][j + n].minesNum == -1)
minesMap[i][j].minesNum = minesN
void keyBoardInput()
int key1 = getch();
/*****************************
测试之后才知道方向键两个字节
第一个字节ASCII 0x00e0 224
第二个字节分别是:
上:0x0048 72
下:0x0050 80
左:0x012b 75
右:0x012d 77
*****************************/
if(key1 == 224)
int key2 = getch();
switch(key2)
moveCursor(index_y - 1, index_x);
case DOWN:
moveCursor(index_y + 1, index_x);
case LEFT:
moveCursor(index_y, index_x - 1);
case RIGHT:
moveCursor(index_y, index_x + 1);
switch(key1)
case ENTER:
case SPACE:
lose = checkResult(index_y, index_x);
system("cls");
printMap();
setColor(13);
诶哟,还差一点点哦! ╥﹏╥
按\"r\"重玩,Esc不玩啦。
printf("[%c]-------------------------------------------------------[%c]\n", MINE, MINE);
setColor(10);
Sleep(1000);
char key3 = getch();
if(key3 == 'r' || key3 == 'R')
//重来,跟main中过程是一样的
setColor(10);
gameInitailize();
countMines();
printMap();
//剩余的格子比雷还要多,可以继续玩
else if(leftBlocksNum & ALL_MINES)
setColor(13);
哎哟,挺不错哦~ ( ̄0  ̄)
printf("[%c]-------------------------------------------------------[%c]\n", MINE, MINE);
setColor(10);
//来到这你已经赢了
setColor(13);
哟,恭喜你赢了(/≧▽≦/)
按\"r\"重玩,Esc就不玩啦。
printf("[%c]-------------------------------------------------------[%c]\n", MINE, MINE);
setColor(10);
Sleep(1000);
char key3 = getch();
if(key3 == 'r' || key3 == 'R')
setColor(10);
gameInitailize();
countMines();
printMap();
system("cls");
gameOver("\t\t\t啦啦啦~很逗很扯吧~最后感谢你的玩耍呀(≧Д≦)\n\n\n\n\n\n\n\n");
void setCurPos(int y, int x)
//在窗口缓冲中定义每个位置的状态
COORD currentP
currentPosition.Y =
currentPosition.X =
//所以现在的位置是在{y,x}
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), currentPosition);
void moveCursor(int y, int x)
//限定能走的地方
if((x &= 0 && x & COLUMN) && (y &= 0 && y & ROW))
setCurPos(cursorPos[y][x].y, cursorPos[y][x].x);
bool checkResult(int y, int x)
int i = 0, j = 0;
//检测有没有溢出地图了
if(x & 0 || x &= COLUMN || y & 0 || y &= ROW)
//就是你了!被选中的格子!
minesMap[y][x].beCovered =
//被惊天雷炸了
if(minesMap[y][x].minesNum == -1)
minesMap[y][x].minesNum = 9;
//如果没有雷,就当作空格吧
if(minesMap[y][x].minesNum & 0 && minesMap[y][x].minesNum & 9)
//九宫格,3x3咯
for(i = -1; i &= 1; ++i)
//检查一下在这一行溢出了没吧
if(y + i & 0 || y + i &= ROW)
for(j = -1; j &= 1; ++j)
//这次就到列了吧
if(x + j & 0 || x + j &= COLUMN)
//如果下一个是没开过的,就检查它吧
if(minesMap[y + i][x + j].beCovered)
minesMap[y + i][x + j].beCovered =
checkResult(y + i, x + j);
void printMap()
system("cls");
char help0[] = "←↑↓→";
char help1[] = "动啊";
char help2[] = "Space / Enter";
char help3[] = "点击啊";
char help4[] = "Esc 不玩啦";
//因为要输出提示,所以地图不能太大了,10x10就差不多了
setColor(14);
setCurPos(4, 62);
printf("%s", help0);
setCurPos(6, 62);
printf("%s", help1);
setCurPos(9, 62);
printf("%s", help2);
setCurPos(11, 62);
printf("%s", help3);
setCurPos(14, 62);
printf("%s", help4);
setCurPos(0, 0);
setColor(10);
int i = 0, j = 0, k = 0;
leftBlocksNum = 0;
setColor(11);
printf("[开]--");
setColor(10);
for(k = 1; k & COLUMN - 1; ++k)
printf("+-----");
setColor(11);
printf("+--[心]\n");
setColor(10);
for(i = 0; i & ROW; ++i)
for(j = 0; j & COLUMN; ++j)
if(minesMap[i][j].beCovered)
++leftBlocksN
//这个输出的就是格子被覆盖的时候输出的图形,可以换成1-6试试
//1-4是正方形的4个角,5-6是双竖线和双横线
printf("| %c ", 3);
else if(minesMap[i][j].minesNum == -1 || minesMap[i][j].minesNum == 9)
printf("| %c ", MINE);
else if(minesMap[i][j].minesNum == 0)
printf("| %c ", ' ');
printf("| %d ", minesMap[i][j].minesNum);
printf("|\n");
if(i & ROW - 1)
for(k = 0; k & COLUMN; ++k)
printf("+-----");
printf("+\n");
setColor(11);
printf("[就]--");
setColor(10);
for(k = 1; k & COLUMN - 1; ++k)
printf("+-----");
setColor(11);
printf("+--[好]\n");
setColor(10);
void gameOver(char *str)
setColor(12);
system("cls");
setCurPos(10, 0);
int i = 0;
//逐字输出
printf("%c", str[i]);
Sleep(60);
while(str[i++]);
setColor(15);
system("pause");
//随意终止程序并返回给OS,0是正常的
void delLine(int y)
//窗口缓存信息
CONSOLE_SCREEN_BUFFER_INFO
DWORD len,
//用MSDN上的TCHAR类型跪了,换成char就好
char fillchar = ' ';
//定位光标
COORD startPosition = {0, y};
//获取输出句柄
hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
//获取窗口缓冲中的信息
GetConsoleScreenBufferInfo(hOutput, &sbi);
//窗口缓冲的位置,这里取得X值
len = sbi.dwSize.X;
//从特定的位置用特定的字符去填充窗口的缓冲特定次数
//成功返回非0值,一般都成功,就不判断了
FillConsoleOutputCharacter(hOutput, fillchar, len, startPosition, &nw);
测试颜色:
#include &windows.h&
#include &stdlib.h&
#include &stdio.h&
void setColor(unsigned short color)
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
//对设置之后的输出有效
SetConsoleTextAttribute(hCon, color);
int main()
//测试颜色啊~~
for(int i = 0; i &= 255; i++)
setColor(i);
printf("%d\n", i);
system("pause");
测试方向键:
#include &stdio.h&
#include &stdlib.h&
#include &windows.h&
#include &conio.h&
int main()
_sleep(100);
if(_kbhit())
k = _getch();
if(0 == k)
k = _getch() && 8;
_cprintf("key:0x%04x pressed\r\n", k);
system("pause");
运行截图:图片不会动啦,在自己机子跑起来就看得到动的效果了~~~
  虽然不是什么很厉害的事情,稍微懂点的都可以自己做出来,不过在实践的过程中还是收获蛮多的,在这分享也算个小小的记录吧,继续加油~
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 c语言小游戏编程实例 的文章

 

随机推荐