| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2609 人关注过本帖
标题:请教一个会动笑脸的程序
只看楼主 加入收藏
drift
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-8-15
收藏
 问题点数:0 回复次数:12 
请教一个会动笑脸的程序

#include <stdio.h>
#include <bios.h>
#include <conio.h>
#include <dos.h> /*这个是一个什么头文件啊?干什么用的?*/

struct move_point
{
int x;
int y;
int xv;
int yv;
};

int main()
{
struct move_point man = {0, 0, 1, 1}; /*这个结构体变量好像在前面没有定义啊*/
clrscr();

while (bioskey(1) == 0) /*这个是个什么函数啊?有什么用啊*/
{
gotoxy(man.x, man.y);
printf(" ");

man.x += man.xv;
man.y += man.yv;

if (man.x >= 80 || man.x <= 0)
{
man.xv = -man.xv;
}

if (man.y >= 25 || man.y <= 0)
{
man.yv = -man.yv; /*这几句都看不懂*/
}

gotoxy(man.x, man.y);
printf("%c\b", 2);

delay(8000); /*这个函数也没见过*/
}

return 0;
}

不好意思啊,
我刚学c语言好多东西都不知道
要是各位有空的话帮忙把这个程序整体解释一下,
谢谢啦!!

搜索更多相关主题的帖子: 笑脸 
2006-11-13 17:01
drift
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-8-15
收藏
得分:0 

怎么没人来啊!
………………………………………………


大道没人我怕谁!大道有人谁怕我! 黑夜给了我黑色的眼睛,我却用它翻白眼 !
2006-11-14 11:30
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:354
专家分:224
注 册:2006-4-11
收藏
得分:0 
delay(8000);
这个是延时 操作系统中应该是1秒=1000ticks 这个就是8秒了
struct move_point man = {0, 0, 1, 1}; man是结构体的名字
man.yv = -man.yv; man.yv就是1了
dos.h好象是可以使用DOS中的命令了 貌似是 偶不记得鸟
知道的就这么多 你看看吧

2006-11-14 16:18
drift
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-8-15
收藏
得分:0 

那这里面哪个函数是dos.h头文件里的啊?


大道没人我怕谁!大道有人谁怕我! 黑夜给了我黑色的眼睛,我却用它翻白眼 !
2006-11-14 22:11
hejing1109
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-9-27
收藏
得分:0 
好东西啊

不知道的函数在网上一搜下 就知道了

2006-11-17 03:01
bestboy555
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-8-1
收藏
得分:0 
以下是引用drift在2006-11-13 17:01:20的发言:

#include <stdio.h>
#include <bios.h>
#include <conio.h>
#include <dos.h> /*这个是一个什么头文件啊?干什么用的?*/

struct move_point
{
int x;
int y;
int xv;
int yv;
};

int main()
{
struct move_point man = {0, 0, 1, 1}; /*这个结构体变量好像在前面没有定义啊*/
clrscr();

while (bioskey(1) == 0) /*这个是个什么函数啊?有什么用啊*/
{
gotoxy(man.x, man.y);
printf(" ");

man.x += man.xv;
man.y += man.yv;

if (man.x >= 80 || man.x <= 0)
{
man.xv = -man.xv;
}

if (man.y >= 25 || man.y <= 0)
{
man.yv = -man.yv; /*这几句都看不懂*/
}

gotoxy(man.x, man.y);
printf("%c\b", 2);

delay(8000); /*这个函数也没见过*/
}

return 0;
}

不好意思啊,
我刚学c语言好多东西都不知道
要是各位有空的话帮忙把这个程序整体解释一下,
谢谢啦!!

函数原型:int bioskey (int cmd)
说明:bioskey()的函数原型在bios.h中
bioskey()完成直接键盘操作,cmd的值决定执行什么操作。
cmd = 0:
当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。
cmd = 1:
当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。
cmd = 2:
当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。
字节位 含义
0 右边Shift键状态
1 左边Shift键状态
3 Ctrl键状态
4 Alt键状态
5 ScrollLock键状态
6 NumLock键状态
7 CapsLock键状态
8 Insert键状态

struct move_point man = {0, 0, 1, 1}; ]
这句话的意思就是定义了一个man 结构体,同时把它初始化了


原来这个世界还有好多真理!
2006-11-17 09:28
drift
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-8-15
收藏
得分:0 

谢谢3楼和6楼的朋友

知道的差不多了

谢谢各位

大道没人我怕谁!大道有人谁怕我! 黑夜给了我黑色的眼睛,我却用它翻白眼 !
2006-11-17 11:22
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
建议LZ你去搞个函数速查软件。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-17 11:39
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:354
专家分:224
注 册:2006-4-11
收藏
得分:0 
建议LZ下一个source insight 会对写程序很有帮助的 可以很方便的查到函数原形 函数定义

2006-11-17 16:32
drift
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-8-15
收藏
得分:0 

谢谢9楼的朋友拉


大道没人我怕谁!大道有人谁怕我! 黑夜给了我黑色的眼睛,我却用它翻白眼 !
2006-11-18 19:58
快速回复:请教一个会动笑脸的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056419 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved