贪吃蛇代码
TC下的代码 #include #include#include #include #include "graphics.h"#includetypedef struct{int x;int y;}node;struct{node info[40];int length;}snake;charlight[60][48];void main(){int search(int m,int n);void Light(int m,int n,int color);int settle(int key);char met=1;int i,j,direction,key1,key2=0,rm,rn;int driver=DETECT,mode=0;initgraph(&driver,&mode," ");setcolor(10);rectangle(0,0,580,450);snake.length=3;for(i=0;i<60;i++)for(j=0;j<48;j++)light[i][j]=0;snake.info[0].x=32;snake.info[1].x=32;snake.info[2].x=32;snake.info[0].y=24;snake.info[1].y=25;snake.info[2].y=26;for(i=0;i<3;i++)Light(snake.info[i].x,snake.info[i].y,8);do{if(met==1){do{rm=random(57);rn=random(44);met=0;}while(search(rm,rn));}Light(rm,rn,10);if(!bioskey(1)){key1=key2;}else{key1=bioskey(0);if((key2==0x4b00&&key1==0x4d00)||(key1==0x4b00&&key2==0x4d00)||(key1==0x4800&&key2==0x5000)||(key1==0x5000&&key2==0x4800)||(key1==0x5000&&key2==0))key1=key2;elsekey2=key1;}if(key1) met=settle(key1);if(met==2)return;for(i=0;i0;i--){snake.info[i].x=snake.info[i-1].x;snake.info[i].y=snake.info[i-1].y;}switch(key){case0x4800:snake.info[i].y--;break;case0x5000:snake.info[i].y++;break;case0x4b00:snake.info[i].x--;break;case0x4d00:snake.info[i].x++;break;}if(light[snake.info[i].x][snake.info[i].y]==1){snake.length++;snake.info[snake.length-1].x=rx;snake.info[snake.length-1].y=ry;Light(snake.info[i].x,snake.info[i].y,0);return(1);}if(snake.info[i].x>58||snake.info[i].y>44||snake.info[i].x<0||snake.info[i].y<0||light[snake.info[i].x][snake.info[i].y]==2){return(2);}Light(rx,ry,0);return(0);}
邮箱》
呵呵,没得,上网上搜,应该不难找
无法回答。

哪位能告诉我贪吃蛇游戏的全部代码?
//package main; import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;public class TanChiShe implements KeyListener,ActionListener{/*** @param args*/int max = 300;//蛇长最大值final int JianJu = 15;//设定蛇的运动网格间距(窗口最大32*28格)byte fangXiang = 4;//控制蛇的运动方向,初始为右int time = 500; //蛇的运动间隔时间int jianTime = 2;//吃一个减少的时间int x,y;//蛇的运动坐标,按网格来算int x2,y2;//暂存蛇头的坐标int jiFenQi = 0;//积分器boolean isRuned = false;//没运行才可设级别boolean out = false;//没开始运行?boolean run = false;//暂停运行String JiBie = "中级";JFrame f = new JFrame("贪吃蛇 V1.0");JPanel show = new JPanel();JLabel Message = new JLabel("级别:中级蛇长:5 时间500ms分数:00");// JButton play = new JButton("开始");JLabel sheTou;JLabel shiWu;JLabel sheWei[] = new JLabel[max];static int diJi = 4; //第几个下标的蛇尾要被加上ImageIcon shang = new ImageIcon("tuPian\isSheTouUp.png");//产生四个上下左右的蛇头图案ImageIcon xia = new ImageIcon("tuPian\isSheTouDown.png");ImageIcon zhuo = new ImageIcon("tuPian\isSheTouLeft.png");ImageIcon you = new ImageIcon("tuPian\isSheTouRight.png");JMenuBar JMB = new JMenuBar();JMenu file = new JMenu("开始游戏");JMenuItem play = new JMenuItem(" 开始游戏");JMenuItem pause = new JMenuItem(" 暂停游戏");JMenu hard = new JMenu("游戏难度");JMenuItem gao = new JMenuItem("高级");JMenuItem zhong = new JMenuItem("中级");JMenuItem di = new JMenuItem("低级");JMenu about = new JMenu("关于 ");JMenuItem GF = new JMenuItem("※高分榜");JMenuItem ZZ = new JMenuItem("关于作者");JMenuItem YX = new JMenuItem("关于游戏");JMenuItem QK = new JMenuItem("清空记录");static TanChiShe tcs = new TanChiShe();public static void main(String[] args) {// TanChiShe tcs = new TanChiShe();tcs.f();}public void f(){f.setBounds(250,100,515,530);f.setLayout(null);f.setAlwaysOnTop(true);//窗口始终保持最前面f.setBackground(new Color(0,0,0));f.setDefaultCloseOperation(0);f.setResizable(false);f.setVisible(true);//f.getContentPane().setBackground(Color.BLACK);f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);//退出程序}});f.setJMenuBar(JMB);JMB.add(file);file.add(play);file.add(pause);JMB.add(hard);hard.add(gao);hard.add(zhong);hard.add(di);JMB.add(about);about.add(GF);GF.setForeground(Color.blue);about.add(ZZ);about.add(YX);about.add(QK);QK.setForeground(Color.red);f.add(show);show.setBounds(0,f.getHeight()-92,f.getWidth(),35);// show.setBackground(Color.green);//f.add(play);// play.setBounds(240,240,80,25);play.addActionListener(this);pause.addActionListener(this);gao.addActionListener(this);zhong.addActionListener(this);di.addActionListener(this);GF.addActionListener(this);ZZ.addActionListener(this);YX.addActionListener(this);QK.addActionListener(this);show.add(Message);Message.setForeground(Color.blue);f.addKeyListener(this);// show.addKeyListener(this);play.addKeyListener(this);sheChuShi();}public void sheChuShi(){//蛇初始化sheTou = new JLabel(you);//用向右的图来初始蛇头f.add(sheTou);sheTou.setBounds(JianJu*0,JianJu*0,JianJu,JianJu);// System.out.println("ishere");shiWu = new JLabel("■");f.add(shiWu);shiWu.setBounds(10*JianJu,10*JianJu,JianJu,JianJu);for(int i=0;i<=diJi;i++) {sheWei[i] = new JLabel("■");f.add(sheWei[i]);sheWei[i].setBounds(-1*JianJu,0*JianJu,JianJu,JianJu);}while(true){if(out == true){yunXing();break;}try{Thread.sleep(200);}catch(Exception ex){ex.printStackTrace();}}}public void sheJiaChang(){//蛇的长度增加if(diJi < max){sheWei[++diJi] = new JLabel(new ImageIcon("tuPian\isSheWei.jpg"));f.add(sheWei[diJi]);sheWei[diJi].setBounds(sheWei[diJi-1].getX(),sheWei[diJi-1].getY(),JianJu,JianJu);// System.out.println("diJi "+diJi);}}public void pengZhuanJianCe(){//检测蛇的碰撞情况if(sheTou.getX()<0 || sheTou.getY()<0 ||sheTou.getX()>f.getWidth()-15 || sheTou.getY()>f.getHeight()-105 ){gameOver();// System.out.println("GameOVER");}if(sheTou.getX() == shiWu.getX() && sheTou.getY() == shiWu.getY()){out: while(true){shiWu.setLocation((int)(Math.random()*32)*JianJu,(int)(Math.random()*28)*JianJu);for(int i=0;i<=diJi;i++){if(shiWu.getX()!= sheWei[i].getX() && shiWu.getY()!=sheWei[i].getY()&& sheTou.getX()!=shiWu.getX() && sheTou.getY()!= shiWu.getY()){//如果食物不在蛇身上则退出循环,产生食物成功break out;}}}sheJiaChang();// System.out.println("吃了一个");if(time>100 ){time -= jianTime;}else{}Message.setText("级别:"+JiBie+" 蛇长:"+(diJi+2)+"时间:"+time+"ms分数:"+(jiFenQi+=10)+"");}for(int i=0;i<=diJi;i++){if(sheTou.getX() == sheWei[i].getX() && sheTou.getY() == sheWei[i].getY()){gameOver();//System.out.println("吃到尾巴了");}}}public void yunXing(){while(true){while(run){if(fangXiang == 1){//上y-=1;}if(fangXiang == 2){//下y+=1;}if(fangXiang == 3){//左x-=1;}if(fangXiang == 4){//右x+=1;}x2 = sheTou.getX();y2 = sheTou.getY();sheTou.setLocation(x*JianJu,y*JianJu); //设置蛇头的坐标 网格数*间隔for(int i=diJi;i>=0;i--){if(i==0){sheWei[i].setLocation(x2,y2);// System.out.println(i+" "+sheTou.getX()+" "+sheTou.getY());}else{sheWei[i].setLocation(sheWei[i-1].getX(),sheWei[i-1].getY());//System.out.println(i+" "+sheWei[i].getX()+" "+sheWei[i].getY());}}pengZhuanJianCe();try{Thread.sleep(time);}catch(Exception e){e.printStackTrace();}}Message.setText("级别:"+JiBie+" 蛇长:"+(diJi+2)+"时间:"+time+"ms分数:"+(jiFenQi+=10)+"");try{Thread.sleep(200);}catch(Exception e){e.printStackTrace();}}}public void gameOver(){//游戏结束时处理int in =JOptionPane.showConfirmDialog(f,"游戏已经结束!n是否要保存分数","提示",JOptionPane.YES_NO_OPTION);if(in == JOptionPane.YES_OPTION){//System.out.println("YES");String s = JOptionPane.showInputDialog(f,"输入你的名字:");try{FileInputStream fis = new FileInputStream("GaoFen.ini");//先把以前的数据读出来加到写的数据前InputStreamReader isr = new InputStreamReader(fis);BufferedReader br = new BufferedReader(isr);String s2,setOut = "";while((s2=br.readLine())!= null){setOut =setOut+s2+"n";}FileOutputStream fos = new FileOutputStream("GaoFen.ini");//输出到文件流s = setOut+s+":"+jiFenQi+"n";fos.write(s.getBytes());}catch(Exception e){}}System.exit(0);}public void keyTyped(KeyEvent arg0) {// TODO 自动生成方法存根}public void keyPressed(KeyEvent arg0) {// System.out.println(arg0.getSource());if(arg0.getKeyCode() == KeyEvent.VK_UP){//按上下时方向的值相应改变if(fangXiang != 2){fangXiang = 1;// sheTou.setIcon(shang);//设置蛇的方向}//System.out.println("UP");}if(arg0.getKeyCode() == KeyEvent.VK_DOWN){if(fangXiang != 1){fangXiang = 2;// sheTou.setIcon(xia);}//System.out.println("DOWN");}if(arg0.getKeyCode() == KeyEvent.VK_LEFT){//按左右时方向的值相应改变if(fangXiang != 4){fangXiang = 3;//sheTou.setIcon(zhuo);}// System.out.println("LEFT");}if(arg0.getKeyCode() == KeyEvent.VK_RIGHT){if(fangXiang != 3){fangXiang = 4;//sheTou.setIcon(you);}//System.out.println("RIGHT");}}public void keyReleased(KeyEvent arg0) {// TODO 自动生成方法存根}public void actionPerformed(ActionEvent arg0) {// TODO 自动生成方法存根JMenuItem JI = (JMenuItem)arg0.getSource();if(JI == play){out = true;run = true;isRuned = true;gao.setEnabled(false);zhong.setEnabled(false);di.setEnabled(false);}if(JI == pause){run = false;}if(isRuned == false){//如果游戏还没运行,才可以设置级别if(JI == gao){time = 200;jianTime = 1;JiBie = "高级";Message.setText("级别:"+JiBie+" 蛇长:"+(diJi+2)+"时间:"+time+"ms分数:"+jiFenQi);}if(JI == zhong){time = 400;jianTime = 2;JiBie = "中级";Message.setText("级别:"+JiBie+" 蛇长:"+(diJi+2)+"时间:"+time+"ms分数:"+jiFenQi);}if(JI == di){time = 500;jianTime = 3;JiBie = "低级";Message.setText("级别:"+JiBie+" 蛇长:"+(diJi+2)+"时间:"+time+"ms分数:"+jiFenQi);}}if(JI == GF){try{FileInputStream fis = new FileInputStream("GaoFen.ini");InputStreamReader isr = new InputStreamReader(fis);BufferedReader br = new BufferedReader(isr);String s,setOut = "";while((s=br.readLine())!= null){setOut =setOut+s+"n";}if(setOut.equals("")){JOptionPane.showMessageDialog(f,"暂无保存记录!","高分榜",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(f,setOut);}}catch(Exception e){e.printStackTrace();}}if(JI == ZZ){//关于作者JOptionPane.showMessageDialog(f,"软件作者:申志飞n地址:四川省绵阳市nQQ:898513806nE-mail:shenzhifeiok@126.com","关于作者",JOptionPane.INFORMATION_MESSAGE);}if(JI == YX){//关于游戏JOptionPane.showMessageDialog(f,"贪吃蛇游戏n游戏版本 V1.0","关于游戏",JOptionPane.INFORMATION_MESSAGE);}if(JI == QK){try{int select = JOptionPane.showConfirmDialog(f,"确实要清空记录吗?","清空记录",JOptionPane.YES_OPTION);if(select == JOptionPane.YES_OPTION){String setOut = "";FileOutputStream fos = new FileOutputStream("GaoFen.ini");//输出到文件流fos.write(setOut.getBytes());}}catch(Exception ex){}}}} //是我自己写的,本来里面有图片的,但无法上传,所以把图片去掉了,里面的ImageIcon等语句可以去掉。能正常运行。
J2ME的 package snake;import java.util.*;import javax.microedition.lcdui.*;public class SnakeCanvas extends Canvasimplements Runnable{/**存储贪吃蛇节点坐标,其中第二维下标为0的代表x坐标,第二维下标是1的代表y坐标*/int[][] snake = new int[200][2];/**已经使用的节点数量*/int snakeNum;/**贪吃蛇运动方向,0代表向上,1代表向下,2代表向左,3代表向右*/int direction;/*移动方向*//**向上*/private final int DIRECTION_UP = 0;/**向下*/private final int DIRECTION_DOWN = 1;/**向左*/private final int DIRECTION_LEFT = 2;/**向右*/private final int DIRECTION_RIGHT = 3;/**游戏区域宽度*/int width;/**游戏区域高度*/int height;/**蛇身单元宽度*/private final byte SNAKEWIDTH = 4;/**是否处于暂停状态,true代表暂停*/boolean isPaused = false;/**是否处于运行状态,true代表运行*/boolean isRun = true;/**时间间隔*/private final int SLEEP_TIME = 300;/**食物的X坐标*/int foodX;/**食物的Y坐标*/int foodY;/**食物的闪烁控制*/boolean b = true;/**Random对象*/Random random = new Random();public SnakeCanvas() {//初始化init();width = this.getWidth();height = this.getHeight();//启动线程new Thread(this).start();}/*** 初始化开始数据*/private void init(){//初始化节点数量snakeNum = 7;//初始化节点数据for(int i = 0;i < snakeNum;i++){snake[i][0] = 100 - SNAKEWIDTH * i;snake[i][1] = 40;}//初始化移动方向direction = DIRECTION_RIGHT;//初始化食物坐标foodX = 100;foodY = 100;}protected void paint(Graphics g) {//清屏g.setColor(0xffffff);g.fillRect(0,0,width,height);g.setColor(0);//绘制蛇身for(int i = 0;i < snakeNum;i++){g.fillRect(snake[i][0],snake[i][1],SNAKEWIDTH,SNAKEWIDTH);}//绘制食物if(b){g.fillRect(foodX,foodY,SNAKEWIDTH,SNAKEWIDTH);}}private void move(int direction){//蛇身移动for(int i = snakeNum - 1;i > 0;i--){snake[i][0] = snake[i - 1][0];snake[i][1] = snake[i - 1][1];}//第一个单元格移动switch(direction){case DIRECTION_UP:snake[0][1] = snake[0][1] - SNAKEWIDTH;break;case DIRECTION_DOWN:snake[0][1] = snake[0][1] + SNAKEWIDTH;break;case DIRECTION_LEFT:snake[0][0] = snake[0][0] - SNAKEWIDTH;break;case DIRECTION_RIGHT:snake[0][0] = snake[0][0] + SNAKEWIDTH;break;}}/*** 吃掉食物,自身增长*/private void eatFood(){//判别蛇头是否和食物重叠if(snake[0][0] == foodX && snake[0][1] == foodY){snakeNum++;generateFood();}}/*** 产生食物* 说明:食物的坐标必须位于屏幕内,且不能和蛇身重合*/private void generateFood(){while(true){foodX = Math.abs(random.nextInt() % (width - SNAKEWIDTH + 1))/ SNAKEWIDTH * SNAKEWIDTH;foodY = Math.abs(random.nextInt() % (height - SNAKEWIDTH + 1))/ SNAKEWIDTH * SNAKEWIDTH;boolean b = true;for(int i = 0;i < snakeNum;i++){if(foodX == snake[i][0] && snake[i][1] == foodY){b = false;break;}}if(b){break;}}}/*** 判断游戏是否结束* 结束条件:*1、蛇头超出边界*2、蛇头碰到自身*/private boolean isGameOver(){//边界判别if(snake[0][0] < 0 || snake[0][0] > (width - SNAKEWIDTH) ||snake[0][1] < 0 || snake[0][1] > (height - SNAKEWIDTH)){return true;}//碰到自身for(int i = 4;i < snakeNum;i++){if(snake[0][0] == snake[i][0]&& snake[0][1] == snake[i][1]){return true;}}return false;}/*** 事件处理*/public void keyPressed(int keyCode){int action = this.getGameAction(keyCode);//改变方向switch(action){case UP:if(direction != DIRECTION_DOWN){direction = DIRECTION_UP;}break;case DOWN:if(direction != DIRECTION_UP){direction = DIRECTION_DOWN;}break;case LEFT:if(direction != DIRECTION_RIGHT){direction = DIRECTION_LEFT;}break;case RIGHT:if(direction != DIRECTION_LEFT){direction = DIRECTION_RIGHT;}break;case FIRE://暂停和继续isPaused = !isPaused;break;}}/*** 线程方法* 使用精确延时*/public void run(){try{while (isRun) {//开始时间long start = System.currentTimeMillis();if(!isPaused){//吃食物eatFood();//移动move(direction);//结束游戏if(isGameOver()){break;}//控制闪烁b = !b;}//重新绘制repaint();long end = System.currentTimeMillis();//延时if(end - start < SLEEP_TIME){Thread.sleep(SLEEP_TIME - (end - start));}}}catch(Exception e){}}}package snake;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class SnakeMIDlet extends MIDlet {SnakeCanvas displayable = new SnakeCanvas();public SnakeMIDlet() {Display.getDisplay(this).setCurrent(displayable);}public void startApp() {}public void pauseApp() {}public void destroyApp(boolean unconditional) {} }
download.csdn.net上自己搜索并下载

贪吃蛇的代码,在文本文档打开就可以
#include #include#include#include#include#define N 21void gotoxy(int x,int y)//位置函数{COORD pos;pos.X=2*x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}void color(int a)//颜色函数{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);}void init(int apple[2])//初始化函数(初始化围墙、显示信息、苹果){int i,j;//初始化围墙int wall[N+2][N+2]={{0}};for(i=1;i<=N;i++){for(j=1;j<=N;j++)wall[i][j]=1;}color(11);for(i=0;i0;i--){snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1];gotoxy(snake[i][0],snake[i][1]);color(14);cout<<"★"<

贪吃蛇cmd代码
在命令提示符下cd到C++代码link生成的exe文件所在的debug目录,然后直接输入exe文件名比如说,你的cpp文件路径为D:...example.cpp,那么你在命令提示符下输入d:回车cd d:...debug回车example回车这样就可以了

最简单的贪吃蛇代码
比较深奥,下面是各编程工具的贪吃蛇代码: Delphi:http://hi.baidu.com/delphi%B1%E0%B3%CC/blog/item/e901eedd823fcf315982ddc7.htmlC#:http://dev.csdn.net/article/51/51977.shtmVB:http://zhidao.baidu.com/question/79834953.htmlVC++:http://tieba.baidu.com/f?kz=282583673Java:http://blog.csdn.net/mybelove/archive/2006/12/23/1455602.aspx你也可以参考http://zhidao.baidu.com/question/48175992.html?si=1

本文由 在线网速测试 整理编辑,转载请注明出处。