骰子利用之选人,选奖
2017-10-23 13:18 conquered 阅读(227) 评论(0) 编辑 收藏 举报关于类
讲真,在最开始的时候怎的没明白类之间的关系,上课以后对类之间关系有了了解之后,发现类与类之间是真的复杂,随手明白了不少,但是脑子里还是跟毛线一样,杂乱无章;1.继承:是说子类获得父类的功能的同时,还可以扩展自己的功能。2.依赖:大致为使用关系 3.关联:则是一个类中能够包含另一个类的对象;还有许多无法一一赘述,我比较喜欢通过调用和依赖来完成逻辑,这样我觉得比较清楚,界限分明。
关于代码,其实没有花上太多时间,因为我们员来就写好了骰子类,之后需求完成只要调用就可以了,逻辑上也没有很混乱的地方,最大的难度在于写一个界面程序,因为接触较少,花了一点时间,还是照着以前有过的进行轻微的改动,下次应该能写一个比较丰富的界面吧。
代码的码云地址:https://gitee.com/lyx1995/codes/tzp2485ha97xj3lwugdib11
比较艰苦的代码片段:
public void launchAlpaGui() throws java.io.FileNotFoundException {
// Add components to the frame
f.setLayout(null);
p1.setBackground(Color.blue);
p2.setBackground(Color.green);
p1.setBounds(250, 200, 150, 50);
p2.setBounds(50, 200, 150, 50);
l.setBounds(50,100,150,50);
sn.setBounds(0,0,500,50);
//re.setBounds(0,400,500,100);
p1.add(b1,BorderLayout.CENTER);
p2.add(rewardButton2, BorderLayout.CENTER);
f.add(l);
f.add(p1);
f.add(p2);
f.add(sn);
// f.add(re);
// Add this object as a mouse listener
b1.addMouseMotionListener(this);
b1.addMouseListener(this);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭框架时退出运行
f.setSize(520, 520);
f.setVisible(true);
//在button2上建立动作监听,并完成相应动作
rewardButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DieCup cup1 = new DieCup();
cup1.setDieNumber(1);
sn.setText("你的奖品是"+cup1.rewardWay());
}
});
}
public void mouseClicked(MouseEvent e) {
reward r1 = new reward();
sn.setText("请第"+r1.selectWho()+"号同学来回答问题");
}
// Unused MouseMotionListener method.
// All methods of a listener must be present in the
// class even if they are not used.
// Unused MouseListener methods.
public void mouseMoved(MouseEvent e) { }
public void mouseDragged(MouseEvent e) { }
//public void mouseClicked(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
}
这个是原始界面
选学生
选奖品
关于总结:这次做的比较失败的应该是gui了,画面枯燥乏味,没有什么突出的地方。但是在写抽取奖品的过程中,有点不知道应该把抽取数字进行判断的语句放在哪里合适,而且抽取号数的总数也由我自己设计在了程序中,这样还不够面向对象,毕竟不是所有班级的人数都是50人,这个方面还有待改进。