Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import java.util.Random;;
- public class TicTacToe extends Frame {
- int stones[][] = new int[9][3];
- public TicTacToe(String title) {
- super(title);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent evt) { dispose(); }
- });
- addMouseListener(new MyMouseListener());
- int frameWidth = 300;
- int frameHeight = 300;
- setSize(frameWidth, frameHeight);
- Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
- int x = (d.width - getSize().width) / 2;
- int y = (d.height - getSize().height) / 2;
- setLocation(x, y);
- setResizable(true);
- setVisible(true);
- }
- int fieldSize = 80;
- int fieldOffsetX = 30;
- int fieldOffsetY = 40;
- int clickedField = -1;
- int player = 1;
- public void paint(Graphics g){
- if (clickedField > -1 && stones[clickedField][2] == 0) {
- stones[clickedField][2] = player;
- if (player == 1) {
- player = 2;
- }
- else{
- player = 1;
- }
- clickedField = -1;
- }
- paintPlanes(g);
- paintStones(g);
- }
- public void paintPlanes(Graphics g){
- for (int x = 0; x < 3;x++ ) {
- for (int y = 0; y < 3;y++ ) {
- int xPos = x*fieldSize+fieldOffsetX;
- int yPos = y*fieldSize+fieldOffsetY;
- g.drawRect(xPos,yPos,fieldSize,fieldSize);
- }
- }
- }
- public void paintStones(Graphics g){
- for (int[] i : stones ) {
- int x = i[0]*fieldSize+fieldOffsetX;
- int y = i[1]*fieldSize+fieldOffsetY;
- int t = i[2];
- switch (t) {
- case 1:
- g.drawOval(x,y,fieldSize,fieldSize);
- break;
- case 2:
- g.drawLine(x,y,x+fieldSize,y+fieldSize);
- g.drawLine(x,y+fieldSize,x+fieldSize,y);
- }
- }
- }
- public class MyMouseListener extends MouseAdapter{
- public void mouseClicked(MouseEvent e){
- int mX = e.getX();
- int mY = e.getY();
- int counter = 0;
- for (int x = 0; x < 3;x++ ) {
- for (int y = 0; y < 3;y++ ) {
- int xPos = x*fieldSize+fieldOffsetX;
- int yPos = y*fieldSize+fieldOffsetY;
- if (mX > xPos && mY > xPos && mX < xPos+fieldSize && mY < yPos+fieldSize) {
- clickedField = counter;
- }
- counter++;
- }
- }
- System.out.println(clickedField);
- repaint();
- }
- }
- /* public void fillRandom(){
- Random r = new Random();
- int counter = 0;
- for (int x = 0; x < 3;x++ ) {
- for (int y = 0; y < 3;y++ ) {
- stones[counter][0] = x;
- stones[counter][1] = y;
- stones[counter][2] = (int)(r.nextDouble()*3);
- counter++;
- }
- }
- repaint();
- } */
- // Anfang Methoden
- public static void main(String[] args) {
- new TicTacToe("TicTacToe");
- } // end of main
- // Ende Methoden
- } // end of class TicTacToe
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement