遊戲開發之選擇圓圈

來源:互聯網
上載者:User

import javax.swing.*;<br />import java.awt.*;<br />import java.awt.event.*;<br />/*<br />*一.做一個2D的地圖程式<br />*1.做個12x16矩陣方格<br />*2.每個方格的長度和寬度為40像素<br />*3.可以選擇每個方塊<br />*4.根據1是牆0是路排列方塊<br />*/<br />public class MapTest1<br />extends JApplet<br />implements Runnable,MouseListener,MouseMotionListener<br />{<br />int AppletHeight,AppletWidth,mouseX,mouseY;<br />Image OffScreen;<br />Graphics drawOffScreen;<br />Thread tt;<br />int a1 = 40,<br />map1[][]={<br /> //1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />{1,1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1},//1<br />{1,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0},//2<br />{1,0,0,0,1,0,0,0,0,0, 0, 0, 0, 1, 0, 0},//3<br />{1,0,0,0,0,0,0,1,0,0, 0, 0, 0, 0, 0, 0},//4<br />{1,0,0,0,0,0,0,0,0,1, 0, 0, 0, 0, 0, 0},//5<br />{1,0,0,0,1,0,0,1,0,0, 1, 0, 0, 0, 0, 0},//6<br />{1,0,0,0,0,0,0,0,0,0, 0, 0, 1, 0, 1, 0},//7<br />{1,0,0,0,0,0,0,1,0,0, 0, 0, 0, 0, 0, 0},//8<br />{1,0,0,1,0,0,0,0,0,0, 0, 1, 0, 0, 0, 0},//9<br />{1,0,1,0,0,0,0,0,1,0, 0, 0, 0, 0, 0, 0},//10<br />{1,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0},//11<br />{1,1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1}//12<br />};<br />public void init()<br />{<br />addMouseListener(this);<br />addMouseMotionListener(this);<br />resize(640,480);<br />AppletHeight = getHeight();<br />AppletWidth = getWidth();<br />OffScreen = createImage(AppletWidth,AppletHeight);<br />drawOffScreen = OffScreen.getGraphics();<br />System.out.println(map1.length);//12<br />System.out.println(map1[0].length);//16<br />}<br />public void paint(Graphics g)<br />{<br />drawOffScreen.clearRect(0,0,this.getWidth(),this.getHeight());<br />for(int i1 = 0 ;i1<map1[0].length;i1++)<br />{<br />for(int i2 = 0;i2<map1.length;i2++)<br />{<br />switch(map1[i2][i1])<br />{<br />case 0:<br />drawOffScreen.setColor(Color.red);<br />drawOffScreen.fillOval(i1*a1,i2*a1,a1,a1);<br />break;<br />case 1:<br />drawOffScreen.setColor(Color.blue);<br />drawOffScreen.fillOval(i1*a1,i2*a1,a1,a1);<br />break;<br />case 2:<br />drawOffScreen.setColor(Color.black);<br />drawOffScreen.fillOval(i1*a1,i2*a1,a1,a1);<br />break;<br />}<br />}<br />}<br />g.drawImage(OffScreen,0,0,this);<br />}<br />public void start()<br />{<br />tt = new Thread(this);<br />tt.start();<br />}<br />public void stop(){}<br />public void update(Graphics g){paint(g);}<br />public void run()<br />{<br />while(tt !=null)<br />{<br />repaint();<br />try{<br />Thread.sleep(33);<br />}catch(Exception e){}<br />}<br />}<br />public void mouseExited(MouseEvent e){}<br />public void mouseClicked(MouseEvent e)<br />{<br />mouseX = e.getX()/40;<br />mouseY = e.getY()/40;<br />System.out.println("mouseClicked "+e.getX());<br />System.out.println("mouseClicked "+e.getY());<br />System.out.println(mouseX);<br />System.out.println(mouseY);<br />map1[mouseY][mouseX] = 2;<br />}<br />public void mouseEntered(MouseEvent e){}<br />public void mousePressed(MouseEvent e){}<br />public void mouseReleased(MouseEvent e){}<br />public void mouseMoved(MouseEvent e){}<br />public void mouseDragged(MouseEvent e){}<br />} 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.