User Tools

Site Tools


resources_for_snakegame

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
resources_for_snakegame [2022/05/11 12:47] – created frchrisresources_for_snakegame [2022/05/14 09:17] (current) frchris
Line 1: Line 1:
 **Snake Game** **Snake Game**
 +{{::screen_shot_2022-05-11_at_11.46.13_am.png?600|}}
  
-<code> +  * {{ ::turn.java |Turn.java}} 
-import java.awt.Color; +  * {{ ::segment.java |Segment.java}} 
-import java.awt.Font; +  * {{ ::snake.java |Snake.java}} 
-import java.awt.Graphics; +  * {{ ::snakegame.java |SnakeGame.java}} 
-import java.awt.event.ActionEvent; +  * {{ ::snakegame.jar }}
-import java.awt.event.ActionListener; +
-import java.awt.event.KeyEvent; +
-import java.awt.event.KeyListener; +
-import javax.swing.JFrame; +
-import javax.swing.JPanel; +
-import javax.swing.Timer;+
  
-public class SnakeGame extends JPanel implements KeyListener, ActionListener +This is some starter code. What it doesn't do: 
-+  check for collisions with sides or itself 
-    public static int WIDTH=800; +  - lengthen over time (spawn more segments
-    public static int HEIGHT=600; +  keep score 
-    public static int SIZE=30; +  spawn fruit to eat
- +
-    private Font titleFont, regularFont; +
-    private int x,y; +
-    private Timer timer; +
-    private Snake snake; +
- +
-    public SnakeGame()  +
-    { +
- +
-        snake = new Snake(WIDTH/2, HEIGHT/2, SIZE); +
-        titleFont = new Font("Roman", Font.BOLD, 18); +
-        regularFont = new Font("Helvetica", Font.PLAIN, 12); +
-        y=0; +
-        x=200; +
-        timer = new Timer(10, this); //1000=1 seconds  +
-        timer.start(); +
- +
-    } +
- +
-    public static void main(String[] args) { +
-        SnakeGame app= new SnakeGame(); +
-        JFrame window = new JFrame("Snake Version 0.1"); +
-        window.setSize(WIDTH, HEIGHT); +
-        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +
-        window.getContentPane().add(app); +
-        window.addKeyListener(app); +
-        //window.pack(); +
-        window.setVisible(true); +
- +
-    } +
- +
-    public void paintComponent(Graphics g){ +
-        super.paintComponent(g); +
-        g.setColor(Color.WHITE); +
-        g.fillRect(0, 0, getWidth(),getHeight()); +
-        g.setColor(Color.BLUE); +
-        g.setFont(titleFont); +
-        g.drawString("SnakeGame Example", 20, 20); +
-        g.setColor(Color.BLACK); +
-        g.setFont(regularFont); +
-        snake.draw(g); +
- +
-    } +
- +
-    // These 3 methods need to be declares to implement the KeyListener Interface +
-    @Override +
-    public void keyTyped(KeyEvent e) {} +
- +
-    @Override +
-    public void keyPressed(KeyEvent e) { +
-        int code=e.getKeyCode(); +
- +
-        if (code ==39) // right +
-            snake.changeDirection('e'); +
-        else if (code == 37 ) //left +
-            snake.changeDirection('w'); +
-        else if (code == 38 ) //left +
-            snake.changeDirection('n'); +
-        else if (code == 40 ) //left +
-            snake.changeDirection('s'); +
- +
-        repaint(); +
-    } +
- +
-    @Override +
-    public void keyReleased(KeyEvent e) {} +
- +
-    @Override +
-    public void actionPerformed(ActionEvent e) { +
- +
-        if (e.getSource()==timer){ +
-            snake.move(); +
-        } +
-        repaint(); +
-    } +
- +
-+
-</code> +
-<code> +
-import java.awt.*; +
- +
-public class Snake +
-+
-    // instance variables replace the example below with your own +
-    private int x, y, size; +
-     +
-    private char direction; +
-     +
-    /** +
-     * Constructor for objects of class Snake +
-     */ +
-    public Snake(int x, int y, int size) +
-    { +
-        // initialise instance variables +
-        this.x = x; +
-        this.y = y; +
-        this.size = size; +
-        direction = 'e'; +
-    } +
-    public void draw(Graphics g) +
-    { +
-         +
-       g.setColor(Color.GREEN); +
-       if (direction == 'e' || direction== 'w'+
-           g.fillOval(x, y, 2*size,size);  +
-       else  +
-           g.fillOval(x, y, size,2*size);  +
-    } +
-    /** +
-     * An example of a method - replace this comment with your own +
-     *  +
-     * @param  y   a sample parameter for a method +
-     * @return     the sum of x and y  +
-     */ +
-    public void move() +
-    { +
-        if (direction == 'e'+
-            x++; +
-        else if (direction == 'w'+
-            x--; +
-        else if (direction == 'n'+
-            y--; +
-        else if (direction == 's'+
-            y++; +
-             +
-    } +
-    public void changeDirection(char ch) +
-    { +
-        direction = ch; +
-    } +
-+
- +
-</code>+
  
resources_for_snakegame.1652287665.txt.gz · Last modified: 2022/05/11 12:47 by frchris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki