import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class menu
extends JFrame{ private static final long serialVersionUID = 1L;
centrum centrum;
prawa prawa;
ranking ran;
super(title);
setSize(600, 500); //
setResizable(false); //
setLayout(null); // ustawienia okna
setLocation((location.width-600)/2,(location.height-500)/2); //
setDefaultCloseOperation
(JFrame.
EXIT_ON_CLOSE); //
prawa = new prawa();
centrum = new centrum();
ran = new ranking(this, prawa);
prawa.referencja(centrum);
centrum.referencja(prawa,this,ran);
add(prawa);
add(centrum);
}
public static void main
(String[] args
) {
j.setVisible(true);
}
}
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class prawa
extends JPanel{ private static final long serialVersionUID = 1L;
centrum cen;
public void referencja(centrum cen){
this.cen=cen;
}
public prawa(){
this.setBounds(500, 0, 100, 500);
this.setLayout(null);
if(!cen.t.isAlive()==true){
cen.t.start();
zacznij.setVisible(false);
predkosc.setVisible(false);
}
else {
cen.odnowa();
zacznij.setVisible(false);
predkosc.setVisible(false);
}
}
});
zacznij.
setAlignmentX(Component.
CENTER_ALIGNMENT); zacznij.setBounds(0, 0, 100, 40);
add(zacznij);
punkty.
setForeground(Color.
LIGHT_GRAY); punkty.
setFont(new Font("Tekton Pro Cond",
Font.
BOLD,
20)); punkty.setBounds(0, 50, 100, 25);
add(punkty);
ilosc.
setForeground(Color.
GREEN); ilosc.
setFont(new Font("Sylfaen",
Font.
BOLD | Font.
ITALIC,
20)); ilosc.setBounds(0, 80, 100, 25);
add(ilosc);
predkosc.setPaintTicks(true);
predkosc.setPaintLabels(true);
predkosc.setValue(5);
predkosc.setMinimum(1);
predkosc.setMaximum(10);
predkosc.setMajorTickSpacing(1);
predkosc.setBounds(0, 105, 100, 200);
predkosc.setEnabled(true);
add(predkosc);
}
}
import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JPanel;
private static final long serialVersionUID = 1L;
int dots=5; // ilosc kropek
int aX, aY; // x i y jabłbka
boolean apple=false;
boolean czysc = false;
boolean ramka=false;
ArrayList<Integer> x,y;
prawa prawa;
menu menu;
ranking ranking;
boolean left=false,right=true,up=false,down=false;
public void referencja(prawa prawa, menu menu, ranking ranking){
this.prawa = prawa;
this.menu = menu;
this.ranking = ranking;
}
public centrum() {
this.setLayout(null);
this.setBounds(0, 0, 500, 500);
x = new ArrayList<Integer>();
y = new ArrayList<Integer>();
for(int i =0;i<(dots)*10;i+=10){
x.add(100-i);
y.add(250);
}
}
public void run() {
setFocusable(true);
sterowanie sterowanie = new sterowanie(this);
addKeyListener(sterowanie);
synchronized (this) {
while(true){
for (int i = dots-1;i>0;i--){ //
x.set(i, x.get(i-1)); //
y.set(i, y.get(i-1)); //
} //
//
if(sterowanie.gora==true){ //
y.set(0, y.get(0)-10); //
} //
if(sterowanie.dol==true){ // ustawianie współrzędnych
y.set(0, y.get(0)+10); //
} //
if(sterowanie.lewo==true){ //
x.set(0, x.get(0)-10); //
} //
if(sterowanie.prawo==true){ //
x.set(0, x.get(0)+10); //
} //
if(apple == false){
apple=true;
aX = r.nextInt(47)*10+10;
aY = r.nextInt(44)*10+10;
}
if(aX==x.get(0) && aY==y.get(0)){
apple=false;
x.add(-50);
y.add(-50);
dots++;
prawa.
ilosc.
setText(Integer.
parseInt(prawa.
ilosc.
getText())+prawa.
predkosc.
getValue()+""); }
repaint();
try {
Thread.
sleep(300/prawa.
predkosc.
getValue()); e.printStackTrace();
}
if ( (x.get(0) == 0 || x.get(0) == 490 || y.get(0) == 0 || y.get(0) == 460) || najechanie()){
ramka=false;
try {
czysc = true;
ranking.punkty.setText(prawa.ilosc.getText());
prawa.predkosc.setVisible(true);
prawa.zacznij.setVisible(true);
menu.ran.setVisible(true);
wait();
repaint();
prawa.ilosc.setText("0");
x.clear(); y.clear();
dots=5;
for(int i =0;i<(dots)*10;i+=10){
x.add(100-i);
y.add(250);
dots=5;
apple=false;
sterowanie.lewo=false;sterowanie.prawo=true;sterowanie.dol=false;sterowanie.gora=false;
}
e.printStackTrace();
}
}
}
}
}
synchronized void odnowa(){
notify();
}
boolean najechanie(){
for (int i = 1;i<dots;i++){
if( (x.get(0).equals(x.get(i))) && y.get(0).equals(y.get(i)) )
return true;
}
return false;
}
if(ramka==false){
for(int i = 0;i<500;i+=10){
g.fillRect(i, 0, 10, 10);
g.fillRect(0, i, 10, 10); // rysowanie granic
g.fillRect(490, i, 10, 10);
g.fillRect(i, 460, 10, 15);
}
}
g.fillRect(x.get(0), y.get(0), 10, 10);
int k=0;
for(int i=1;i<dots-1;i++){
if(i>125){
k=i-125;
g.
setColor(new Color(255-k
*2,k
*2,
255-k
*2)); }
else{
k=i;
g.
setColor(new Color(k
*2,
255-k
*2,k
*2)); }
g.fillRect(x.get(i), y.get(i), 10, 10);
g.
setColor(new Color(0,
0,
0)); g.fillOval(x.get(i), y.get(i), 10, 10);
}
g.setColor(getBackground());
g.fillRect(x.get(x.size()-1), y.get(y.size()-1), 10, 10);
if(apple == true){
g.fillOval(aX, aY, 10, 10);
}
if(czysc==true){
for(int i=0;i<dots-1;i++){
g.setColor(getBackground());
g.fillRect(x.get(i), y.get(i), 10, 10);
g.fillRect(aX, aY, 10, 10);
}
czysc=false;
}
}
}
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class ranking
extends JDialog{ private static final long serialVersionUID = 1L;
Scanner skanuj;
prawa prawa;
ArrayList<String> lista = new ArrayList<String>();
ArrayList<String> points = new ArrayList<String>();
public ranking
(JFrame okno, prawa prawa
){ super(okno,"RANKING GRACZY",true);
this.prawa=prawa;
setResizable(false);
getContentPane().setEnabled(false);
this.setSize(300, 300);
getContentPane().setLayout(null);
setLocation((location.width-300)/2,(location.height-300)/2);
@Override
if(!nicktext.getText().trim().equals("")){
pozycjonowanie();
zmienDane();
setVisible(false);
}
}
});
zatwierdz.setBounds(50, 230, 90, 30);
getContentPane().add(zatwierdz);
@Override
setVisible(false);
}
});
wroc.setBounds(150, 230, 90, 30);
getContentPane().add(wroc);
nick.
setFont(new Font("Tekton Pro",
Font.
PLAIN,
30)); nick.setBounds(57, 11, 184, 30);
getContentPane().add(nick);
l
[0] = new JLabel("New label"); l[0].setBounds(50, 77, 100, 14);
getContentPane().add(l[0]);
l
[1] = new JLabel("New label"); l[1].setBounds(50, 102, 100, 14);
getContentPane().add(l[1]);
l
[2] = new JLabel("New label"); l[2].setBounds(50, 127, 100, 14);
getContentPane().add(l[2]);
l
[3] = new JLabel("New label"); l[3].setBounds(50, 155, 100, 14);
getContentPane().add(l[3]);
l
[4] = new JLabel("New label"); l[4].setBounds(50, 180, 100, 14);
getContentPane().add(l[4]);
nicktext.setBounds(54, 46, 128, 20);
getContentPane().add(nicktext);
nicktext.setColumns(10);
wynik.
setFont(new Font("Tekton Pro",
Font.
BOLD | Font.
ITALIC,
14)); wynik.setBounds(192, 46, 46, 14);
getContentPane().add(wynik);
punkty.
setForeground(Color.
GREEN); punkty.
setFont(new Font("Tahoma",
Font.
BOLD | Font.
ITALIC,
14)); punkty.setBounds(238, 46, 46, 14);
getContentPane().add(punkty);
p
[0] = new JLabel("New label"); p[0].setBounds(150, 77, 46, 14);
getContentPane().add(p[0]);
p
[1] = new JLabel("New label"); p[1].setBounds(150, 102, 46, 14);
getContentPane().add(p[1]);
p
[2] = new JLabel("New label"); p[2].setBounds(150, 127, 46, 14);
getContentPane().add(p[2]);
p
[3] = new JLabel("New label"); p[3].setBounds(150, 155, 46, 14);
getContentPane().add(p[3]);
p
[4] = new JLabel("New label"); p[4].setBounds(150, 180, 46, 14);
getContentPane().add(p[4]);
wczytywanie();
}
@SuppressWarnings("resource")
private void wczytywanie(){
plik = "ranking.txt";
plikDane
= new File(plik
); try {
Scanner skanuj = new Scanner(plikDane);
while(skanuj.hasNextLine()){
lista.add(skanuj.nextLine());
points.add(skanuj.nextLine());
}
for (int i=0;i<5;i++){
l[i].setText(lista.get(i));
p[i].setText(points.get(i)+"");
}
}
nowyPlik();
}
}
}
private void nowyPlik(){
try {
zapisz.println("Anonim ");
zapisz.println("500");
zapisz.println("Anonim ");
zapisz.println("415");
zapisz.println("Anonim ");
zapisz.println("364");
zapisz.println("Anonim ");
zapisz.println("274");
zapisz.println("Anonim ");
zapisz.println("170");
zapisz.close();
wczytywanie();
}
}
}
private void zmienDane(){
try {
for(int i = 0; i<lista.size();i++){
zapisz.println(lista.get(i));
zapisz.println(points.get(i));
}
zapisz.close();
wczytywanie();
}
}
}
private void pozycjonowanie(){
for(int i = 0;i<points.size();i++){
if( Integer.
parseInt(points.
get(i
)) < Integer.
parseInt(punkty.
getText())){ points.add(i, punkty.getText()+"");
points.remove(points.size()-1);
lista.add(i, nicktext.getText().trim()+"");
lista.remove(lista.size()-1);
break;
}
}
}
}