一、站立式会议
1.1 会议照片
1.2成员工作情况
成员 |
昨天已完成的工作 |
今天计划完成的工作 |
工作中遇到的困难 |
马文辉 |
完成练习模式下游戏的正式体验 |
实现添加素材到练习模式 |
未遇到问题 |
卢力衔 |
练习模式体验不错 |
设计闯关模式的页面,线程监控拼图完成情况 |
线程和顺序执行的代码之间的协调 |
张朝阳 |
实现点击按钮跳转 |
无所事事,上传全部代码 |
无能为力 |
张龙伟 |
基本完成了所有代码并上传 |
给代码添加更多注释,方便后续与游戏模块的整合,进行两分钟的倒计时跟两分钟顺序计时,发现顺序计时的BUG,修改后解决掉了这个BUG |
在上传时失败,用了许多方法,不知道是哪里出现了问题,最后只能交给队友帮助上传 |
周勇铨 |
计算成绩(30%);闯关结束显示成绩,并让用户输入名字(20%);录入本地文件并显示前10(0%) |
计算成绩;闯关结束显示成绩,并让用户输入名字;录入本地文件并显示前10 |
无法跟其他模块同时运行 |
二、项目燃尽图
三、代码/文档签入记录
3.1 代码签入
3.2 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 运行截图
五、每人每日总结
成员 |
小结 |
马文辉 |
又要完成开发又要撰写随笔,好累 |
卢力衔 |
线程:没想到吧 |
张朝阳 |
上午把我能写出的代码全部上交完了,更多的也写不出来了,只能交给队里的大佬(深知我菜)。帮队员搞了半天上传代码工作却没上传成功。晚上搞了搞操作系统实验。 |
张龙伟 |
吃了不会英语的亏?上传代码一直失败,最后只能寻求帮助 |
周勇铨 |
考虑问题要周全,考虑到问题的方方面面 |