zoukankan      html  css  js  c++  java
  • 第六篇 Scrum冲刺博客

    一、站立式会议

    1.1 会议照片

    1.2成员工作情况

    成员 昨天已完成的工作 今天计划完成的工作 工作中遇到的困难
    马文辉 完成练习模式下游戏的正式体验 实现添加素材到练习模式 未遇到问题
    卢力衔 练习模式体验不错 设计闯关模式的页面,线程监控拼图完成情况 线程和顺序执行的代码之间的协调
    张朝阳 实现点击按钮跳转 无所事事,上传全部代码 无能为力
    张龙伟 基本完成了所有代码并上传 给代码添加更多注释,方便后续与游戏模块的整合,进行两分钟的倒计时跟两分钟顺序计时,发现顺序计时的BUG,修改后解决掉了这个BUG 在上传时失败,用了许多方法,不知道是哪里出现了问题,最后只能交给队友帮助上传
    周勇铨 计算成绩(30%);闯关结束显示成绩,并让用户输入名字(20%);录入本地文件并显示前10(0%) 计算成绩;闯关结束显示成绩,并让用户输入名字;录入本地文件并显示前10 无法跟其他模块同时运行

    二、项目燃尽图

    三、代码/文档签入记录

    3.1 代码签入

    3.2 Issue链接

    成员 Issue链接
    马文辉 添加练习图片
    卢力衔 闯关模式
    张朝阳 主界面
    张龙伟 计时模块
    周勇铨 排行榜

    3.3 CodeReview代码规范文档

    四、最新程序/模块

    4.1 程序代码

    package cn.homework.view;
    
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import java.awt.BorderLayout;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JPanel;
    import javax.imageio.ImageIO;
    import javax.swing.BoxLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    
    import javax.swing.UIManager;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.awt.Image;
    
    import javax.swing.border.EmptyBorder;
    
    import cn.homework.util.CountClock;
    import cn.homework.util.SwingConsole;
    import cn.homework.util.TimeFormat;
    import cn.homework.util.image.ImageView;
    import cn.homework.util.panel.MyPanel;
    import cn.homework.util.panel.OperationPanel;
    import cn.homework.view.LIANXI_view.CtnGame;
    import cn.homework.view.LIANXI_view.Tomenu;
    
    import java.awt.Toolkit;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.SwingConstants;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import java.util.Random;
    import java.awt.event.ComponentAdapter;
    import java.awt.event.ComponentEvent;
    
    
    /**
     * 
     * 闯关界面实现
     *
     */
    public class CHUANGGUAN_view extends JFrame{
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    
    	CountClock cc;
    	
    	MyPanel jpanelTime = new MyPanel();
    	MyPanel jpanelButton = new MyPanel();
    	
    	private JPanel root;
    	private TimeFormat time;
    	
    	private Image[] imageArr;
    	private int imageArrIndex;
    	
    	private int levelPoint;
    	private int userPoiont;
    	
    	private int pattern;
    	private static volatile boolean StartGameFlag;
    
    	public void setStartGameFlag(boolean startGameFlag) {
    		StartGameFlag = startGameFlag;
    	}
    
    	private int Level;
    	
    	private boolean QuitGameFlag;
    	private int initTime = 0;
    	
    	ImageView previewArea = new ImageView();
    	OperationPanel operateArea;
    	
    	//每关递增的时间
    	public final int INCREASE_TIME = 30;
    	
    	//图片数组,起始难度,起始时间
    	public CHUANGGUAN_view(Image[] imageArr, int pattern, TimeFormat time) {
    		
    		root = (JPanel)this.getContentPane();
    		
    		this.imageArr = imageArr;
    		this.imageArrIndex = 0;
    		
    		this.pattern = pattern;
    		
    		this.time = time;
    		this.levelPoint = 10;
    		this.userPoiont = 0;
    		this.StartGameFlag = false;
    		this.QuitGameFlag = false;
    		this.Level = 1;
    		this.setTitle("Level-" + Level);
    		
    		init();
    		
    		//开启校验进程
    		new Thread( new Runnable() {
    			@Override
    			public void run() {
    				while(QuitGameFlag == false)
    				{
    					if(StartGameFlag == true)
    					{
    						
    						try {
    							Thread.sleep(1000);
    						} catch (InterruptedException e) {
    							// TODO Auto-generated catch block
    							e.printStackTrace();
    						}
    						if( operateArea.check() == true ) {
    							cc.setStopCountFlag(true);
    							
    							Object[] options = { "继续", "返回" };
    							
    							int flag = JOptionPane.showOptionDialog(null, "拼图完成", "选择",
    									JOptionPane.DEFAULT_OPTION, JOptionPane.DEFAULT_OPTION,
    									null, options, options[0]);
    							if(Level == 7)
    							{
    								JOptionPane.showMessageDialog(null, "恭喜!成功通关 ", "通关 ", JOptionPane.DEFAULT_OPTION);
    								exit();
    								break;
    							}
    							//选择返回选项
    							if(flag == 0)
    								update();
    							else {
    								exit();
    								break;
    							}
    							
    						} else {
    							
    							//计时停止标志为true
    							if(cc.getTime() == "00:00")
    							{
    								JOptionPane.showMessageDialog(null, "超时警告 ", "失败 ", JOptionPane.ERROR_MESSAGE);
    								exit();
    								break;
    								
    							}
    						}
    					}
    				}
    				
    			}
    		}).start();
    	}
    	
    	public void exit()
    	{
    		cc.setStopCountFlag(true);
    		
    		StartGameFlag = false;
    		dispose();
    		
    		PINTU window = new PINTU();
    		
    		SwingConsole.run(window.PINTU);
    	}
    	
    	JLabel poiontArea = new JLabel();
    	JPanel top = new MyPanel();
    	JPanel buttom = new MyPanel();
    	
    	public void init() {
    		
    		previewArea.setImage(imageArr[imageArrIndex]);
    		
    		operateArea = new OperationPanel((BufferedImage)imageArr[imageArrIndex], pattern);
    		
    		//初始化计时器
    		cc = new CountClock(time, jpanelTime, jpanelButton, CountClock.CHUANGGUAN, operateArea);
    		
    		cc.init();
    		
    		JButton back = new JButton("返回");
    		back.setPreferredSize(new Dimension(100, 100));
    		back.addActionListener(new Tomenu());
    		
    		poiontArea.setText("此关分数 :" + levelPoint + "    " + "玩家分数:" + userPoiont);
    		top.setLayout(new GridLayout(1, 4, 10, 0));
    		
    		top.add(jpanelTime);
    		top.add(jpanelButton);
    		top.add(poiontArea);
    		top.add(back);
    		
    		root.add(top, BorderLayout.NORTH);
    		
    		buttom.setLayout(new GridLayout(1, 2));
    		buttom.add(previewArea);
    		buttom.add(operateArea);
    		
    		root.add(buttom);
    		
    	}
    
    	public void update() {
    		Level++;
    		this.setTitle("Level-" + Level);
    		imageArrIndex++;
    		
    		time.addSec(INCREASE_TIME);
    		userPoiont += levelPoint + cc.getTime_Min()*10;
    		levelPoint += 10;
    		poiontArea.setText("此关分数 :" + levelPoint + "    " + "玩家分数:" + userPoiont);
    		pattern++;
    		
    		previewArea.setImage(imageArr[imageArrIndex]);
    		buttom.remove(operateArea);
    		operateArea = new OperationPanel((BufferedImage)imageArr[imageArrIndex], pattern);
    		operateArea.setListener(true);
    		buttom.add(operateArea);
    		
    		root.updateUI();
    		root.repaint();
    		cc.setTime(time);
    		cc.setStopCountFlag(false);
    	}
    	
    	class Tomenu implements ActionListener {
    
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			QuitGameFlag = true;
    			cc.setStopCountFlag(true);
    			
    			dispose();
    			
    			PINTU window = new PINTU();
    			
    			SwingConsole.run(window.PINTU);			
    		}
    	}
    	
    	
    	
    }
    

    4.2 运行截图

    五、每人每日总结

    成员 小结
    马文辉 又要完成开发又要撰写随笔,好累
    卢力衔 线程:没想到吧
    张朝阳 上午把我能写出的代码全部上交完了,更多的也写不出来了,只能交给队里的大佬(深知我菜)。帮队员搞了半天上传代码工作却没上传成功。晚上搞了搞操作系统实验。
    张龙伟 吃了不会英语的亏?上传代码一直失败,最后只能寻求帮助
    周勇铨 考虑问题要周全,考虑到问题的方方面面
  • 相关阅读:
    linux中jdk的安装
    @Transactional 的回滚
    监听器以及在监听类里面获得bean的方法
    list的顺序反转
    iOS 升级到xcode 7和iOS9 问题处理
    iOS 9.0系统策略更新
    iOS 技术分享3
    iOS 技术分享2
    iOS 技术分享
    iOS 面试题
  • 原文地址:https://www.cnblogs.com/Mhuihui/p/12977190.html
Copyright © 2011-2022 走看看