代码改变世界

骰子利用之选人,选奖

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人,这个方面还有待改进。