C#学习笔记 16.01
(学习视频来自bilibili的传智播客赵老师基础教学视频)
用面向对象的思想实现石头剪刀布
石头剪刀布被是人出的,不管谁出都是石头剪刀布,用面向对象的思想,似乎主体就应该是石头剪刀布,而不去关注是谁出的,但事实好像不是这样……
面对的第一个小问题,如何判断输赢呢?
像石头剪刀布,我们其实可以把所有情况写出来,但是这样很不优美……而且情况再多点就变得很不好玩了。
一种思路是为这三个情况赋值,做减法,根据结果去判断,这样就比较合适。
开始设计
玩家类:出拳的方法,返回上面说的数字
电脑类:出拳的方法,返回上面说的数字,以及出了那种的字符串
裁判类:对前面说的这两个数字进行判断,返回输赢结果
这样就可以看出,裁判类不管他,就是个静态方法就可以了
玩家和电脑都有出拳这个方法,都需要返回数字,电脑需要返回字符串。
不过玩家是由输入决定的出拳方式,而电脑是由随机决定的出拳方式,突如其来的困惑,这咋面向对象?
视频中老师的写法,其实让我感觉也是面向过程的思想,只是写在一个类里面,这样也是面向对象么?
认识下 Panel 这个控件
这是个容器,可以起到让其内部的东西随其隐藏和显示的控件。
panel.visible = true或者false
窗体间控件的移动
frm2.Contros.Add(this.lable)
因为这个代码是写在了 frm1 中,所以 this 指的就是 frm1
通过这样一个命令,就把 lable 加到 frm2 里面了
后面的……我大概都用不到了……
嗯。。。。。。我不会告诉你我是懒得写了的。。。。。。