游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8084|回复: 14

北京浮生记 面试笔试题,未过。求思路

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-8-9 12:54:00 | 显示全部楼层 |阅读模式
小弟最近投某游戏公司的简历,回复我要我做一个北京
浮生记的控制台版,要求原文如下:

完成一个北京浮生记的控制台版本,用VC2003或2005编译,要求尽量体现C++的特点,尽量在不改动客户端的情况下可以方便地移植到不同的平台。


依我分析,游戏主要有4个元素:

1黑市
2地点
3玩家信息
4重要场所


游戏每进入一个地点,就会产生一个黑市,黑市里有
随机物品若干可以买卖,同时游戏的时间过去一天,一样的物品在不同的黑市价格是不同的。玩家就是利用低买高卖的方式赚钱。

玩家的信息有:现金,存款,欠债,健康,名声和出租房
,出租房可以装下一定数量的物品。

重要场所就是对玩家的信息进行修改的地方,
比如到银行存钱,那么现金就会转变为存款,
健康低了要到医院去治病。还可以去租房中介扩大自己出租房可以装下物品的数量等。

我是这么实现的,我没有用继承和多态,我觉得那都不必要。

主要类:

黑市:负责产生随机物品供买卖
地点类:负责产生黑市,更新游戏时间。(生成一个地点游戏时间过去一天)

玩家类:存储玩家的信息。

重要场所类:负责修改玩家信息

随机事件类:负责系统产生的随机事件。
比如 交通拥挤了,玩家的健康减去1点,
     黑市的某件特殊地涨价或者降假了

我觉得我做的不好的地方和难控制的地方就是这个随机类
了,你看它既可以修改玩家啊的信息,也可以修改黑市的
信息,我们还并不好预见将来会有什么样的随机事件加入
进来,对系统的哪些方面做出影响,并且随机事件有的是完全随机的,有的则是根据情况的,比如玩家欠债很多时
村长才会叫人打玩家。这些随机事件的出现操作和何时出现对游戏的可玩性和可变性有着决定性的影响,因此作为程序员必须能灵活地编写程序,以便移植或者修改升级程序。最近我的一个想法是能不能把这些随机事件写成脚本?这可能是一个解决的好方法,不知这里是否有大侠可以赐教一二,我把我写的代码发上来,如果各位不嫌麻烦。。帮我将就看看,给个思路,或者在这里指教一下,多谢各位了。。。

[em4] [em4]

0

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2009-8-9 20:50:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

写了这么多代码还不让过,这个公司也够狠的

4

主题

212

帖子

212

积分

中级会员

Rank: 3Rank: 3

积分
212
发表于 2009-8-9 22:12:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

首先感谢楼主共享。
我看了下楼主的代码,总觉得  玩家信息   设置一个结构体就可以了,没必要设计为一个类。

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2009-8-10 18:49:00 | 显示全部楼层

Re: 北京浮生记 面试笔试题,未过。求思路

非常感谢各位抽空看我不成熟的代码。
诚如saiwaizixia所言,我后来也认为做一个类就可以,类多了,反而造成访问信息的复杂化。
最近我正在研究c++结合脚本语言(Lua)来解决这个问题。不知道这个方向是否是出题者想要的答案?

1

主题

21

帖子

30

积分

注册会员

Rank: 2

积分
30
发表于 2009-8-16 22:49:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

是不是TY公司

28

主题

433

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2009-8-30 16:11:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

请不要把 所有的 东西 都 用 类呀 对象 来看待~~~

建几个表,然后根据 查表修改表 ~~~
windows 里面 就是 这样写的~~
都用了这么多年了~~

3

主题

101

帖子

101

积分

注册会员

Rank: 2

积分
101
发表于 2009-9-14 13:44:00 | 显示全部楼层

Re: Re:北京浮生记 面试笔试题,未过。求思路

紫涩雪: Re:北京浮生记 面试笔试题,未过。求思路

请不要把 所有的 东西 都 用 类呀 对象 来看待~~~

建几个表,然后根据 查表修改表 ~~~
windows 里面 就是 这样写的~~
都用了这么多年了~~



WINDOWS真烂,,,,,,,,,,,,,,,,,,
具体问题具体分析,,还要看用在什么地方.
OO是对于复杂的东西来说的,,,如果给你几万个表,你知道那个怎么用,是什么意思?

再说,就算简单的问题,几个表OK,,,只有你自己看得懂,,
如果后面的人要修改呢,要扩展呢,,,扩展得几十次,那不是要上千个表了.

当然OO,,首先性能的损失,,第二复杂度的问题,,
唉,,各有千秋.....

0

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2009-9-17 18:32:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

惭愧,第一次听说浮生记,看看

14

主题

251

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
发表于 2009-9-22 19:10:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

up

2

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
QQ
发表于 2009-11-11 01:49:00 | 显示全部楼层

Re:北京浮生记 面试笔试题,未过。求思路

呵呵.1年以后我也快要面临找工作了感谢分享你的经验!

换位思考,我是这么想的:

1,游戏是一个简单的游戏,用到了数据结构,搜索,计算,文件存储. 那么你就要考虑了..在设计这个游戏数据结构的同时 有没有考虑类化的结构,有没有属性或方法可以继承?

2.数据的存储是否可以通过文件来读取,设置一个configuration file来存储游戏元素的数据,方便维护。

3.虽然看似游戏只是单纯的数据逻辑上的增填和加减, 但是是否能预留一个Event接口.来增加游戏的趣味性?

4.设计类的时候,存储类和逻辑类应该分别对待..逻辑类在设计时 是不是能够考虑一下用代理者的设计模式呢?

5.既然要考虑平台移植性..是否在提交的时候应该有一个Makefile呢?

6.Dos游戏的缺点是枯燥..在重视算法和数据结构的同时..是否能考虑增加以下音乐和彩色文字呢?.
仅仅几行代码,却可以让游戏润色不少.

7.高内聚 低耦合?

8.游戏内置的帮助,来帮助玩家进行游戏..或者利用红黑树,存储一下接下来可能发生的事情?

9,Save&Load

10,Clear Code ,readable ? comment?

11,界面的友好度和人性化

12,数据边界,数据量和计算复杂度的考虑

我也是在读学生,还没工作经验...相互交流一下 :)  个人拙见,如果说的不对 请指正。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-4 22:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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