Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define F_CPU 16000000UL
- #include <avr/io.h>
- #include <util/delay.h>
- void zeruj()
- {
- int k;
- for(k=1;k<5;k++)
- {
- PORTC=~2^(k-1);
- PORTD=~0;
- }
- }
- void win(int t)
- {
- PORTC =~4;
- PORTD=~0x4F;
- PORTC =~2;
- PORTD=~0x15;
- PORTC=~1;
- PORTD=~0x3D;
- _delay_ms(10000);
- if(t==1)
- PORTB=1;
- else if(t==2)
- PORTB=2;
- else
- PORTB=3;
- zeruj();
- }
- void przeg()
- {
- PORTC=~8;
- PORTD=~0xE;
- PORTC=~4;
- PORTD=~0x7E;
- PORTC=~2;
- PORTD=~0x5B;
- PORTC=~1;
- PORTD=~0x4F;
- _delay_ms(2000);
- zeruj();
- }
- void plus1()
- {
- PORTC=~8;
- PORTD=~0x67;
- PORTC=~4;
- PORTD=~0xE;
- PORTC=~2;
- PORTD=~0x3E;
- PORTC=~1;
- PORTD=~0x5B;
- _delay_ms(2000);
- zeruj();
- }
- void wyswietlpkt(int t, int tabl[])
- {
- if(t>9)
- {
- int pierwsza=t/10;
- int druga=t%10;
- PORTC=~2;
- PORTD=tabl[pierwsza];
- PORTC=~1;
- PORTD=tabl[druga];
- }
- if(t<9)
- {
- PORTC=~1;
- PORTD=tabl[t];
- }
- _delay_ms(2000);
- zeruj();
- }
- int main(void)
- {
- while(1)
- {
- DDRB=0xFF;
- DDRC = 0xff;
- DDRD=0xFF;
- PORTB=0;
- PORTC=0;
- PORTD=0;
- int tabl[10]={~0x7E, ~0x30, ~0x6D, ~0x79, ~0x33, ~0x5B, ~0x5F, ~0x70, ~0x7F, ~0x7B};
- int Talia[24];
- int elko[6]={0,10,2,3,4,11};
- int i;
- int l=0;
- for(i=1;i<25;i++)
- {
- Talia[i-1]=elko[l];
- if (i%4==0)
- l++;
- }
- //random_shuffle(&Talia[0],&Talia[23]); // Wymieszanie elementów tablicy złożonej z wartosci kart
- int p=0;
- int punktya, punktyb;
- int gracz1=1;
- int gracz2=1;
- int k=0;
- if(gracz1==1&&gracz2==1){
- PORTB=1;
- if(k==0)
- {
- PORTC=~4;
- PORTD=~0x67; // P
- //PORTC=~2;
- //PORTD=~0x30; // 1
- _delay_ms(2000);
- zeruj();
- k++;
- }
- while(1)
- {
- int przycisk=2;;
- if(przycisk==1)
- {
- punktya=punktya+Talia[p];
- p++;
- k++;
- break;
- }
- if(przycisk==0)
- {
- gracz1=0;
- break;
- }
- if(PORTB==0x19)
- przycisk=1;
- if(PORTB==0x29)
- przycisk=0;
- }
- if(k==2)
- {
- plus1();
- wyswietlpkt(Talia[p-1],tabl);
- wyswietlpkt(punktya,tabl);
- }
- if(punktya>21)
- {
- przeg();
- gracz1=0;
- win(2);
- }
- }
- k=0;
- PORTB=0;
- PORTC=0;
- PORTD=0;
- if(gracz2==1&&gracz2==1){
- PORTB=2;
- if(k==0)
- {
- PORTC=4;
- PORTD=0x67; // P
- PORTC=2;
- PORTD=tabl[2]; // 1
- _delay_ms(2000);
- zeruj();
- k++;
- }
- while(1)
- {
- int przycisk=2;
- if(przycisk==1)
- {
- punktyb=punktyb+Talia[p];
- p++;
- k++;
- break;
- }
- if(przycisk==0)
- {
- gracz1=0;
- break;
- }
- if(PORTB==0x1A)
- przycisk=1;
- if(PORTB==0x2A)
- przycisk=0;
- }
- if(k==2)
- {
- plus1();
- wyswietlpkt(Talia[p-1],tabl);
- wyswietlpkt(punktyb,tabl);
- }
- if(punktyb>21)
- {
- przeg();
- gracz2=0;
- win(1);
- }
- }
- if(gracz1==0&&gracz2==0)
- {
- if(punktya>punktyb)
- {
- win(1);
- }
- else if(punktyb>punktya)
- {
- win(2);
- }
- else
- {
- win(3);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement