免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: forest077
打印 上一主题 下一主题

[算法] [原创]贡献一个unix的贪吃蛇小游戏 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2012-07-26 16:26 |只看该作者
这个表示学生时代,意义重大   

论坛徽章:
0
62 [报告]
发表于 2012-08-07 10:49 |只看该作者
把warning都去掉了。
putty下显示正常。

--- a/c_cpp/etc/tiny/snake.c
+++ b/c_cpp/etc/tiny/snake.c
@@ -15,6 +15,9 @@ sco unix下:cc -o snake snake.c
#include <sys/select.h>
#include <termio.h>
#include <fcntl.h>
+#include <unistd.h> // ttyname
+#include <stdlib.h> // rand, srand
+#include <string.h> // strlen

#define SNAKE_INITX 5
#define SNAKE_INITY 5
@@ -265,7 +268,7 @@ int iIsValid(int x,int y)

int iEat(int x,int y)
{
-               int i,j;
+               int i;

                for(i=0;i<giRich;i++)
                {
@@ -282,7 +285,7 @@ int iEat(int x,int y)
                }
                return(0);
}
-main()
+int main()
{
                int iDir=2,iNextX,iNextY;
                struct stNode *pstNew;
@@ -299,7 +302,7 @@ main()
                                iNextY=gpstHead->y-(!(iDir>>1))*(1-(iDir<<1));
                                if(!iIsValid(iNextX,iNextY))
                                {
-                                               printf("\033[%d;%dH\033[1m\033[40;34m%s\033[0m",
+                                               printf("\033[%d;%zdH\033[1m\033[40;34m%s\033[0m",
                                                                WIN_Y2-1,(WIN_X1+WIN_X2)/2-strlen(OVER)/2,OVER);
                                                break;
                                }
@@ -320,7 +323,7 @@ main()
                                                free(pstNew);
                                }
                                sprintf(sPrompt,"Score:%7d Level:%2d",giScore,giLevel);
-                               printf("\033[%d;%dH\033[1m\033[40;34m%s\033[0m",
+                               printf("\033[%d;%zdH\033[1m\033[40;34m%s\033[0m",
                                                WIN_Y2,(WIN_X1+WIN_X2)/2-strlen(sPrompt)/2,sPrompt);
                }
                vKillSnake();

论坛徽章:
0
63 [报告]
发表于 2012-08-17 11:29 |只看该作者
linux系统下,一开始在虚拟终端下运行出来的是乱码,后来看到34楼说程序与运行终端有关,才意识到应该换成tty1,运行出来的结果很好,顶一个。不知道lz整个程序都是自己构思一行一行打出来的,还是在一些别人的代码上改进?

论坛徽章:
0
64 [报告]
发表于 2012-08-22 06:10 |只看该作者
可惜我这边找不到linux环境,要不然可以试试

论坛徽章:
0
65 [报告]
发表于 2012-09-06 15:07 |只看该作者
回复 25# ldy2534


    我也是这个问题 编译环境和AIX不一样吧

论坛徽章:
0
66 [报告]
发表于 2012-09-08 18:10 |只看该作者
好久不使用UNIX了,看了正亲切!

论坛徽章:
0
67 [报告]
发表于 2012-09-11 11:07 |只看该作者
本帖最后由 wlxmhls 于 2012-09-11 17:02 编辑

我不明白iGetDir函数的switch分支,为什么要判断iFlag==2呢,iflag初始值是0啊
程序刚运行的时候iflag是0吧
---------------------------
我搞明白了……

论坛徽章:
0
68 [报告]
发表于 2012-10-26 17:39 |只看该作者
跑完后,把我的终端屏幕改成了黑底黄字

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
69 [报告]
发表于 2012-11-08 21:15 |只看该作者
可惜没注释,看不太懂!

论坛徽章:
0
70 [报告]
发表于 2012-11-08 23:23 |只看该作者
小弟新手,弱弱的问一下楼主,怎么在论坛中发这种代码风格的帖子?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP