网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月12日漏签0天
c语言吧 关注:798,805贴子:4,356,334
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 11回复贴,共1页
<<返回c语言吧
>0< 加载中...

请教高手????

  • 只看楼主
  • 收藏

  • 回复
  • zfy0422
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我最近在编一个小游戏俄罗斯方块,其中有个问题不能解决,就是方块在下落的过程中不能对其左右和变形控制,我试了很多方法都不行,因为dos下只能同时执行一个命令,后来我想起用bios中断,不知道行不行,都好几天了,我实在不知道用什么方法了,请各位高手帮忙


  • assiss
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第一,请你以后写正确的题目.
第二,无论是dos还是windows,在单cpu的电脑里,每个时刻,它们都只能执行一条指令.因此你的问题不是系统的问题,而是你算法的问题.
我提供一个思路:
game()
{
 get_a_key();//if no key ,continue;
 if(check_key_can_action())action();//if a key pressed,'left' for example, check it can move left or not.
 if(can_down())down();//at last it will go down.check if it can go down.
 else other();//if can't go down. which means it has already on the bottom.
}


2025-06-12 11:34:16
广告
  • zfy0422
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢,我是初次来这里,请大哥原谅。
你写的我看的不太清楚,我的e文不太好。
我的一位朋友曾用basic编猪小弟的游戏,他在这方面处理的很好,我试过也不行,另外还有一个问题,我用到delay这个精确到毫秒的函数,但发现在tc2.0下不能用,太快,即便是delay(10000000000000000000)也还是用不了0.1秒,这是怎么回事?


  • assiss
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
delay(10000000000000000000);这样的函数调用,
你在TC下能用就是出鬼了.

不是delay函数出的错,而肯定是你编写的程序有问题.
delay(1000)我以前常用,肯定能延时1秒左右.

如果你连我上面回复的英文都看不懂,那你最好还是买本书吧.
游戏编程有它独特的处理方式.和普通的思路是不一样的.
这方面你多看看C闲人在本吧发的那些程序.从中好好学学.
我已经很久很久不用TC编游戏了,没办法给你更多的帮助.


  • 202.116.20.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是啊,我的哪个delay()也不行啊.所以我只好用sleep(1)了.我想问一下斑竹,是不是sleep这个函数最短只能延迟一秒?能不能延迟更少时间?


  • assiss
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个问题查查手册很快就有答案了:
sleep(unsigned int seconds);


  • zfy0422
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我试用过delay(1000)是不行的,绝对延迟不了1秒,恐怕连1毫秒都延迟不


  • 202.116.27.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
delay()函数不行啊!
不知道怎么用,斑竹能不能说清楚一点


2025-06-12 11:28:16
广告
  • assiss
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自己查手册.TC里本来就有手册.
我早就说过了,TC的问题我不会有问必答.因为我早就不用它了.想回答也没条件.


  • 221.15.163.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自己看置顶里面的tc函数


  • assiss
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
另外我记忆当中,
delay(int m);
的作用是这样的:延时m*4毫秒.我以前在DOS下用TC延时一秒应该是delay(250);不是delay(1000);
不过我记不清楚了.毕竟是好几年前的事了.而我从来不记函数.把函数记下来,纯粹是找罪受.放着手册在那里不用.

但这样的函数在windows下可能和windows系统冲突.

所以,你要用tc,就老老实实地用dos.
不然,出现的任何问题,
别来问我,我也不知道windows为什么不和dos完全一样.要问问Bill 该死去.windows 和 msdos 都是他出的.


  • 211.69.22.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我在tc++3.0中delay()函数使用起来很正常的,在tc2.0中却不行,实在没办法了.
谢谢诸位了,此问题告一段落,我自己想办法


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 11回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示