游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3877|回复: 9

请问~~~有人愿意教教我吗?

[复制链接]

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2003-10-1 13:20:00 | 显示全部楼层 |阅读模式
各位大哥(大姐----如果有大姐的话)好~~~
呃.....我不是说你们老啦,只是表示我的一点尊敬嘛....
论年龄的话,我也不小了,但要是以游戏编程的经验来算,我顶多只是满月。
小弟实是英语专业的学生,当年由于策略上的一些决定而放弃物理,选择了英语,现在已经是我在大学里的最后一年了。在苦受了26个E文字母三年的折磨之后,这学期的课程总算轻松了许多,所以小弟决心趁这机会,弃暗投明,学习游戏编程。
大约三周前,小弟开始学习C++。从网上下载了一个比较简单的自学教程,并用了一周的时间看完,然后经历了数天的迷茫(不知道接下来该学什么)之后,准备学DirectX,但却找不到一套比较合适的教程,就随便学了一些网上搜来的片段,接着就硬着头皮去读SDK里边的样板——DirectDraw的“WindowedMode”。读懂了大部分代码之后,就想着自己做个简单的游戏,一边实践一边学习。经过一节课的构思和两天的埋头苦干,我的第一个游戏——贪吃蛇的雏形完成了(实际上是从“WindowedMode”进化而来的),然而我也发现了一些我无法解决的问题,所以我就写下了这张帖子,希望哪位好心的大哥可以给予我一些帮助,大恩大德,小弟定铭记于心~~

附件是我的“贪吃蛇”,我的问题如下:
1.鼠标的移动引起画面的停滞(我感觉是在消息处理这一环有些问题,但不知道具体是在哪里)。
2.“蛇”的速度的控制(小弟我不懂如何延迟......)。
3.物品的出现(物品的出现用了rand()函数,但第一次出现总是固定在一个地方)。
4.GameOver函数的改善(我想知道有没有更好的办法实现重新开始游戏)。
5.能否在MessageBox(GameOver时的那个)中显示num的值。

感谢你耐心地看完了这张帖子,如果能够解答我的问题,请帮我一把,谢谢!
我的QQ:1917739。
乐意和各位高手、非高手成为朋友。

sf_2003101132030.rar

136.09 KB, 下载次数:

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2003-10-1 19:21:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

最近很忙,把你的可执行代码给我看看,我给你分析一下
xheartblue
81496744

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2003-10-1 20:01:00 | 显示全部楼层

Re: 请问~~~有人愿意教教我吗?

EXE文件。不知道是否还需要附上其它什么文件。

sf_200310120143.rar

51.02 KB, 下载次数:

42

主题

140

帖子

203

积分

中级会员

Rank: 3Rank: 3

积分
203
发表于 2003-10-1 20:24:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

你未延迟,CUP全在处理你的游戏,鼠标的移动当然满了

rand与当前时间数值配合一下不就第一次不总是固定在一个地方出现了

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2003-10-1 20:27:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

楼上这位,能否帮我将代码稍作修改?

42

主题

140

帖子

203

积分

中级会员

Rank: 3Rank: 3

积分
203
发表于 2003-10-1 20:37:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

Public Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long


你自己改吧不娜的,或WM_TIMER消息中处理一下

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2003-10-1 20:42:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

好的,我试试看。

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2003-10-2 04:12:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

第一个问题是解决了,但第二个问题还没有。
“蛇”时动时不动的,而且我发现,当我的鼠标在QQ和游戏窗口之间来回晃动时,“蛇”才会匀速地移动。哪位要是知道问题出在哪里,请留个帖子吧,谢谢~~

101

主题

467

帖子

482

积分

中级会员

Rank: 3Rank: 3

积分
482
QQ
发表于 2003-10-2 10:16:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

你怎么定时的?

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2003-10-2 11:39:00 | 显示全部楼层

Re:请问~~~有人愿意教教我吗?

用timeGetTime()获得时间,前后两个的差超过某个值就更新”蛇“的位置。我知道这个办法不好,但暂时只会用这个来延迟。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-11-29 09:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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