Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- public class Card extends JButton {
- private int id;
- private boolean matched=false;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public boolean isMatched() {
- return this.matched;
- }
- public void setMatched(boolean matched) {
- this.matched = matched;
- }
- }
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- public class Board extends JFrame {
- private List<Card> cards;
- private Card selectedCard;
- private Card c1;
- private Card c2;
- private Timer t;
- public Board(Object selectedGameSize){
- Timer gameTime = new Timer(0, new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- //konczy odmierzac czas gdy isGameWon jest true
- }
- });
- //watek do czasu
- int pairs = (int)selectedGameSize;
- List<Card> cardsList = new ArrayList<Card>();
- List<Integer> cardVals = new ArrayList<Integer>(); //podstawic tu obrazki zamiasty values
- for(int i=0; i<pairs; i++){
- cardVals.add(i);
- cardVals.add(i);
- }
- Collections.shuffle(cardVals);
- for(int val : cardVals){
- Card c = new Card();
- c.setId(val);
- c.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- selectedCard=c;
- doTurn();
- }
- });
- cardsList.add(c);
- }
- this.cards = cardsList;
- t=new Timer(250, new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- checkCards();
- }
- });
- t.setRepeats(false);
- Container pane = getContentPane();
- pane.setLayout(new GridLayout(3, 3));
- for(Card c :cards){
- pane.add(c);
- }
- setTitle("Memory Match");
- }
- public void doTurn(){
- if(c1==null && c2==null){
- c1=selectedCard;
- c1.setText(String.valueOf(c1.getId()));
- }
- if(c1 != null && c1 != selectedCard && c2 == null){
- c2 = selectedCard;
- c2.setText(String.valueOf(c2.getId()));
- t.start();
- }
- }
- public void checkCards(){
- if(c1.getId() == c2.getId()){
- c1.setEnabled(false);
- c2.setEnabled(false);
- c1.setMatched(true);
- c2.setMatched(true);
- String msgwin = "You Win!\nYour Time Is: \n";
- if(this.isGameWon()){
- JOptionPane.showMessageDialog(this, msgwin);
- //zrobic zeby powracalo do menu i gasilo okno gry
- MainMenu mm = new MainMenu();
- }
- }
- else{
- c1.setText("");
- c2.setText("");
- }
- c1=null;
- c2=null;
- }
- public boolean isGameWon(){
- return this.cards.stream().allMatch(c -> c.isMatched());
- }
- private void getCardImg(){
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement