跳转到内容

Programming 2012

来自ACM Class Wiki

Resources

Contact

陈楠昕 (11) bobchennan[at]gmail.com

陈爽 (11) chenshuang0804[at]gmail.com

董博男 (11) 301096296[at]sjtu.edu.cn

李青林 (11) jack951753[at]gmail.com

Schedule

(Sep. 20)Introduction

(Sep. 27) Coding Style && Big Homework

(Oct. 4) Holiday

(Oct. 15) Exam 1

(Oct. 18) 排序和查找

 一个排序可视化演示
 Homework 1

(Oct. 25) Exam 2

(Nov. 1) 深度优先搜索与广度优先搜索

(Nov. 8) Exam 3

(Nov. 15) Time for Final Project

(Nov. 22) 讲题&&第一次测试分析

(Nov. 29) Exam 4

(Dec. 3) 金汶功、莫凯淳、赵卓越

Big Homework

网站完善:冯实、许文、陈皓、冯思稷

fish tank:other

大作业请发给自己的助教,类名为st+你的编号,编号见pdf

如st01、st40

同时注意类里面一定要包含init(初始化及加点)、revive(复活)、play三个函数

第一次评测提交deadline:11月17日中午12点

评测结果

目前报名presentation:

赵卓越

李耀 -->杨光

黄锃

莫凯淳

金汶功

史家琛

彭燕庆

谢其哲

冯实、许文、陈皓、冯思稷

Q&A(about Big Homework)

1.友元类env是什么?

A:我的实现中env是系统用来查询一些fish类中的private元素的,大家系统的实现可以不需要这样写= =,鼓励更加好的结构(已从框架中删去)


2.setID函数能否设为private

A:可以的,我的实现中setID是通过env调用的,框架写错了,已改为private


3.希望为fish类增加getID成员函数

A:不是必须的,你可以按照自己的坐标值获取askWhat(getX(),getY()),不过从实用角度还是加上去了,代码已更新


4.fish.h中revive成员函数的声明是什么意思?revive成员函数的声明是否是virtual revive(int&, int&);在回合开始时,是先刷新水藻(如果需要的话)然后再向死亡状态的鱼询问重生位置,还是反过来?

A:已更正框架。先刷新水藻,然后按照死亡顺序复活,先死的先选择位置复活


5.属性点允许在哪个阶段增加?还是允许在所有阶段增加?比如在play()阶段能否调用increaseHealth/Strength/Speed?

A:可以的


6.判断行动先后是否需实时调整,比如当后行动者被扣HP时,它的顺序是否应被调整?

A:不会,回合开始时死亡鱼复活之后确定顺序


7.判断行动先后第三条分数是指什么?经验值还是总属性点或者其他的什么?

A:即目前得分,得分计算方式最后经验+2*越级杀人等级数


8.在一回合内,后行动者在行动前已死亡时,是否还给它分配行动时间用于局势判断?

A:不分配,不会调用play,只能等到下一次revive


9.每个行动者的时限和空间限制是多少?

A:时限1-2s,原因是跟评测机有关,所以不能保证,但是运行时间过长的会被强行停止


10.属性点可以被扣到0吗?如果允许扣到0 ,能否加入decreaseHealth/Strength/Speed操作以重新分配属性?

A:不会被扣到0,随机保证属性扣完都会大于0

Read this if you cannot access Google Groups

Try GoAgent: http://code.google.com/p/goagent/