int declarewinner(chess *q) { int n; if(q->state == WHITE) { clear(); init_pair(13, COLOR_WHITE, COLOR_RED); bkgd(COLOR_PAIR(13)); mvprintw(LINES / 2 - 4, COLS /2 - 4, "BLACK WINS"); mvprintw(LINES / 2 - 2, COLS /2 - 6, "Want to resume?"); mvprintw(LINES / 2, COLS /2 - 5,"1. Yes 2. No"); mvprintw(LINES / 2 + 2, COLS /2 - 5, "Enter choice"); curs_set(1); mvscanw(LINES / 2 + 4, COLS /2, "%d", &n); curs_set(0); refresh(); display(stdscr, q); if(n == 1) { undoredo(q, "undo"); undoredo(q, "undo"); display(stdscr, q); return 0; } else { savefile(q); getch(); return 1; } } else { clear(); init_pair(13, COLOR_WHITE, COLOR_RED); bkgd(COLOR_PAIR(13)); mvprintw(LINES / 2 - 4, COLS /2 - 4, "WHITE WINS"); mvprintw(LINES / 2 - 2, COLS /2 - 6, "Want to resume?"); mvprintw(LINES / 2, COLS /2 - 5,"1. Yes 2. No"); mvprintw(LINES / 2 + 2, COLS /2 - 5, "Enter choice"); /* mvprintw(22, 110, "Want to resume?"); */ /* mvprintw(24, 110, "1. Yes 2. No"); */ /* mvprintw(26, 110, "Enter choice"); */ /* mvwaddch(win, 26, 123, ':'); */ curs_set(1); mvscanw(LINES / 2 + 4, COLS / 2, "%d", &n); curs_set(0); refresh(); display(stdscr, q); if(n == 1) { undoredo(q, "undo"); undoredo(q, "undo"); display(stdscr, q); return 0; } else { savefile(q); getch(); return 1; } } }
/** * @brief Function to get from the user the command he wants (network, join, messaging etc... * @param p_structCommon : Struct with all program informations */ void userCommandGetter(structProgramInfo* p_structCommon) { if(p_structCommon->sUserCommand != NULL) { free(p_structCommon->sUserCommand); p_structCommon->sUserCommand = NULL; } p_structCommon->sUserCommand = (char*)malloc((USER_COMMAND_LENGHT + 1) * sizeof(char)); if(p_structCommon->sUserCommand == NULL) { log_err("No more memory available... End%s", " "); exit(ENOMEM); } bzero(p_structCommon->sUserCommand, USER_COMMAND_LENGHT + 1); /* ncurses options to display input & display the cursor */ echo(); curs_set(1); nodelay(stdscr, 0); drawElement(0, p_structCommon->iRow - 2, ':', enumLogLine); drawElement(1, p_structCommon->iRow - 2, '>', enumLogLine); mvscanw(p_structCommon->iRow - 2, 3,"%[^\n]", p_structCommon->sUserCommand); /* ncurses options to undo modifications */ nodelay(stdscr, 1); curs_set(0); noecho(); }
int declaredraw(chess *q, char *str) { int n; mvprintw(23, 110, "%s", str); getch(); clear(); init_pair(13, COLOR_WHITE, COLOR_RED); bkgd(COLOR_PAIR(13)); mvprintw(LINES / 2 - 4, COLS /2 - 1, "DRAW"); mvprintw(LINES / 2 - 2, COLS /2 - 6, "Want to resume?"); mvprintw(LINES / 2, COLS /2 - 5,"1. Yes 2. No"); mvprintw(LINES / 2 + 2, COLS /2 - 5, "Enter choice"); curs_set(1); mvscanw(LINES / 2 + 4, COLS /2, "%d", &n); curs_set(0); refresh(); if(n == 1) { undoredo(q, "undo"); undoredo(q, "undo"); display(stdscr, q); return 0; } else { q->enable = DISABLE; savefile(q); return 1; } }
int offerdraw(chess *q) { int n; mvprintw(29, 110, "Offer draw"); mvprintw(29, 110, "1. Accept 2. Reject"); mvscanw(30, 115, "%d", &n); if(n == 1) { declaredraw(q," "); return 1; } return 0; }
int main() { initscr(); int y=1; double price; int number; double money; double sum=0; mvprintw(0,5,"======================MENU==================="); while(1){ mvaddstr(y,5,"Price"); mvaddstr(y,15,"Number"); mvaddstr(y,25,"Money"); mvscanw(y,11,"%lf",&price); if(price<0){ break; } mvscanw(y,22,"%d",&number); money=number*price; mvprintw(y,31,"%.2f",money); sum+=money; refresh(); ++y; } move(y,0); clrtoeol(); mvprintw(y,25,"Acconut:%.2f",sum); refresh(); getch(); endwin(); return 0; }
void PedeDadosJogador(Jogador jogador, int num_jogador){ clear(); printw("--------------------------- Yahtzee ---------------------------\n"); printw("| |\n"); printw("| Nome do %dº jogador: |\n", num_jogador); printw("| |\n"); printw("---------------------------------------------------------------\n"); move(2, 22); // move(y,x); //mvchgat(8, 9, 1, A_BLINK, 1, NULL); //attron(A_BLINK); mvscanw(2, 22, "%s", jogador.nome); printw("%s\n2", jogador.nome); refresh(); printw("\n2"); //printw("\nNome do %dº jogador: ", num_jogador); //refresh(); //getstr(jogador.nome); //scanf("%s", jogador.nome); //scanw("%s", jogador.nome); }
int main(int argc, char** argv) { FILE *filePrograma; //variables del archivo programa char instrucProgram[10]; char registroProgram[10]; int datoProgram; char comando[10],archivo[10]; int PID; PID=1; initscr(); mvprintw(0,0,"Ever$"); mvprintw(1,2,"PID\t ESTADO\t\tAX\tBX\tCX\tDX\tIMAGEN\n"); while(comando != "salir"){ move(0,6); refresh(); if(KeyBoardHit()) { mvscanw(0,6,"%s %s",comando, archivo); mvprintw(0,5,"\t\t\t"); } if(strcasecmp(comando,"salir")==0){ break; } if (strcasecmp(comando,"ejecutar")==0) { filePrograma = fopen ( archivo, "r" ); if (filePrograma==NULL) {;} // {fputs ("File error",stderr); exit (1);} else{ while (fscanf( filePrograma,"%s%d%s",instrucProgram,&datoProgram,registroProgram)!=EOF) { operaciones(instruccionLee(instrucProgram),datoProgram,registroLee(registroProgram)); mvprintw(2,2,"%d\t %s\t %d\t%d\t %d\t %d\t %s\t\n",PID,estado,AX,BX,CX,DX,archivo); refresh(); sleep(2); //erase();//borramos cada printw que vamos haciendo PID+=1; } //devolver valores iniciales a los registros PID=0; AX=0;BX=0;CX=0;DX=0; strcpy(estado,"Ejecucion"); // fclose ( filePrograma ); mvprintw(2,2,"\t\t\t\t\t\t\t\t\t\t"); strcpy(comando," ");//cambio el valor de comando para volver a solicitar el comando } } } endwin(); return 0; }
/** * Main function. Initializes and starts the game */ int spitm() {listP mao1,mao2,pl11,pl12,pl13,pl14,pl21,pl22,pl23,pl24; int stock1[stk],stock2[stk],baralho[(num*2)-2],pc1[sz],pc2[sz],pc3[sz]; mao1=mao2=pl11=pl12=pl13=pl14=pl21=pl22=pl23=pl24=NULL; int vencedor=0,turno=1,o,d,i=0,n=0,x=(LINES/2),y=(COLS/2); initscr(); cbreak(); keypad(stdscr,TRUE); noecho(); start_color(); init_pair(1,COLOR_WHITE,COLOR_GREEN); init_pair(2,COLOR_RED,COLOR_GREEN); bkgd(COLOR_PAIR(1)); attron(COLOR_PAIR(2)); limpa(pc1,13); limpa(pc2,13); limpa(pc3,13); shuff(baralho); atoa(baralho,stock1,20); atoa(baralho,stock2,20); mao1=atod(baralho,mao1,5); mao2=atod(baralho,mao2,5); while(!i) { if(stock1[0] > stock2[0]) { turno=1;i++; };break; if(stock1[0] < stock2[0]) { turno=2; i++; };break; barStk(stock1,stk); barStk(stock2,stk); }; while(vencedor==0) { while(elemN(mao1)<5) mao1=atod(baralho,mao1,1); while(turno==1) { clear(); mostrac(mao1,pl11, pl12,pl13, pl14, mao2, pl21, pl22, pl23,pl24, pc1, pc2, pc3, stock1, stock2,turno); echo(); mvprintw(22,0,"Insira origem(1-10) e destino (1-7):__ __"); mvscanw(22,36," %d %d",&o,&d); if(o>0 && o<6) { if(d==1) { if (showi(mao1,elemN(mao1)-o) == topAr(pc1)+1) { dtoa(mao1,elemN(mao1)-o,pc1); }; }; if(d==2) { if (showi(mao1,elemN(mao1)-o) == topAr(pc2)+1) { dtoa(mao1,elemN(mao1)-o,pc2); }; }; if(d==3) { if (showi(mao1,elemN(mao1)-o) == topAr(pc3)+1) { dtoa(mao1,elemN(mao1)-o,pc3); }; }; if(d==4) { pl11=poe(pl11,showi(mao1,elemN(mao1)-o)); if(elemN(mao1) == o) { mao1=rmUlt(mao1);turno=2; } else { rmI(mao1,elemN(mao1)-(o)); turno=2; }; }; if(d==5) { pl12=poe(pl12,showi(mao1,elemN(mao1)-o)); if(elemN(mao1) == o) { mao1=rmUlt(mao1); turno=2; } else { rmI(mao1,elemN(mao1)-(o)); turno=2; }; }; if(d==6) { pl13=poe(pl13,showi(mao1,elemN(mao1)-o)); if(elemN(mao1) == o) { mao1=rmUlt(mao1); turno=2; } else { rmI(mao1,elemN(mao1)-(o)); turno=2; }; }; if(d==7) { pl14=poe(pl14,showi(mao1,elemN(mao1)-o)); if(elemN(mao1) == o) { mao1=rmUlt(mao1); turno=2; } else { rmI(mao1,elemN(mao1)-(o)); turno=2; }; }; }; //end if(o>0 && o<6) if(o==10) { if(d==1){ if (topAr(stock1) == topAr(pc1)+1) { addAe(stock1,pc1); }; }; if(d==2) { if (topAr(stock1) == topAr(pc2)+1) { addAe(stock1,pc2); }; }; if(d==3) { if (topAr(stock1) == topAr(pc3)+1) { addAe(stock1,pc3); }; }; }; if(o>5 && o< 10) { if(o==6 && d==1 && (elemN(pl11)!=0)) { if (showi(pl11,elemN(pl11)-o) == topAr(pc1)+1) { dtoa(pl11,elemN(pl11)-1,pc1); }; }; if(o==7 && d==1 && (elemN(pl12)!=0)) { if (showi(pl12,elemN(pl12)-o) == topAr(pc1)+1) { dtoa(pl12,elemN(pl12)-1,pc1); }; }; if(o==8 && d==1 && (elemN(pl13)!=0)) { if (showi(pl13,elemN(pl13)-o) == topAr(pc1)+1) { dtoa(pl13,elemN(pl13)-1,pc1); }; }; if(o==9 && d==1 && (elemN(pl14)!=0)) { if (showi(pl14,elemN(pl14)-o) == topAr(pc1)+1) { dtoa(pl14,elemN(pl14)-1,pc1); }; }; if(o==6 && d==2 && (elemN(pl11)!=0)) { if (showi(pl11,elemN(pl11)-o) == topAr(pc2)+1) { dtoa(pl11,elemN(pl11)-1,pc2); }; }; if(o==7 && d==2 && (elemN(pl12)!=0)) { if (showi(pl12,elemN(pl12)-o) == topAr(pc2)+1) { dtoa(pl12,elemN(pl12)-1,pc2); }; }; if(o==8 && d==2 && (elemN(pl13)!=0)) { if (showi(pl13,elemN(pl13)-o) == topAr(pc2)+1) { dtoa(pl13,elemN(pl13)-1,pc2); }; }; if(o==9 && d==2 && (elemN(pl14)!=0)) { if (showi(pl14,elemN(pl14)-o) == topAr(pc2)+1) { dtoa(pl14,elemN(pl14)-1,pc2); }; }; if(o==6 && d==3 && (elemN(pl11)!=0)) { if (showi(pl11,elemN(pl11)-o) == topAr(pc3)+1) { dtoa(pl11,elemN(pl11)-1,pc3); }; }; if(o==7 && d==3 && (elemN(pl12)!=0)) { if (showi(pl12,elemN(pl12)-o) == topAr(pc3)+1) { dtoa(pl12,elemN(pl12)-1,pc3); }; }; if(o==8 && d==3 && (elemN(pl13)!=0)) { if (showi(pl13,elemN(pl13)-o) == topAr(pc3)+1) { dtoa(pl13,elemN(pl13)-1,pc3); }; }; if(o==9 && d==3 && (elemN(pl14)!=0)) { if (showi(pl14,elemN(pl14)-o) == topAr(pc3)+1) { dtoa(pl14,elemN(pl14)-1,pc3); }; }; };//end if(o>5 && o< 10) }; //end while(turno==1) n=0; while ((stock1[n]==0) && (n<stk)) { n++; }; // Winner is player 1 if (stock1[n] == 0) { vencedor=1; turno=1; } // Tie if(baralho[num*2-3]==0) { vencedor=3; }; // Clean central stack if(pc1[0]==13) { atoa(pc1,baralho,13); }; if(pc2[0]==13) { atoa(pc2,baralho,13); }; if(pc3[0]==13) { atoa(pc3,baralho,13); }; // fill hand 2 while(elemN(mao2)<5) { mao2=atod(baralho,mao2,1); }; while(turno==2) { clear(); mostrac(mao1,pl11, pl12,pl13, pl14, mao2, pl21, pl22, pl23,pl24, pc1, pc2, pc3, stock1, stock2,turno); echo(); mvprintw(22,0,"Insira origem(1-10) e destino (1-7):__ __"); mvscanw(22,36,"%d %d",&o,&d); if(o>0 && o<6) { if(d==1) { if (showi(mao2,elemN(mao2)-o) == topAr(pc1)+1) { dtoa(mao2,elemN(mao2)-o,pc1);}; }; if(d==2) { if (showi(mao2,elemN(mao2)-o) == topAr(pc2)+1) { dtoa(mao2,elemN(mao2)-o,pc2); }; }; if(d==3) { if (showi(mao2,elemN(mao2)-o) == topAr(pc3)+1) { dtoa(mao2,elemN(mao2)-o,pc3); }; }; if(d==4) { pl21=poe(pl21,showi(mao2,elemN(mao2)-o)); if(elemN(mao2) == o) { mao2=rmUlt(mao2);turno=1; } else { rmI(mao2,elemN(mao2)-(o)); turno=1; }; }; if(d==5) { pl22=poe(pl22,showi(mao2,elemN(mao2)-o)); if(elemN(mao2) == o) { mao2=rmUlt(mao2); turno=1; } else { rmI(mao2,elemN(mao2)-(o)); turno=1; }; }; if(d==6) { pl23=poe(pl23,showi(mao2,elemN(mao2)-o)); if(elemN(mao2) == o) { mao2=rmUlt(mao2); turno=1; } else { rmI(mao2,elemN(mao2)-(o)); turno=1; }; }; if(d==7) { pl24=poe(pl24,showi(mao2,elemN(mao2)-o)); if(elemN(mao2) == o) { mao2=rmUlt(mao2); turno=1; } else { rmI(mao2,elemN(mao2)-(o)); turno=1; } }; }; if(o==10) { if(d==1){ if (topAr(stock2) == topAr(pc1)+1) { addAe(stock2,pc1); }; }; if(d==2) { if (topAr(stock2) == topAr(pc2)+1) { addAe(stock2,pc2); }; }; if(d==3) { if (topAr(stock2) == topAr(pc3)+1) { addAe(stock2,pc3); }; }; }; if(o>5 && o< 10) { if(o==6 && d==1 && (elemN(pl21)!=0)) { if (showi(pl21,elemN(pl21)-o) == topAr(pc1)+1) { dtoa(pl21,elemN(pl21)-1,pc1); }; }; if(o==7 && d==1 && (elemN(pl22)!=0)) { if (showi(pl22,elemN(pl22)-o) == topAr(pc1)+1) { dtoa(pl22,elemN(pl22)-1,pc1); }; }; if(o==8 && d==1 && (elemN(pl23)!=0)) { if (showi(pl23,elemN(pl23)-o) == topAr(pc1)+1) { dtoa(pl23,elemN(pl23)-1,pc1); }; }; if(o==9 && d==1 && (elemN(pl24)!=0)) { if (showi(pl24,elemN(pl24)-o) == topAr(pc1)+1) { dtoa(pl24,elemN(pl24)-1,pc1); }; }; if(o==6 && d==2 && (elemN(pl21)!=0)) { if (showi(pl21,elemN(pl21)-o) == topAr(pc2)+1) { dtoa(pl21,elemN(pl21)-1,pc2); }; }; if(o==7 && d==2 && (elemN(pl22)!=0)) { if (showi(pl22,elemN(pl22)-o) == topAr(pc2)+1) { dtoa(pl22,elemN(pl22)-1,pc2); }; }; if(o==8 && d==2 && (elemN(pl23)!=0)) { if (showi(pl23,elemN(pl23)-o) == topAr(pc2)+1) { dtoa(pl23,elemN(pl23)-1,pc2); }; }; if(o==9 && d==2 && (elemN(pl24)!=0)) { if (showi(pl24,elemN(pl24)-o) == topAr(pc2)+1) { dtoa(pl24,elemN(pl24)-1,pc2); }; }; if(o==6 && d==3 && (elemN(pl21)!=0)) { if (showi(pl21,elemN(pl21)-o) == topAr(pc3)+1) { dtoa(pl21,elemN(pl21)-1,pc3); }; }; if(o==7 && d==3 && (elemN(pl22)!=0)) { if (showi(pl22,elemN(pl22)-o) == topAr(pc3)+1) { dtoa(pl22,elemN(pl22)-1,pc3); }; }; if(o==8 && d==3 && (elemN(pl23)!=0)) { if (showi(pl23,elemN(pl23)-o) == topAr(pc3)+1) { dtoa(pl23,elemN(pl23)-1,pc3); }; }; if(o==9 && d==3 && (elemN(pl24)!=0)) { if (showi(pl24,elemN(pl24)-o) == topAr(pc3)+1) { dtoa(pl24,elemN(pl24)-1,pc3); }; }; }; }; n=0; while ((stock2[n]==0) && (n<stk)) { n++; }; // Winner is player 2 if (stock2[n] == 0) { vencedor=1; turno=1; } // Tie if(baralho[num*2-3]==0) { vencedor=3; }; // Clean central stack if(pc1[0]==13) { atoa(pc1,baralho,13); }; if(pc2[0]==13) { atoa(pc2,baralho,13); }; if(pc3[0]==13) { atoa(pc3,baralho,13); }; }; if((vencedor==1)||(vencedor==2)) { clear(); mvprintw(x-1,y-10,"+------------------------------------+"); mvprintw(x,y-10,"|O jogador %d vence! |",vencedor); mvprintw(x+1,y-10,"+------------------------------------+"); getch(); } else { clear(); mvprintw(x-1,y-10,"+------------------------------------+"); mvprintw(x,y-10,"|Empate, não há vencedores. |"); mvprintw(x+1,y-10,"+------------------------------------+"); getch(); }; endwin(); bkgd(COLOR_PAIR(2)); return 0; }