۰۵-آذر-۱۳۸۶, ۱۹:۳۳:۳۳
سلام چه جوري مي شه بافر كي برد رو تو يه برنامه پاك كرد؟(كد برنامه ي snake)
[/align][/quote]
کد:
كد:
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include <time.h>
#include<stdlib.h>
int x=40,y=21,i,j,b=219+256*7,q;
unsigned short int far *screen=(unsigned short int far*) 0xb8000000;
void rang(int x,int y,int r)
{
screen[y*80+x]=r;
}
void clear()
{
for(i=0;i<50;i++)
for(j=10;j<80;j++)
rang(j,i,219+256*7);
int m=rand()%70+10;
int n=rand()%50;
rang(m,n,49+256*4);
}
int k=(151+7*16)*256+42;
void main()
{
textmode(64);
randomize();
clrscr();
_setcursortype(_NOCURSOR);
char c=75;
clear();
while (c!=27)
{
delay(50);
if(kbhit())
c=getch();
if(c!=72&&c!=77&&c!=75&&c!=80&&c!=27)
c=q;
if(c==72&&q==80) c=80;
if(c==80&&q==72) c=72;
if(c==75&&q==77) c=77;
if(c==77&&q==75) c=75;
i=x;
j=y;
switch (c)
{
case 72:
y--;
break;
case 75:
x--;
break;
case 80:
y++;
break;
case 77:
x++;
break;
}
if (y==-1)
y=49;
if (y==50)
y=0;
if(x==9)
x=79;
if(x==80)
x=10;
rang(i,j,2011);
if(screen[y*80+x]-256*4>48&&screen[y*80+x]-256*4<58)
// if(screen[y*80+x]==57) screen[y*80+x]=47;
rang(rand()%70+10,rand()%50,screen[y*80+x]+1);//50+256*4);
rang(x,y,k);
q=c;
}
}