Beruflich Dokumente
Kultur Dokumente
#include
#include
#include
#include
<stdio.h>
<stdlib.h>
<conio.h>
<windows.h>
<time.h>
wait(250);
system("cls");
x++; in=scan();
}
}
while (in==6) //////RIGHT
{
x=0;
while ((x<4)&&(in==6))
{
brake(0);right(x);
switch (x)
{
case 0: (oup32)(0x378,0x08); //0000 1000
break;
case 1:(oup32)(0x378,0x0C); //0000 1100
break;
case 2:(oup32)(0x378,0x0E); //0000 1110
break;
case 3:(oup32)(0x378,0x0F); //0000 1111
break;
}
wait(250);
system("cls");
x++; in=scan();
}
}
while (in==5)
{
x=0;
while ((x<4)&&(in==5)) //////BRAKE
{
brake(1);brake(1);
(oup32)(0x378,0xFF); //1111 1111
wait(250);
system("cls");
x++; in=scan();
}
}
while (in==4)
{
x=0;
while ((x<4)&&(in==4)) //////HAZARD
{
brake(1);brake(1);
(oup32)(0x378,0xFF);//1111 1111
wait(250);
system("cls");
x++; in=scan();
}
while ((x<8)&&(in==4))
{
brake(0);brake(0);
(oup32)(0x378,0x00);//0000 0000
wait(250);
system("cls");
x++; in=scan();
}
}
while (in==0)
{
x=0;
while ((x<4)) //////HAZARD
{
brake(0);brake(0);
(oup32)(0x378,0x00);//1111 1111
wait(250);
system("cls");
x++; in=scan();
}
}
while (in==42)
{
x=0;
while ((in==42)) //////RANDOM
{
printf("It's on random >:| ");
(oup32)(0x378,(rand()));
wait((rand()%100));
x++; in=scan();
}
}
while (in==9001)
{
x=0;
while ((x<4)&&(in==9001)) //////HAZARD
{
switch (x)
{
case 0: (oup32)(0x378,0x80); //0000 1000
break;
case 1:(oup32)(0x378,0x40); //0000 1100
break;
case 2:(oup32)(0x378,0x20); //0000 1110
break;
case 3:(oup32)(0x378,0x10); //0000 1111
break;
}
wait(250);
system("cls");
x++; in=scan();
}
while ((x<8)&&(in==9001))
{
switch (x)
{
case 7: (oup32)(0x378,0x01); //0000 1000
break;
case 6:(oup32)(0x378,0x02); //0000 1100
break;
case 5:(oup32)(0x378,0x04); //0000 1110
break;
case 4:(oup32)(0x378,0x08); //0000 1111
break;
}
wait(250);
system("cls");
x++; in=scan();
}
while ((x<12)&&(in==9001))
{
switch (x)
{
case 8: (oup32)(0x378,0x01); //0000 1000
break;
case 9:(oup32)(0x378,0x02); //0000 1100
break;
case 10:(oup32)(0x378,0x04); //0000 1110
break;
case 11:(oup32)(0x378,0x08); //0000 1111
break;
}
wait(250);
system("cls");
x++; in=scan();
}
while ((x<16)&&(in==9001)) //////HAZARD
{
switch (x)
{
case 15: (oup32)(0x378,0x80); //0000 1000
break;
case 14:(oup32)(0x378,0x40); //0000 1100
break;
case 13:(oup32)(0x378,0x20); //0000 1110
break;
case 12:(oup32)(0x378,0x10); //0000 1111
break;
}
wait(250);
system("cls");
x++; in=scan();
}}
}while (1);//Loops the main
}
///////////////////////////////////////////////////////////////////////////////
void right(int r)
{
char light[]="
";
int i;
for (i=0;i<=r;++i)
{light[(i)]='*';}
printf("%s",light);
}
///////////////////////////////////////////////////////////////////////////////
void left(int L)
{
char light[]="
";
int i;
for (i=0;i<=L;++i)
{light[(3-i)]='*';}
printf("%s",light);
}
///////////////////////////////////////////////////////////////////////////////
void wait(int milli)
{
milli=(milli+clock());
while (clock()<milli)
{/*lalalalllallalla*/}
}
///////////////////////////////////////////////////////////////////////////////
void brake(int rl)
{
char on[]="**** ";
char off[]="
";
int b=0;
if (rl==1)
{
printf("%s",on);
}
if (rl==0)
{
printf("%s",off);
}
}
///////////////////////////////////////////////////////////////////////////////
short scan(void)
{
short in=0,out=0;
short mask=0x38;
in=(inp32)(0x379);
//in=in&mask;
//bit 5=brake, 4=right, 3=left
if ((in==56)||(in==32)){out=5;} //00111000 Brake
if (in==24){out=4;} //00011000 Hazard
if (in==8){out=3;} //00001000 Left
if (in==16){out=6;} //00010000 Right
if (in==40){out=2;} //00101000 Brake and Left
if (in==48){out=1;} //00110000 Brake and Right
if (in==0){out=0;} //00000000 Nothing
if (in==64){out=42;} //asdjhaskdajlh
if (in==80){out=9001;} //asdjhaskdajlh
return out;