易码技术论坛

 找回密码
 加入易码
搜索
查看: 220747|回复: 9

关于TC800双机游戏的实现的问题!

[复制链接]
发表于 2006-7-25 09:51:00 | 显示全部楼层
可能是你的com缓冲区没有处理好,导致信号的位传送不一致.
 楼主| 发表于 2006-7-25 15:32:00 | 显示全部楼层
那怎么样才能弄好呢?
发表于 2006-8-7 16:47:18 | 显示全部楼层
System.ComWaitReady();何意?你确定此函数使用方法正确吗?
 楼主| 发表于 2006-8-8 08:48:38 | 显示全部楼层
不知道是什么意思,但好像用不用都一样~~~
发表于 2006-8-8 09:25:21 | 显示全部楼层
切!!那你还用!我倒!~~~~~~~`
发表于 2006-8-8 11:58:40 | 显示全部楼层
那些System的新的函数哪里有?怎么用?
发表于 2006-8-18 22:54:21 | 显示全部楼层
别的机型可以互联吗?
发表于 2006-8-19 15:15:32 | 显示全部楼层
别的用汇编差不多
发表于 2006-8-19 17:02:47 | 显示全部楼层
那就是用bas
或者直接用BIN咯?
偶8太会
 楼主| 发表于 2006-7-24 14:01:19 | 显示全部楼层 |阅读模式
在做了那个双机互传后,我就想做个连机游戏,但是测试了好久都没成功,用了N多方法~
一段代码如下:
void main()
{
char c,i;
ClearScreen();
System.ComOpen();
while(c!=27)
{
  if(c==22&&i<146)i++;
  else if(c==23&&i)i--;
  TextOut(i,66,"_",1);
  Refresh();
  c=getchar();
  ReleaseKey(128);
  System.ComPutc(i);
}
System.ComClose();
}


这个是控制端程序。

void main()
{
char i;
ClearScreen();
System.ComOpen();
while(!CheckKey(27))
{
  System.ComWaitReady();
  i=System.ComGetc();
  TextOut(i,66,"_",1);
  Refresh();
}
System.ComClose();
}


这个是接受端的程序。
理论上控制端控制小杆左右移动,接受端也同样应该如此移动,但是,实际操作过程中并非如此,原因不详。于是我又编了个接受端:

void main()
{
char i;
System.ComOpen();
while(!CheckKey(27))
{
  SetScreen(1);
  System.ComWaitReady();
  i=System.ComGetc();

  printf("%d ",i);
}
System.ComClose();
}

结果令我大吃一惊,每按一下控制端的键,服务端竟然会出现4个数字,这难道说明它接收到了4个字节?不知道是不是机子的问题~
如果你有2台TC800,不妨试一下!
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-28 03:48 , Processed in 0.010850 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表