![]() | 1 kljsandjb 2019-05-05 08:33:16 +08:00 via Android 牛逼的题 |
![]() | 2 18k 2019-05-05 08:34:35 +08:00 via iPhone 面相对象的编程 这里很多人是没有经验的 |
![]() | 3 lhx2008 2019-05-05 08:38:16 +08:00 via Android 亲密度肯定要存到另外一个对象,要我做的话这是个二层 map ( table )。 如果是一女不事二夫的话,同时加到男女的对象上也没问题。 |
5 FelixZeng 2019-05-05 08:40:39 +08:00 建议你先找个对象,面向对象编程可能会好一点 |
6 salamanderMH 2019-05-05 08:42:08 +08:00 via Android 女方觉得不合适就算了 |
![]() | 10 Bigglesworth 2019-05-05 08:48:11 +08:00 怎么“男金钱减 300,双方亲密度减 300 ”,这不就是黄了嘛,哈哈哈。。。 |
![]() | 11 cmqwan 2019-05-05 08:58:24 +08:00 @Bigglesworth 亲密度的初始值设定可以根据男方的资产而定,比如有一个亿,init 的时候,双方亲密度就是一百万。减个 300,毛毛雨 |
12 crazytree 2019-05-05 09:01:47 +08:00 先 new 一个对象 |
![]() | 13 Bigglesworth 2019-05-05 09:20:11 +08:00 @cmqwan #11 不是那个初始值问题,我说男方约会花了 300,亲密度反而减 300 了。 |
![]() | 14 nutting 2019-05-05 09:20:57 +08:00 这个亲密度到底怎么定义的,先让你产品经理说清楚吧。别的没什么难度吧 |
![]() | 15 iixy 2019-05-05 09:27:43 +08:00 楼主是做作业还是钓鱼? |
![]() | 16 BingoXuan 2019-05-05 09:29:16 +08:00 如果是 python 的话,可以用上下文管理器。那么约会开始和结束的操作就可以写进__enter__,__exit__两个魔法方法里面。 ben = male() lily = female() with date(ben, lily) as d: ####d.set_fee(300) ####d.set_favorablity(300) ####d.fail() |
17 aa514758835 2019-05-05 09:32:29 +08:00 金钱减完亲密度应该增加啊,怎么会搞得亲密度下降,应该是个 bug |
18 ben1024 2019-05-05 09:36:40 +08:00 先找个对象? |
19 SuperMild 2019-05-05 10:12:47 +08:00 ![]() 这是一个 Date 对象,它初始化时接受一个 Man 和一个 Girl 的实例,它有一个 run 方法,执行 run 方法表示 man 向 girl 发起约会。 class Date(Man, Girl) { fn run() { if woman.accepted { mOney= man.pay() // default = 300, man.money -= 300 successful = girl.get(money) love = successful ? money : -money man.love(girl) += money girl.love(man) += money } } } 另外你还需要 Man 和 Girl 对象,他们有如上所示的方法,你可以自己实现其具体内容。 |
![]() | 20 NMmmm 2019-05-05 10:15:04 +08:00 自己约自己出去玩, |
21 SuperMild 2019-05-05 10:15:10 +08:00 逻辑上有一些 bug,但大概思路就是这样。 |
22 zhaishunqi 2019-05-05 10:15:16 +08:00 我只想知道分手是不是减 600.... |
23 python30 2019-05-05 10:20:13 +08:00 这是相亲游戏环节? |
![]() | 24 zy445566 2019-05-05 10:27:28 +08:00 ![]() es6 写的,java 照搬就是 class Proson { constructor(name, money) { this.name = name; this.money = money; this.love_level = 0; console.log(`${this.name} 有 ${this.money} 的钱, 有 ${this.love_level} 的好感度`); } costLove(love_level) { this.love_level-=love_level; console.log(`${this.name} 降低了 ${love_level} 的好感度,现在还有 ${this.love_level} 的好感度`); } } class Meet { constructor(sender) { this.sender = sender; this.agreer = null; this.startTime = null; this.endTime = null; console.log(`${this.sender.name} 发起了约会`); } agree(agreer) { this.agreer = agreer; console.log(`${this.agreer.name} 接受了约会`); } start () { if(this.agreer !== null) { console.log(`约会开始了`); this.startTime = new Date(); } else { console.log(`约会还未被接受`); } } end () { if(this.startTime !== null) { console.log(`约会结束了`); this.sender.costMoney(300); this.sender.costLove(300); this.agreer.costLove(300); } else { console.log(`约会还未开始`); } } } class Man extends Proson { constructor(name, money) { super(name, money); } sendMeet() { return new Meet(this); } costMoney (money) { this.money-=money; console.log(`${this.name} 花费 ${money} 的钱,现在有 ${this.money} 的钱`); } } class Woman extends Proson { constructor(name, money) { super(name, money); } agreeMeet(meet) { meet.agree(this); } } let tom = new Man('Tom',300); let jan = new Woman('Jan',0); let meet = tom.sendMeet(); jan.agreeMeet(meet); meet.start(); meet.end(); |
![]() | 25 zy445566 2019-05-05 10:28:41 +08:00 可以直接在谷歌浏览器打开控制台运行 |
![]() | 26 cmqwan 2019-05-05 10:36:28 +08:00 via iPhone @Bigglesworth 正常,约会途中发生了一些不愉快的事情,聊天的时候哪句话说错了之类的 |
30 fvckDaybyte2 2019-05-05 11:25:17 +08:00 via iPhone ![]() 如果男方金钱减 600,女方金钱加 400,亲密度不变,是不是可以报警了 |
![]() | 31 arthasliu 2019-05-05 11:28:24 +08:00 @fvckDaybyte2 还有中间商赚差价吗。。 |
![]() | 32 Isight 2019-05-05 11:28:47 +08:00 约会进行的详细流程与金钱减 300 的关系说清楚,然尝试把金钱加个 0,尝试一下 |
33 fvckDaybyte2 2019-05-05 11:35:07 +08:00 via iPhone @arthasliu 房费不要钱么…… |
![]() | 34 senni 2019-05-05 12:20:27 +08:00 via Android 为什么要学编程 可以 new 一个对象 |
![]() | 35 zgl263885 2019-05-05 12:29:38 +08:00 via iPhone 简单分析下业务,大概应该有一个基类,人,拥有一些基本的属性和方法,如属性姓名,出生日期,性别,财富,当前对象(们,劈腿情景);方法有约会(参数为人基类,不能排除同性约会),吃饭方法,说话方法,等等。有了基类后,要派生两个子类,男人,女人,定义一些各自特征属性和特有方法,如女人会有大姨妈,而男人没有,男女上厕所方式不同等。针对某些属性和方法,需要使用 public,protect 等关键字尽心访问限制。 根据业务需求,不断完善基类和子类模型。 当一个人约会另一个人时候,可以这样调用了:张三.约会(李四,明晚,某某地点,300 元)。 |
![]() | 36 zgl263885 2019-05-05 12:31:17 +08:00 via iPhone 约会过程中需要触发哪些事件或方法,再定义和调用一下就好了。 |
![]() | 37 vtoexshan 2019-05-05 12:40:14 +08:00 先找个对象,然后学习起来更容易 |
![]() | 38 shm7 2019-05-05 12:47:58 +08:00 via iPhone 男方金额-1000w$,女方好感度提升+100% |
![]() | 39 zdnyp 2019-05-05 13:52:37 +08:00 @fvckDaybyte2 我怀疑你在开车,但是我又没有证据 |
![]() | 40 huage2580 2019-05-05 14:45:47 +08:00 嗯,是这样的,这是数据库设计范畴(滑稽 |
![]() | 41 huage2580 2019-05-05 14:51:54 +08:00 会员表,约会记录表,亲密度表,交易记录表,亲密度记录表。大概是这样的 |
![]() | 42 c4f36e5766583218 2019-05-05 15:02:34 +08:00 男金钱减 300,双方亲密度减 300 //???what,为啥亲密度-300,失败的约会 233 |
43 win7pro 2019-05-05 15:29:16 +08:00 你需要一个程序员加盟,而你自己当产品就好 |
![]() | 44 houzhimeng 2019-05-05 15:30:30 +08:00 参考心跳回忆,或者银他妈中的某一集 |
![]() | 45 jinhan13789991 2019-05-05 18:39:09 +08:00 有一对对象 有男一人,女一人, 男提出约会,女同意约会 约会进行 约会结束 此时请参考 TCP 三次握手 |
![]() | 46 jinhan13789991 2019-05-05 18:40:25 +08:00 @jinhan13789991 逻辑有漏洞,女方同意约会,男方怎么知道女方同意了呢,女方怎么知道男方知道她同意了呢。 |
![]() | 47 cocosgames 2019-05-06 09:42:55 +08:00 via Android 先 new 出来一个对象再说 |