Skip to content
Snippets Groups Projects
Commit 51c01238 authored by Justin's avatar Justin
Browse files

Added restart button and updated documentation

parent 35be7419
No related branches found
No related tags found
No related merge requests found
Showing
with 93 additions and 50 deletions
......@@ -57,8 +57,6 @@
Collaboration diagram for PicPuzzle.Hints:</div>
<div class="dyncontent">
<div class="center"><img src="class_pic_puzzle_1_1_hints__coll__graph.png" border="0" usemap="#_pic_puzzle_8_hints_coll__map" alt="Collaboration graph"/></div>
<map name="_pic_puzzle_8_hints_coll__map" id="_pic_puzzle_8_hints_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
......
......@@ -53,10 +53,11 @@
<p>This is the complete list of members for <a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#ac744222f7abf6de5c096b6c090b2e463">addNextButtonListener</a>(ActionListener listener)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#aebf529ea8d16900800d43c8648ede15b">addMainButtonListener</a>(ActionListener listener)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a844eeca95b4b4f95235fda56addd5eed">MainFrame</a>(NonogramComponent nc)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a7510dc91b81f60580df1eca5f51a5e25">setNextButtonEnabled</a>(boolean enabled)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a2c6d1efa1a31294ce50fde6501e3b734">setTitleLabel</a>(String title)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a6df340cca5c43e00431b9551ef2708a9">setMainButtonEnabled</a>(boolean enabled)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#ab3eeda6ac1138ccbba8c70356571da12">setMainButtonText</a>(String label)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a2c6d1efa1a31294ce50fde6501e3b734">setTitleLabel</a>(String title)</td><td class="entry"><a class="el" href="class_pic_puzzle_1_1_main_frame.html">PicPuzzle.MainFrame</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
......@@ -69,10 +69,12 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a844eeca95b4b4f95235fda56addd5eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c6d1efa1a31294ce50fde6501e3b734"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a2c6d1efa1a31294ce50fde6501e3b734">setTitleLabel</a> (String title)</td></tr>
<tr class="separator:a2c6d1efa1a31294ce50fde6501e3b734"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7510dc91b81f60580df1eca5f51a5e25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a7510dc91b81f60580df1eca5f51a5e25">setNextButtonEnabled</a> (boolean enabled)</td></tr>
<tr class="separator:a7510dc91b81f60580df1eca5f51a5e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac744222f7abf6de5c096b6c090b2e463"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#ac744222f7abf6de5c096b6c090b2e463">addNextButtonListener</a> (ActionListener listener)</td></tr>
<tr class="separator:ac744222f7abf6de5c096b6c090b2e463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6df340cca5c43e00431b9551ef2708a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#a6df340cca5c43e00431b9551ef2708a9">setMainButtonEnabled</a> (boolean enabled)</td></tr>
<tr class="separator:a6df340cca5c43e00431b9551ef2708a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3eeda6ac1138ccbba8c70356571da12"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#ab3eeda6ac1138ccbba8c70356571da12">setMainButtonText</a> (String label)</td></tr>
<tr class="separator:ab3eeda6ac1138ccbba8c70356571da12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebf529ea8d16900800d43c8648ede15b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pic_puzzle_1_1_main_frame.html#aebf529ea8d16900800d43c8648ede15b">addMainButtonListener</a> (ActionListener listener)</td></tr>
<tr class="separator:aebf529ea8d16900800d43c8648ede15b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Main class of the game. This represents the main GUI </p>
......@@ -100,12 +102,12 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac744222f7abf6de5c096b6c090b2e463"></a>
<a class="anchor" id="aebf529ea8d16900800d43c8648ede15b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PicPuzzle.MainFrame.addNextButtonListener </td>
<td class="memname">void PicPuzzle.MainFrame.addMainButtonListener </td>
<td>(</td>
<td class="paramtype">ActionListener&#160;</td>
<td class="paramname"><em>listener</em></td><td>)</td>
......@@ -113,7 +115,7 @@ Public Member Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Add a listener to get events from the next button </p><dl class="params"><dt>Parameters</dt><dd>
<p>Add a listener to get events from the main button </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">listener</td><td>The listener which will receive events </td></tr>
</table>
......@@ -122,12 +124,12 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a7510dc91b81f60580df1eca5f51a5e25"></a>
<a class="anchor" id="a6df340cca5c43e00431b9551ef2708a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PicPuzzle.MainFrame.setNextButtonEnabled </td>
<td class="memname">void PicPuzzle.MainFrame.setMainButtonEnabled </td>
<td>(</td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
......@@ -135,9 +137,31 @@ Public Member Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Enable or disable the next button </p><dl class="params"><dt>Parameters</dt><dd>
<p>Enable or disable the main button. Enabled means it is visible and disabled means it is hidden </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>If true the next button is enabled, false disables it </td></tr>
<tr><td class="paramname">enabled</td><td>If true the main button is enabled, false disables it </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab3eeda6ac1138ccbba8c70356571da12"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PicPuzzle.MainFrame.setMainButtonText </td>
<td>(</td>
<td class="paramtype">String&#160;</td>
<td class="paramname"><em>label</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the text on the main button </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">label</td><td>The new text to display on the button </td></tr>
</table>
</dd>
</dl>
......
29c5af08903c9f09e479b3cc1e4304a3
\ No newline at end of file
c2e948a9ad6b27b4c8517b5364cd0d47
\ No newline at end of file
PicPuzzle/doxygen/html/class_pic_puzzle_1_1_main_frame__coll__graph.png

1.75 KiB | W: | H:

PicPuzzle/doxygen/html/class_pic_puzzle_1_1_main_frame__coll__graph.png

1.92 KiB | W: | H:

PicPuzzle/doxygen/html/class_pic_puzzle_1_1_main_frame__coll__graph.png
PicPuzzle/doxygen/html/class_pic_puzzle_1_1_main_frame__coll__graph.png
PicPuzzle/doxygen/html/class_pic_puzzle_1_1_main_frame__coll__graph.png
PicPuzzle/doxygen/html/class_pic_puzzle_1_1_main_frame__coll__graph.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -57,8 +57,6 @@
Collaboration diagram for PicPuzzle.Nonogram:</div>
<div class="dyncontent">
<div class="center"><img src="class_pic_puzzle_1_1_nonogram__coll__graph.png" border="0" usemap="#_pic_puzzle_8_nonogram_coll__map" alt="Collaboration graph"/></div>
<map name="_pic_puzzle_8_nonogram_coll__map" id="_pic_puzzle_8_nonogram_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
......
......@@ -59,8 +59,6 @@
Collaboration diagram for PicPuzzle.NonogramComponent:</div>
<div class="dyncontent">
<div class="center"><img src="class_pic_puzzle_1_1_nonogram_component__coll__graph.png" border="0" usemap="#_pic_puzzle_8_nonogram_component_coll__map" alt="Collaboration graph"/></div>
<map name="_pic_puzzle_8_nonogram_component_coll__map" id="_pic_puzzle_8_nonogram_component_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
......
......@@ -60,8 +60,6 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_hints_test_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>HintsTest.java</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_junit_test_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>JunitTest.java</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_main_frame_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>MainFrame.java</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_nonogram_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>Nonogram.java</b></td></tr>
......@@ -70,6 +68,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_nonogram_event_listener_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>NonogramEventListener.java</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_nonogram_test_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>NonogramTest.java</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
......
......@@ -52,8 +52,8 @@
<li>addListener()
: <a class="el" href="class_pic_puzzle_1_1_nonogram_component.html#a34dade72bc6a101a5db0f124f0f99c92">PicPuzzle.NonogramComponent</a>
</li>
<li>addNextButtonListener()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#ac744222f7abf6de5c096b6c090b2e463">PicPuzzle.MainFrame</a>
<li>addMainButtonListener()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#aebf529ea8d16900800d43c8648ede15b">PicPuzzle.MainFrame</a>
</li>
<li>equals()
: <a class="el" href="class_pic_puzzle_1_1_nonogram.html#aaeef1c59d9be340084ca7554b4eca339">PicPuzzle.Nonogram</a>
......@@ -104,8 +104,11 @@
<li>NonogramComponent()
: <a class="el" href="class_pic_puzzle_1_1_nonogram_component.html#a270ff20c870d8277cb10f8cec4460ce9">PicPuzzle.NonogramComponent</a>
</li>
<li>setNextButtonEnabled()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#a7510dc91b81f60580df1eca5f51a5e25">PicPuzzle.MainFrame</a>
<li>setMainButtonEnabled()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#a6df340cca5c43e00431b9551ef2708a9">PicPuzzle.MainFrame</a>
</li>
<li>setMainButtonText()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#ab3eeda6ac1138ccbba8c70356571da12">PicPuzzle.MainFrame</a>
</li>
<li>setNonogram()
: <a class="el" href="class_pic_puzzle_1_1_nonogram_component.html#aa16dd19b1a6f98752da59df62d653942">PicPuzzle.NonogramComponent</a>
......
......@@ -52,8 +52,8 @@
<li>addListener()
: <a class="el" href="class_pic_puzzle_1_1_nonogram_component.html#a34dade72bc6a101a5db0f124f0f99c92">PicPuzzle.NonogramComponent</a>
</li>
<li>addNextButtonListener()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#ac744222f7abf6de5c096b6c090b2e463">PicPuzzle.MainFrame</a>
<li>addMainButtonListener()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#aebf529ea8d16900800d43c8648ede15b">PicPuzzle.MainFrame</a>
</li>
<li>equals()
: <a class="el" href="class_pic_puzzle_1_1_nonogram.html#aaeef1c59d9be340084ca7554b4eca339">PicPuzzle.Nonogram</a>
......@@ -104,8 +104,11 @@
<li>NonogramComponent()
: <a class="el" href="class_pic_puzzle_1_1_nonogram_component.html#a270ff20c870d8277cb10f8cec4460ce9">PicPuzzle.NonogramComponent</a>
</li>
<li>setNextButtonEnabled()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#a7510dc91b81f60580df1eca5f51a5e25">PicPuzzle.MainFrame</a>
<li>setMainButtonEnabled()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#a6df340cca5c43e00431b9551ef2708a9">PicPuzzle.MainFrame</a>
</li>
<li>setMainButtonText()
: <a class="el" href="class_pic_puzzle_1_1_main_frame.html#ab3eeda6ac1138ccbba8c70356571da12">PicPuzzle.MainFrame</a>
</li>
<li>setNonogram()
: <a class="el" href="class_pic_puzzle_1_1_nonogram_component.html#aa16dd19b1a6f98752da59df62d653942">PicPuzzle.NonogramComponent</a>
......
......@@ -27,7 +27,8 @@ public class GameLogic implements NonogramEventListener, ActionListener {
won = false;
nonogramComponent = new NonogramComponent(new Nonogram(8, 8));
mainFrame = new MainFrame(nonogramComponent);
mainFrame.addNextButtonListener(this);
mainFrame.setMainButtonText("Next");
mainFrame.addMainButtonListener(this);
nonogramComponent.addListener(this);
loadLevel(level);
}
......@@ -47,18 +48,26 @@ public class GameLogic implements NonogramEventListener, ActionListener {
nonogramComponent.setPixel(gridX, gridY, true);
if (nonogramComponent.getBoardState().equals(currrentNonogram)) {
mainFrame.setTitleLabel("LEVEL COMPLETED");
mainFrame.setNextButtonEnabled(true);
mainFrame.setMainButtonEnabled(true);
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
level++;
if (!loadLevel(level)) {
mainFrame.setTitleLabel("YOU WIN!");
won = true;
mainFrame.setNextButtonEnabled(false);
if (!won) {
level++;
if (!loadLevel(level)) {
mainFrame.setTitleLabel("YOU WIN!");
won = true;
mainFrame.setMainButtonText("Restart");
}
} else {
level = 1;
won = false;
mainFrame.setMainButtonEnabled(false);
mainFrame.setMainButtonText("Next");
loadLevel(level);
}
}
......@@ -81,7 +90,7 @@ public class GameLogic implements NonogramEventListener, ActionListener {
nonogramComponent.setNonogram(currrentNonogram);
mainFrame.pack();
mainFrame.setTitleLabel("Level " + level);
mainFrame.setNextButtonEnabled(false);
mainFrame.setMainButtonEnabled(false);
} catch (Exception e) {
System.out.println(e.toString());
fileLoaded = false;
......
......@@ -19,7 +19,7 @@ public class MainFrame extends JFrame {
private static final long serialVersionUID = 4747661883778218510L;
private NonogramComponent nc;
private JLabel topLabel;
private JButton nextButton;
private JButton mainButton;
/**
* Create the frame with a Nonogram puzzle displayed
......@@ -56,12 +56,12 @@ public class MainFrame extends JFrame {
gc.gridy = 0;
mainPanel.add(topLabel, gc);
nextButton = new JButton("Next");
nextButton.setEnabled(false);
mainButton = new JButton();
mainButton.setEnabled(false);
gc = new GridBagConstraints();
gc.gridx = 1;
gc.gridy = 2;
mainPanel.add(nextButton, gc);
mainPanel.add(mainButton, gc);
gc = new GridBagConstraints();
gc.gridx = 1;
......@@ -79,18 +79,27 @@ public class MainFrame extends JFrame {
}
/**
* Enable or disable the next button
* @param enabled If true the next button is enabled, false disables it
* Enable or disable the main button. Enabled means it is visible and disabled means it is hidden
* @param enabled If true the main button is enabled, false disables it
*/
public void setNextButtonEnabled(boolean enabled) {
nextButton.setEnabled(enabled);
public void setMainButtonEnabled(boolean enabled) {
mainButton.setEnabled(enabled);
mainButton.setVisible(enabled);
}
/**
* Add a listener to get events from the next button
* Change the text on the main button
* @param label The new text to display on the button
*/
public void setMainButtonText(String label) {
mainButton.setText(label);
}
/**
* Add a listener to get events from the main button
* @param listener The listener which will receive events
*/
public void addNextButtonListener(ActionListener listener) {
nextButton.addActionListener(listener);
public void addMainButtonListener(ActionListener listener) {
mainButton.addActionListener(listener);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment