Вот код ~2010-2013 гг., файл называется Hauptmenu.java:
Код:
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Date;
import java.util.Vector;
import java.io.*;
/*
* <APPLET
CODEBASE = "./JAR_Applet"
ARCHIVE = "JAR_Applet.jar"
CODE = "JAR_Applet/JAR_Applet.class"
NAME = "TestApplet"
>
* */
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Hauptmenu extends Applet implements Runnable {
private static int status;
private Panel panel;
private Panel panelGame;
private static Label lbMoney;
private static long einwohner;
private static long money;
private static long pbau;
private static long hbau;
private static long fbau;
private static long pobau;
private static long kbau;
private static long sbau;
private static long zeit;
private static long anzArbeitslos;
private static long anzStarb;
private static long anzKriminalitaet;
private static int posxK[];
private static int maxxK;
private static int posxPB[];
private static int maxxPB;
private static int posxH[];
private static int maxxH;
private static int posxF[];
private static int maxxF;
private static int posxPO[];
private static int maxxPO;
private static int posxS[];
private static int maxxS;
private java.net.URL urlLK;
private java.net.URL urlPB;
private java.net.URL urlH;
private java.net.URL urlF;
private java.net.URL urlP;
private java.net.URL urlS;
private java.net.URL urlK;
private java.net.URL urlMus;
private int tag;
private int monat;
private int jahr;
// private static int items[];
public static String getMonat(int m)
{
String monat;
monat = "";
if(m == 1)
monat = "Januar";
if(m == 2)
monat = "Februar";
if(m == 3)
monat = "März";
if(m == 4)
monat = "April";
if(m == 5)
monat = "Mai";
if(m == 6)
monat = "Juni";
if(m == 7)
monat = "Juli";
if(m == 8)
monat = "August";
if(m == 9)
monat = "September";
if(m == 10)
monat = "Oktober";
if(m == 11)
monat = "November";
if(m == 12)
monat = "Dezember";
return monat;
}
public static Panel command()
{
Button btnBauHaeuser;
Button btnBauPlattenBau;
Button btnBauFabrik;
Button btnBauPolizeistation;
Button btnBauKrankenhaus;
Button btnBauSchule;
Panel panelCommand = new Panel();
{
panelCommand.setLayout(new GridLayout(0,5));
btnBauHaeuser = new Button("Neue Häuser bauen");
{
btnBauHaeuser.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0)
{
for(int j=0; j<10; j++)
{
posxH[maxxH] = (int)Math.floor(Math.random()*60) + 1;
maxxH ++;
}
hbau += 10;
money -= 10000;
einwohner += 20;
anzArbeitslos += 20;
/*lbMoney.setVisible(false);
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + anzArbeitslos + ", Datum:" + tag + " " + getMonat(monat) + " " + jahr);
lbMoney.setVisible(true);*/
}
}
);
}
}
panelCommand.add(btnBauHaeuser);
btnBauPlattenBau = new Button("Neuer Plattenbau bauen");
{
btnBauPlattenBau.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0)
{
for(int j=0; j<10; j++)
{
posxPB[maxxPB] = (int)Math.floor(Math.random()*60) + 1;
maxxPB ++;
}
pbau += 10;
money -= 100000;
einwohner += 1000;
anzArbeitslos += 1000;
/* lbMoney.setVisible(false);
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + anzArbeitslos);
lbMoney.setVisible(true);*/
}
}
);
}
panelCommand.add(btnBauPlattenBau);
btnBauFabrik = new Button("Neue Fabrik bauen");
{
btnBauFabrik.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0)
{
money -= 500000;
anzArbeitslos -= 1000;
fbau += 1;
posxF[maxxF] = (int)Math.floor(Math.random()*60) + 1;
maxxF ++;
/* lbMoney.setVisible(false);
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + anzArbeitslos);
lbMoney.setVisible(true);*/
}
}
);
}
panelCommand.add(btnBauFabrik);
btnBauPolizeistation = new Button("Neue Polizeistation bauen");
{
btnBauPolizeistation.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0)
{
money -= 10000;
anzArbeitslos -= 100;
posxPO[maxxPO] = (int)Math.floor(Math.random()*60) + 1;
maxxPO ++;
pobau ++;
anzKriminalitaet -= 5;
/* lbMoney.setVisible(false);
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + anzArbeitslos);
lbMoney.setVisible(true);*/
}
}
);
}
panelCommand.add(btnBauPolizeistation);
btnBauKrankenhaus = new Button("Neues Krankenhaus bauen");
{
btnBauKrankenhaus.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0)
{
money -= 100000;
anzArbeitslos -= 100;
posxK[maxxK] = (int)Math.floor(Math.random()*60) + 1;
maxxK ++;
kbau ++;
anzKriminalitaet -= 5;
/* lbMoney.setVisible(false);
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + anzArbeitslos);
lbMoney.setVisible(true);*/
}
}
);
}
panelCommand.add(btnBauKrankenhaus);
btnBauSchule = new Button("Neue Schule bauen");
{
btnBauSchule.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent arg0) {}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0)
{
money -= 100000;
anzArbeitslos -= 100;
anzKriminalitaet -= 5;
posxS[maxxS] = (int)Math.floor(Math.random()*60) + 1;
maxxS ++;
sbau ++;
/* lbMoney.setVisible(false);
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + anzArbeitslos);
lbMoney.setVisible(true);*/
}
}
);
}
panelCommand.add(btnBauSchule);
return panelCommand;
}
public void init()
{
maxxF = 0;
maxxH = 0;
maxxK = 0;
maxxPB = 0;
maxxPO = 0;
maxxS = 0;
posxF = new int[10000];
posxH = new int[10000];
posxK = new int[10000];
posxPB = new int[10000];
posxPO = new int[10000];
posxS = new int[10000];
JOptionPane.showMessageDialog(null, "Copyright(c) 2010 AP\n\nMusik Software:\nMagix Music Maker 2008 Producer Edition\n\nGrafik:\nCorel Paint Shop XI\nGoogle Sketchup\n\nSFX:\nData Becker Hintergrundmusik und Sounds für Videos");
jahr = 2000;
monat = 1;
tag = 1;
/*items = new int[10];
for(int j=0; j<items.length; j++)
{
items[j] = 0;
}*/
urlLK = this.getClass().getResource("/images/landkarte2.gif");
urlPB = this.getClass().getResource("/images/platenbau2.gif");
urlH = this.getClass().getResource("/images/haus3.gif");
urlF = this.getClass().getResource("/images/fabrik3.gif");
urlP = this.getClass().getResource("/images/polizei22.gif");
urlS = this.getClass().getResource("/images/schule2.gif");
urlK = this.getClass().getResource("/images/KH.gif");
urlMus = this.getClass().getResource("/images/hm.wav");
try {
AudioClip ac = getAudioClip(getCodeBase(), urlMus.toExternalForm());
ac.loop();
}
catch(Exception ex){}
money = 10000000;
einwohner = 1;
status = 0;
pbau = 0;
hbau = 0;
pobau = 0;
kbau = 0;
sbau=0;
zeit = 0;
anzArbeitslos = 0;
anzStarb = 0;
Thread th = new Thread(this);
th.start();
setLayout(new BorderLayout());
lbMoney = new Label();
{
lbMoney.setText(""); //Kapital:" + money + "€, Einwohner:" + einwohner);
add(lbMoney, "North");
add(command(), "South");
}
// addMouseListener(this);
setSize(890,660);
}
public void paint(Graphics g)
{
Toolkit tk = this.getToolkit();
g.drawImage(tk.getImage(urlLK), 30, 30, this);
for(int j=0; j<pbau; j++)
{
g.drawImage(tk.getImage(urlPB), 30+posxPB[j], 60, this);
}
for(int j=0; j<hbau; j++)
{
g.drawImage(tk.getImage(urlH), 160+posxH[j], 340, this);
}
for(int j=0; j<fbau; j++)
{
g.drawImage(tk.getImage(urlF), 260+posxF[j], 60, this);
}
for(int j=0; j<pobau; j++)
{
g.drawImage(tk.getImage(urlP), 160+posxPO[j], 20, this);
}
for(int j=0; j<sbau; j++)
{
g.drawImage(tk.getImage(urlS), 260+posxPO[j], 10, this);
}
for(int j=0; j<kbau; j++)
{
g.drawImage(tk.getImage(urlK), 0+posxK[j], 250, this);
}
}
@Override
public void run()
{
while(true)
{
try {
zeit++;
//if(anzArbeitslos < 0) anzArbeitslos = 0;
tag++;
if(tag >= 30)
{
if(anzArbeitslos > 0)
money -= (anzArbeitslos * 100);
money += (fbau * 30);
money += (pobau * 10);
money += (hbau * 10);
money += (pbau * 20);
money += (sbau * 10);
money += (kbau * 20);
tag = 1;
monat ++;
}
if(tag == 20)
{
if(anzArbeitslos > 600)
anzKriminalitaet ++;
if(anzKriminalitaet > 10)
{
JOptionPane.showMessageDialog(this, "Die Kriminalität ist hoch. Bitte bauen Sie Polizeistation oder bauen Sie eine Fabrik. Je weniger Arbeitslos desto weniger Verbrechen.");
}
}
if(monat == (int)Math.floor(1+Math.random()*12))
{
if(anzKriminalitaet > 1 || anzArbeitslos > 5)
{
anzStarb += 2;
einwohner -= 2;
}
if(kbau == 0)
{
anzStarb += 2;
einwohner -= 2;
}
einwohner += 5;
}
if(monat >= 12)
{
tag = 1;
monat = 1;
jahr++;
}
if(zeit >= 1000)
{
zeit = 0;
if(einwohner > 1)
einwohner -= 1;
}
lbMoney.setVisible(false);
long tempAL = anzArbeitslos;
long tempAK = anzKriminalitaet;
if(anzArbeitslos < 0)
tempAL = 0;
if(anzKriminalitaet < 0)
tempAK = 0;
lbMoney.setText("Kapital:" + money + "€, Einwohner:" + einwohner + ",anz. Arbeitslos:" + tempAL + ", anz. Verbrechen:" + tempAK + ",Anzahl Menschen starb:" + anzStarb + ", Datum:" + tag + " " + getMonat(monat) + " " + jahr);
lbMoney.setVisible(true);
this.repaint();
Thread.sleep(1000);
}
catch(Exception ex){}
}
}
}