parent
e2b0d6db45
commit
1d837fffb8
@ -0,0 +1,100 @@
|
||||
#define __LIBRARY__
|
||||
#include<stdio.h>
|
||||
#include<unistd.h>
|
||||
#include<stdlib.h>
|
||||
#include<errno.h>
|
||||
#include<time.h>
|
||||
#include<linux/tty.h>
|
||||
#define vga_graph_memstart 0xA0000
|
||||
#define vga_graph_memsize 64000
|
||||
#define cursor_side 6
|
||||
#define vga_width 320
|
||||
#define vga_height 200
|
||||
|
||||
#define BIRD_X 120
|
||||
#define BIRD_Y 100
|
||||
#define BIRD_WIDTH 10
|
||||
#define BIRD_HEIGHT 8
|
||||
#define MAX 40
|
||||
|
||||
char *p;
|
||||
int i,j,x_pos,y_pos,k;
|
||||
struct message *msg;
|
||||
int cnt;
|
||||
int bird_y;
|
||||
int px[MAX];
|
||||
int py[MAX];
|
||||
int h[MAX];
|
||||
char *pp;
|
||||
int ii,jj;
|
||||
int nn;
|
||||
|
||||
_syscall0(int,init_graphics)
|
||||
_syscall1(int,get_message,struct message * ,msg)
|
||||
_syscall3(int,repaint,int ,x,int ,y,int ,h)
|
||||
int main()
|
||||
{
|
||||
x_pos=20;
|
||||
y_pos=20;
|
||||
bird_y=BIRD_Y;
|
||||
init_graphics();
|
||||
px[0]=BIRD_X;
|
||||
py[0]=bird_y;
|
||||
h[0]=BIRD_HEIGHT;
|
||||
cnt=30;
|
||||
for(i=1;i<cnt;i++)
|
||||
{
|
||||
if(i%2==0)
|
||||
{
|
||||
px[i]=120+20*i;
|
||||
py[i]=0;
|
||||
h[i]=90+i*2;
|
||||
}
|
||||
else
|
||||
{
|
||||
px[i]=30+20*i;
|
||||
h[i]=h[i-1]-13*i%17;
|
||||
py[i]=200-1-h[i];
|
||||
}
|
||||
}
|
||||
msg=NULL;
|
||||
nn=50;
|
||||
while(--nn)
|
||||
{
|
||||
repaint(px[0],py[0],h[0]);
|
||||
for(i=1;i<cnt;i++)
|
||||
{
|
||||
px[i]-=20;
|
||||
repaint(px[i],py[i],h[i]);
|
||||
}
|
||||
k=3;
|
||||
while(k>0)
|
||||
{
|
||||
--k;
|
||||
get_message(msg);
|
||||
if(msg!=NULL)py[0]-=10;
|
||||
sleep(2);
|
||||
}
|
||||
sleep(4);
|
||||
for(k=1;k<cnt;k++)
|
||||
{
|
||||
if(k%2==0)
|
||||
if(px[0]+6>px[k] && px[0]+6<px[k]+10 && py[0]<h[k])
|
||||
{
|
||||
repaint(44,44,44);
|
||||
return 0;
|
||||
}else{
|
||||
if(px[0]+6>px[k] && px[0]+6<px[k]+10 && py[0]+6+h[k]>199)
|
||||
{
|
||||
repaint(44,44,44);
|
||||
return 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
repaint(44,44,44);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
Reference in new issue