Курсовая работа: Программа Наборщик

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

do

{

printf("vvedite kolichestvo lis\n"); //ввод количества лис

scanf("%i",&kol); system("cls");

if((kol>64)||(kol<0)){ printf("nevernoe kolichestvo lis\n");system("pause");system("cls");}

}

while((kol>64)||(kol<0));

for(i=0;i<kol;i++)

{ s=1;

while (s!=0)

{p=rand()%64;

if(a[p]!=1)

{a[p]=1; s=0;}

}

}

u=0;

printf("rasstavte v levoe pole %i lis\n",kol);

system("pause");

while(u!=kol)

{

pech_gl(br,n,dd);

er=0;

while(er<1) //заполнение своей таблицы

{

printf("vvedite coord lisi ");

scanf("%i%i",&str1,&sto1); str1--;sto1--;

if((str1<0)||(str1>7)||(sto1<0)||(sto1>7))

{printf("\n nevernaya koordinata\n");}

else er=1;

if((er==1)&&(d[str1*n+sto1]!=45))

{ printf("\n vi suda yzhe stavili\n"); er=0;}

}

w[str1*n+sto1]=1; d[str1*n+sto1]=76;

system("cls"); u++;

}

printf("IGRA NACHINAETSYA\n");//начало игры

system("pause");

system("cls");

pech_gl(br,n,dd); kol1=kol;

int z;//параметр цикла

while((kol!=0)&&(kol1!=0))//главный цикл, завершение которого являеться завершение игры

{z=0;

while(z<1)

{

printf("vvedite coord lisi protivnika "); //ввод координат

scanf("%i%i",&str,&sto); str--;sto--;

if((str<0)||(str>7)||(sto<0)||(sto>7))

{printf("\n nevernaya koordinata\n");}

else z=1;

if((z==1)&&(b[str*n+sto]!=120))

{ printf("\n vi suda yzhe strelyali\n"); z=0;}

}

b[str*n+sto]=summa(str,sto,n,c); shag++;

if(a[str*n+sto]==1) //убийство лисы с обновлением всех полей

{ybil(c,br,n,str,sto); kol--;

kolich[kol_ybit]=str*n+sto; str_y[kol_ybit]=str; sto_y[kol_ybit]=sto;kol_ybit++; //обновление после попадания

if(kol_ybit>1) for(i=0;i<kol_ybit;i++)

{

int aa=str_y[i],bb=sto_y[i];

b[kolich[i]]=summa(aa,bb,n,c);

b[kolich[i]]+=20;

}

if(kol_strel>1) for(i=0;i<kol_strel;i++)

{

int xx=str_s[i],yy=sto_s[i];

b[strel[i]]=summa(xx,yy,n,c);

}

}

else {strel[kol_strel]=str*n+sto; str_s[kol_strel]=str; sto_s[kol_strel]=sto; kol_strel++;}//для обновления после попадания

int vv=0,ee,str_c, sto_c,ppp; // ходы компьютера + стратегия vv-параметр ee-переменая на ячейку поля str_c и sto_c строка и столбец в который стреляет

//компьютер

while(vv==0)

{ par3=0;

if(par==0)

{str_c=rand()%8;ppp=str_c;

sto_c=rand()%8;

}

else

if((par1==1)&&(per1<7))

{

per1++;

str_c=per1;

if(summa(str_c,sto_c,n,ww)==0) {par1=0; par2=1;}

}

else

if((par2==1)&&(per2<7))

{

per2++;

str_c=ppp;

sto_c=per2;

if(summa(str_c,sto_c,n,ww)==0) {par2=0; par=0;}

}

else par=0;

ee=str_c*n+sto_c;

ss=summa(str_c,sto_c,n,ww);

for(i=0;i<ii;i++)

{

if(ee==iskl[i]) par3=1; //проверка есть ли элемент в массиве исключения

}

if(par3!=1)//если есть то повторяем

{

if(ss==0) //составление таблицы исключения

{

if(parz==0)

{

for(i=0;i<8;i++)

{

iskl[ii]=str_c*n+i; ii++;

iskl[ii]=i*n+sto_c; ii++;

}

parz=1;

}

else

{

for(i=0;i<8;i++)

{

par_isk1=0;

par_isk2=0;

for(j=0;j<ii;j++)

{

if(iskl[j]==str_c*n+i) par_isk1=1;

}

if(par_isk1!=1)

{

iskl[ii]=str_c*n+i; ii++;

}

for(j=0;j<ii;j++)

{

if(iskl[j]==i*n+sto_c) par_isk2=1;

}

if(par_isk2!=1)

{

iskl[ii]=i*n+sto_c; ii++;

}

}

}

}

if((d[ee]==45)||(d[ee]==76))

if(w[ee]==1){kol1--; w[ee]=0; d[ee]=33;vv++;}

elseif(ss>0)

{

par=1; par1=1; d[ee]=120;vv++;

}

else {par==0;par1==0; per1=-1; per2=-1; d[ee]=120;vv++;}

}

}

system("cls");

printf("kol-vo shagov = %i ostalos lis sopernika = %i\t\t ostalos vashih lis =%i",shag,kol, kol1);

pech_gl(br,n,dd);

}

system("cls");if(kol==0)printf("POBEDA!!!!!!\n"); else printf("PORAZHENIE!!!!!!\n"); system("pause");//конец программы

}

Источник: https://otherreferats.allbest.ru/download/1121634/