📄 solitaire.java
字号:
/*
* Solitaire.java
*
* Projektet Solitaire 鋜 en datoriserad version av
* br鋎spelet med samma namn. Spelet utvecklas som
* som en laboration under kursen
* Objekthanterad programmering med Java II
* vid h鰃skolan Gotland.
*/
package Solitaire;
import java.awt.Component;
import java.awt.Point;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Vector;
import javax.swing.JLayeredPane;
import javax.swing.JOptionPane;
/**
* Beskriver spelbr鋎et, med spelkulor. Styr dragen, om ett drag 鋜 giltigt,
* och utf鰎 dem. Kan rita sig sj鋖v.
* @version 2008-01-11
* @author M錸s Th鰎nqvist
*/
public class Solitaire
{
/**
* F鋖t
*/
private HashMap mMarbles; // Lagrar spelkulorna
private JLayeredPane mPane; // Grafikf鰊stret
private JFrameBoard mFrame;
/**
* Konstruktor, initialiserar programmet
*/
public Solitaire()
{
// skapa en ny HashMap att lagra kulorna i
mMarbles = new HashMap();
// skapa ett nytt GUI, spellogiken som argument
mFrame = new JFrameBoard(this);
// h鋗ta ContentPane och casta till JLayeredPane
mPane = (JLayeredPane) mFrame.getContentPane().getComponent(0);
// starta ett nytt spel
newGame();
}
/**
* Rensar alla eventuella befintliga kulor, skapar nya och placerar ut
* i utg錸gsformation inf鰎 nytt spel.
*/
public void newGame()
{
clearGame(); // Rensa alla eventuella kulor.
for (int k = 0; k < 81; k++)
{
// omvandla till x och y
int x = k % 9;
int y = k / 9;
// om inte h鰎n, och inte mitten, skapa en marble
if (((x > 2 && x < 6) || (y > 2 && y < 6)) && (k != 40))
{
// skapa ny marble
JLabelMarble kula = new JLabelMarble(this, posToPoint(k));
// l鋑g till den b錮e i hashmap och p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -