int rollstat(int min) { int val = rolldice(6,3); while(val <= min) val = rolldice(6,3); return val; }
void executeCommand(enum Commands command, User *bot, ...) { va_list a_list; va_start(a_list, bot); char *sender, *cmdStr; char **parameters; switch (command) { case PONG: pong(bot); break; case PRIVMSG: sender = va_arg(a_list, char *); cmdStr = va_arg(a_list, char *); parameters = va_arg(a_list, char **); if (strcmp("speak", cmdStr) == 0 && strcmp("Anthony`", sender) == 0) privmsg(bot, sender, parameters[0]); else if (strcmp("rolldice", cmdStr) == 0) rolldice(bot, sender, atoi(parameters[0])); else if (strcmp("die", cmdStr) == 0 && strcmp("Anthony`", sender) == 0) killBot(bot); else if (strcmp("coolmeter", cmdStr) == 0) coolmeter(bot, sender, parameters[0]); else if (strcmp("fight", cmdStr) == 0) fight(bot, sender, parameters[0], parameters[1]); else if (strcmp("getlatestpost", cmdStr) == 0) getLatestRlPost(bot, sender); break; } va_end(a_list); }
int main(int argc,const char *argv[]) { int gamestatus,sm,meuponto; srand (time(NULL)); sm = rolldice();/*primeira jogada dos dados*/ switch (sm) { case 7: case 11:/*vence na primeira jogada*/ gamestatus =1; break; case 2: case 3: case 12:/*perde a primeira rodada*/ gamestatus =2; break; default:/*Armazena dados do jogo*/ gamestatus = 0; meuponto = sm; printf("O ponto é %d\n",meuponto); break; } while (gamestatus==0) { sm = rolldice (); if (sm == meuponto) gamestatus = 1;/*vence fazendo ponto*/ else if (sm == 7) /* perde obtendo um valor 7*/ gamestatus = 2; } if (gamestatus == 1) printf ("Jogador vence \n"); else printf("Jogador perde \n"); }
void dicerolls(int sets, int dice, int sides) { // roll multiple sets of multiple n-sided dice and print results printf("Here are %d sets of %d %d-sided throws.\n", sets, dice, sides); for (int i = 0; i < sets; i++) printf("%2d ", rolldice(dice, sides)); putchar('\n'); }
void tableinit(GameTable* const gameStat) { for (int i = 0; i < Players; ++i) { // 代走させる処理 if (gameStat->Player[i].ConnectionLost) { EnvTable::Instantiate()->PlayerDat[i].RemotePlayerFlag = 0; gameStat->Player[i].ConnectionLost = false; } } init_ai(gameStat); inittable(gameStat); // 局の開始で同期する。1.7系列まではこのとき落ち戻りが可能(落ち戻り機能は1.8で廃止されました) statsync(gameStat, mihajong_socket::protocol::Server_StartRound_Signature, [](GameTable* const gameStat, int ReceivedMsg) -> bool { if (ReceivedMsg == mihajong_socket::protocol::Server_StartRound_Signature) { return true; } else if (ReceivedMsg == 1023) { // 回線が切れてたら EnvTable::Instantiate()->GameMode = EnvTable::Standalone; for (int i = 0; i < Players; ++i) EnvTable::Instantiate()->PlayerDat[i].RemotePlayerFlag = 0; return true; } else { return false; } }); // 牌譜バッファの初期化 haifu::haifuinit(); /* 卓の情報を同期 */ syncTableStat(gameStat); // BGMを鳴らす choosebgm(gameStat); // 画面の準備 screen(gameStat); // 洗牌 tileshuffle(gameStat); // 賽を振る bool doraFlag = rolldice(gameStat, false, 0); #ifndef GUOBIAO if (RuleData::chkRule("dice_roll", "roll_twice")) #endif /* GUOBIAO */ (void)rolldice(gameStat, doraFlag, 2); // 二度振りの2回目 // 配牌 haipai(gameStat); return; }
void rolldice(int c,int arr[]) { int pd1,pd2,i; if (c == 0) for (i = 0;i < MPoint;++i) printf("\tPoint %-2d : %d\n",i+2,arr[i]); if (c != 0) { pd1 = rand()%6+1; pd2 = rand()%6+1; ++arr[pd1+pd2-2]; c--; rolldice(c,arr); } }
// ========================================================== int main () { int logp[MPoint],t; int i,k; for(;;){ switch(GetMenu((char *)"Dice;Average score;Standard deviation",3)) { case 1: createa(logp,MPoint); printf("\n\tHow many time you want to roll : ");scanf("%d",&t);srand(time(NULL));//seed rolldice(t,logp);while((k=getchar())!= '\n'); break; case 2:printf("\n\t Average score : %lf\n",ap(logp,t));break; case 3:printf("\n\t Standard deviation : %lf\n",sd(logp,t));break; case 0:return 0; } } }
int gameClient::build_board() { int resource = 0; int dice = 0; srand(time(0)); //must create tile, put it into pieces array, and update tile number in other array for (int x = 0; x < active_num_tiles; x++) { resource = assign_resources(); if (resource == DESERT) dice = 1; else dice = rolldice(); board[x].set_resource_type(resource); board[x].set_dice_roll(dice); } return(1); }