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
gransh 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 1
这是一个 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 1
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 2
如果男方金钱减 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 出来一个对象再说
|