ئىنتىل تورى

 پارول قايتۇرىۋېلىش
 تىزىملىتىش
ئىزدەش
ئاۋات ئىزدەش: مۇسابىقەchromeexcelwordps
كۆرۈش: 488|ئىنكاس: 1

java دا يىلان يىيىش ئويۇنى ياساپ كۆرۈڭ [ئۇلانما كۆچۈرۈش]

Rank: 2

تۆھپە
23
تىللا
16
شۆھرەت
11
يوللىغان ۋاقتى 2012-1-18 13:00:12 |ھەممە قەۋەتنى كۆرۈش
كۆپچىلىكنىڭ java دا ئويۇن ياسساپ بېقىشىنى ئۈمىد قىلمەن . يەنە باشقا مەسىلىلەر بولسا مەن بىلەن ئالاقىلىشىڭ.. مەن مەردانجان ماڭسۇر (Handiyar)     
www.Handiyar.cn  Www.handiyar.Net           QQ:736969230      
   بۇ ئويۇن يىلان يىيىش ئويۇنى   ياسساپ كۆرۇنۈڭ.... سىزمۇ ئويۇن ياسسىيالايسىز...........
  1. package tanChiShe;
  2. import java.awt.Color;
  3. import java.awt.Container;
  4. import java.awt.Graphics;
  5. import java.awt.Toolkit;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.InputEvent;
  9. import java.awt.event.KeyEvent;
  10. import java.awt.event.KeyListener;

  11. import javax.swing.*;

  12. public class TanChiShe extends JFrame implements ActionListener, KeyListener,Runnable
  13. {
  14. private JMenuBar menuBar;
  15. private JMenu youXiMenu,nanDuMenu,fenShuMenu,guanYuMenu;
  16. private JMenuItem kaiShiYouXi,exitItem,zuoZheItem,fenShuItem;
  17. private JCheckBoxMenuItem cJianDan,cPuTong,cKunNan;
  18. private int length = 6;
  19. private Toolkit toolkit;
  20. private int i,x,y,z,objectX,objectY,object=0,growth=0,time;//bojectX,Y为食物坐标,z为蛇前进方向
  21. private int difficult=2;
  22. private int m[]=new int[50];
  23. private int n[]=new int[50];
  24. private Thread she = null;
  25. private int life=0;
  26. private int foods = 0;
  27. private int fenshu=0;

  28. public void run()
  29. {  
  30.   time=500;
  31.   for(i=0;i<=length-1;i++)
  32.   {
  33.    m=90-i*10;n=60;
  34.   }
  35.   
  36.   x=m[0];
  37.   y=n[0];
  38.   z=4;

  39.   while(she!=null)
  40.   {
  41.    
  42.    check();
  43.    try
  44.    {
  45.     she.sleep(time);
  46.    }
  47.    catch(Exception ee)
  48.    {
  49.     System.out.println(z+"");
  50.    }
  51.   }

  52. }


  53. public TanChiShe()
  54. {
  55.   //***************创建新对象**************
  56.   setVisible(true);
  57.   menuBar = new JMenuBar();
  58.   Container con=getContentPane();
  59.   toolkit=getToolkit();
  60.   
  61.   //**************游戏菜单对象*****************
  62.   youXiMenu = new JMenu("游戏");
  63.   kaiShiYouXi = new JMenuItem("开始游戏");
  64.   exitItem = new JMenuItem("退出游戏");
  65.   
  66.   //***************困难程度对象****************
  67.   nanDuMenu = new JMenu("困难程度");
  68.   cJianDan = new JCheckBoxMenuItem("简单");
  69.   cPuTong = new JCheckBoxMenuItem("普通");
  70.   cKunNan = new JCheckBoxMenuItem("困难");
  71.   
  72.   //*****************分数菜单对象****************
  73.   fenShuMenu = new JMenu("积分排行");
  74.   fenShuItem = new JMenuItem("最高记录");
  75.   
  76.   //****************关于对象*********************
  77.   guanYuMenu = new JMenu("关于");
  78.   zuoZheItem = new JMenuItem("关于作者");
  79.   
  80.   //***************设置关于菜单*******************
  81.   guanYuMenu.add(zuoZheItem);
  82.   
  83.   
  84.   //****************设置困难程度菜单**************
  85.   nanDuMenu.add(cJianDan);
  86.   nanDuMenu.add(cPuTong);
  87.   nanDuMenu.add(cKunNan);
  88.   
  89.   
  90.   //******************设置分数菜单***************
  91.   
  92.   fenShuMenu.add(fenShuItem);
  93.   
  94.   
  95.   //*****************设置游戏菜单****************
  96.   
  97.   
  98.   youXiMenu.add(kaiShiYouXi);
  99.   youXiMenu.add(exitItem);
  100.   
  101.   
  102.   //******************设置主菜单********************
  103.   
  104.   
  105.   menuBar.add(youXiMenu);
  106.   menuBar.add(nanDuMenu);
  107.   menuBar.add(fenShuMenu);
  108.   menuBar.add(guanYuMenu);
  109.   
  110.   
  111.   //*********************监听注册*****************
  112.   
  113.   zuoZheItem.addActionListener(this);
  114.   kaiShiYouXi.addActionListener(this);
  115.   exitItem.addActionListener(this);
  116.   addKeyListener(this);
  117.   fenShuItem.addActionListener(this);
  118.   
  119.   
  120.   //*********************加快捷键********************
  121.   
  122.   
  123.   KeyStroke keyOpen = KeyStroke.getKeyStroke('O',InputEvent.CTRL_DOWN_MASK);
  124.   kaiShiYouXi.setAccelerator(keyOpen);
  125.   KeyStroke keyExit = KeyStroke.getKeyStroke('X',InputEvent.CTRL_DOWN_MASK);
  126.   exitItem.setAccelerator(keyExit);
  127.   
  128.   
  129.   //*****************设置框架**********************
  130.   
  131.   
  132.   setJMenuBar(menuBar);
  133.   setTitle("贪吃蛇");
  134.   setResizable(false);
  135.   setBounds(300,200,400,400);
  136.   validate();
  137.   setDefaultCloseOperation(EXIT_ON_CLOSE);
  138.   
  139. }



  140. public static void main(String args[])


  141.   new TanChiShe();
  142. }


  143. //******************菜单监听******************************

  144. public void actionPerformed(ActionEvent e)

  145. {
  146.   if(e.getSource()==kaiShiYouXi)
  147.   {
  148.    length = 6;
  149.    life = 0;
  150.    foods = 0;
  151.    if(she==null)
  152.    {
  153.     she=new Thread(this);
  154.     she.start();
  155.    }
  156.    else if(she!=null)
  157.    {
  158.     she=null;
  159.     she= new Thread(this);
  160.     she.start();
  161.    }
  162.   }
  163.   if(e.getSource()==exitItem)
  164.   {
  165.    System.exit(0);
  166.   }
  167.   if(e.getSource()==zuoZheItem)
  168.   {
  169.    JOptionPane.showMessageDialog(this, "北京java编程爱好者制作"+"\n\n"+"                  "+"QQ号:860695120"+"\n");
  170.   }
  171.   if(e.getSource()==fenShuItem)
  172.   {
  173.       JOptionPane.showMessageDialog(this,"最高记录为"+fenshu+"");  
  174.   }
  175.   
  176. }
  177. //**************检查一下*******************************
  178. public void check()
  179. {
  180.   isDead();
  181.   if(she!=null)
  182.   {
  183.    if(growth==0)
  184.    {
  185.     reform(); //得到食物
  186.    }
  187.    else
  188.    {
  189.     upgrowth(); //生成食物
  190.    }
  191.    if(x==objectX&&y==objectY)
  192.    {
  193.     object=0;
  194.     growth=1;
  195.     toolkit.beep();
  196.    }
  197.    //****************产生食物坐标**********************
  198.    if(object==0)
  199.    {
  200.     object=1;
  201.     objectX=(int)Math.floor(Math.random()*39)*10;
  202.     objectY=(int)Math.floor(Math.random()*29)*10+50;
  203.    }
  204.    this.repaint(); //重绘
  205.   }
  206. }
  207. void isDead()
  208. {
  209.   //判断游戏是否结束的方法
  210.   if(z==4)
  211.   {
  212.    x=x+10;
  213.   }
  214.   else if(z==3)
  215.      {
  216.         x=x-10;
  217.      }
  218.   else if(z==2)
  219.      {
  220.         y=y+10;
  221.      }
  222.   else if(z==1)
  223.      {
  224.         y=y-10;
  225.      }
  226.   if(x<0||x>390||y<50||y>390)
  227.   {
  228.    she=null;
  229.   }
  230.   for(i=1;i
  231.   {
  232.    if(m==x&&n==y)
  233.    {
  234.     she=null;
  235.    }
  236.   }
  237.    
  238. }
  239. public void upgrowth()
  240. {  
  241.   //当蛇吃到东西时的方法
  242.   if(length<50)
  243.   {
  244.    length++;
  245.   }  
  246.   growth--;
  247.   time=time-10;
  248.   reform();
  249.   life+=100;
  250.   if(fenshu
  251.   {
  252.    fenshu = life;
  253.   }
  254.   foods++;
  255. }
  256. public void reform()
  257. {
  258.   for(i=length-1;i>0;i--)
  259.   {
  260.    
  261.    m=m[i-1];
  262.    n=n[i-1];
  263.   }
  264.   if(z==4)
  265.   {
  266.    m[0]=m[0]+10;
  267.   }
  268.   if(z==3)
  269.   {
  270.    m[0]=m[0]-10;
  271.   }
  272.   if(z==2)
  273.   {
  274.    n[0]=n[0]+10;
  275.   }
  276.   if(z==1)
  277.   {
  278.    n[0]=n[0]-10;
  279.   }

  280. }



  281. public void keyPressed(KeyEvent e)
  282. {
  283.   if(she!=null)
  284.   {
  285.    if(e.getKeyCode()==KeyEvent.VK_UP)
  286.    {
  287.     if(z!=2)
  288.     {
  289.      z=1;
  290.      check();
  291.     }
  292.    }
  293.    else if(e.getKeyCode()==KeyEvent.VK_DOWN)
  294.    {
  295.     if(z!=1)
  296.     {
  297.      z=2;
  298.      check();
  299.     }
  300.    }
  301.    else if(e.getKeyCode()==KeyEvent.VK_LEFT)
  302.    {
  303.     if(z!=4)
  304.     {
  305.      z=3;
  306.      check();
  307.     }
  308.    }
  309.    else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  310.    {
  311.     if(z!=3)
  312.     {
  313.      z=4;
  314.      check();
  315.     }
  316.    }
  317.   
  318.   }
  319.   
  320. }
  321. public void keyReleased(KeyEvent e)
  322. {
  323.   // TODO 自动生成方法存根
  324.   
  325. }
  326. public void keyTyped(KeyEvent e)
  327. {
  328.   // TODO 自动生成方法存根
  329.   
  330. }
  331. public void paint(Graphics g)  
  332. {
  333. //*******************画图**********************
  334.   g.setColor(Color.DARK_GRAY); //设置背景
  335.   g.fillRect(0,50,400,400);
  336.   g.setColor(Color.pink);
  337.   for(i=0;i<=length-1;i++)
  338.   {
  339.    g.fillRect(m,n,10,10);
  340.   }
  341.   g.setColor(Color.green); //蛇的食物
  342.   g.fillRect(objectX,objectY,10,10);
  343.   g.setColor(Color.white);
  344.   g.drawString("当前      分数"+this.life,6,60);
  345.   g.drawString("当前已吃食物数"+this.foods,6,72);
  346. }

  347. }
مەزمۇننى كۆچۈرۈۋېلىش
بۇ يازمىنى ئاخىرىدا   Nida تەھرىرلىگەن. ۋاقتى  2012-1-18 22:55  

Rank: 4

تۆھپە
229
تىللا
274
شۆھرەت
381
يوللىغان ۋاقتى 2012-1-18 19:47:58 |ھەممە قەۋەتنى كۆرۈش
JAVA يانفۇن دېتالى ياساشقا بەك قىزىقىمەن بىراق ياسالمايمەن بىزدى مۇقۇم java  بىلىملىرىدىن يىتەرلىك تەمىنلەيدىغان بىرەسى ياكى بىرەرە مۇنبەر يوق ياكى بىز ئۇيغۇرلار java نى ياسالمامدۇق ئۇنى بىلمىدىم

باھا سۆز

qarahan  مەنمۇ سىزگەئوخشاش ئويدا.مەنمۇ يانفۇن javaئويۇن يۇمشاق دېتاللىرىغا قىزىقىمە  يوللىغان ۋاقتى 2012-1-19 17:00:29
كىرگەندىن كىيىن ئىنكاس يازالايسىز كىرىش | تىزىملىتىش

يانفۇن|Archiver|intil.cn ( 新ICP备11001938号 )

GMT+8, 2012-11-9 04:54 , Processed in 0.077293 second(s), 17 queries .

Powered by Discuz! X2(NurQut Team) Licensed

© 2001-2011 Comsenz Inc.

چوققىغا قايتىش