• 肿么阔以次兔兔
    了解作者
  • C/C++
    开发工具
  • 28KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2019-07-27 23:47
    上传日期
51的贪吃蛇小游戏,没什么算法,多看就明白了
小制作2.0_贪吃蛇.zip
  • 小制作2.0_贪吃蛇
  • Objects
  • test
    6.2KB
  • test.build_log.htm
    961B
  • text.__i
    116B
  • text.obj
    6.8KB
  • STARTUP.obj
    828B
  • test.lnp
    115B
  • test.hex
    1.7KB
  • Listings
  • text.lst
    5.1KB
  • STARTUP.lst
    14.2KB
  • test.m51
    9KB
  • test.uvproj
    13.7KB
  • STARTUP.A51
    6.2KB
  • test.uvopt
    5.3KB
  • text.c
    2.7KB
  • test.uvgui.郭磊
    83.1KB
内容介绍
#include<reg51.h> #define uchar unsigned char #define SNAKE 5 #define TIME 10 #define SPEED 150 sbit keyenable=P2^4; sbit up=P2^0; sbit down=P2^3; sbit right=P2^1; sbit left=P2^2; uchar x[SNAKE+1]; uchar y[SNAKE+1]; uchar time,n,i,e; char addx,addy; void delay(char MS){while(MS--);} bit knock() { bit k; k=0; if(x[1]>7||y[1]>7) k=1; for(i=2;i<n;i++) if((x[1]==x[i])&(y[1]==y[i])) k=1; return k; } void turnkey() { if(keyenable) { if(left==0){addy=0;if(addx!=1)addx=-1; else addx=1;} if(right==0){addy=0;if(addx!=-1)addx=1; else addx=-1;} if(up==0){addx=0;if(addy!=-1)addy=1; else addy=-1;} if(down==0){addx=0;if(addy!=1)addy=-1; else addy=1;} } } uchar mux(uchar temp) { if(temp==7) return 128; if(temp==6) return 64; if(temp==5) return 32; if(temp==4) return 16; if(temp==3) return 8; if(temp==2) return 4; if(temp==1) return 2; if(temp==0) return 1; return 0; } void timer0(uchar k) { while(k--) { for(i=0;i<SNAKE+1;i++) { P3=mux(x[i]); P1=255-mux(y[i]); turnkey(); delay(TIME); P3=0x00;P1=0xff; } } } void main(void) { e=SPEED; P0=0x00;P1=0xff; P3=0x00; while(1) { for(i=3;i<SNAKE+1;i++) x[i]=100; for(i=3;i<SNAKE+1;i++) y[i]=100; x[0]=4;y[0]=4; n=3; x[1]=1;y[1]=0; x[2]=0;y[2]=0; addx=0;addy=0; while(1){if(keyenable==0)break;timer0(1);} while(1) { timer0(e); if(knock()){e=SPEED;break;} if((x[0]==x[1]+addx)&(y[0]==y[1]+addy)) { n++; if(n==SNAKE+1) { n=3;e=e-10; for(i=3;i<SNAKE+1;i++) x[i]=100; for(i=3;i<SNAKE+1;i++) y[i]=100; } x[0]=x[n-2]; y[0]=y[n-2]; } for(i=n-1;i>1;i--) {x[i]=x[i-1];y[i]=y[i-1];} x[1]=x[2]+addx; y[1]=y[2]+addy; } } }
评论
    相关推荐
    • 贪吃蛇.zip
      简易Java贪吃蛇,实现计分功能和实现开始暂停结束页面功能,是平时作业,小菜鸡一个
    • 贪吃蛇代码.rar
      在C51单片机的LED显示屏上用C语言实现贪吃蛇游戏
    • 贪吃蛇游戏.rar
      js写的网页贪吃蛇小游戏,适合新手学习,巩固js基础知识
    • 贪吃蛇小游戏
      C语言开发的贪吃蛇小游戏,支持windows/linux
    • 贪吃蛇.rar
      本代码是vc++6.0的贪吃蛇C语言程序,运行之后就可以玩
    • 51单片机贪吃蛇
      用c语言实现的51单片机贪吃蛇源码,显示用的是8*8点阵,输入是4个按键
    • 贪吃蛇.zip
      贪吃蛇小游戏python的个人制作嗯嗯嗯嗯
    • 贪吃蛇.zip
      简单贪吃蛇游戏代码,新手编程可以尝试。 css js写近了html页。
    • 贪吃蛇.zip
      C++学习阶段小练习,贪吃蛇范例,使用基本C++知识,即可实现,有助于强化基础知识
    • 51贪吃蛇.rar
      C51编写的贪吃蛇程序 贪吃蛇 按键控制 点阵 简易