void main() { set(); while (1) { if (!chkReverse()) break; marking(); draw(); if (turn == WHITE) //input_u(); input_key(); else input_c(); if (chk_end()) break; chturn(); } victory(); }
static U_CHAR adapt_mesh(MESH *mesh, ADAPT_STAT *adapt) { FUNCNAME("adapt_mesh"); U_CHAR flag = 0; U_CHAR mark_flag; int n_elements, iadmin; clock_t first = clock(); TEST_EXIT(adapt, "no ADAPT_STAT\n"); if (adapt->marking) mark_flag = adapt->marking(mesh, adapt); else mark_flag = marking(mesh, adapt); if ((!adapt->coarsen_allowed)) mark_flag &= MESH_REFINED; /* use refine mark only */ if (adapt->build_before_refine) adapt->build_before_refine(mesh, mark_flag); n_elements = mesh->n_elements; if (mark_flag & MESH_REFINED) flag = refine(mesh); if (flag & MESH_REFINED) { n_elements = mesh->n_elements - n_elements; INFO(adapt->info,8, "%d element%s refined, giving %d element%s\n", n_elements, n_elements > 1 ? "s" : "", mesh->n_elements, mesh->n_elements > 1 ? "s" : ""); for (iadmin = 0; iadmin < mesh->n_dof_admin; iadmin++) INFO(adapt->info,7,"%d DOFs of admin <%s>\n", mesh->dof_admin[iadmin]->used_count, NAME(mesh->dof_admin[iadmin])); } else INFO(adapt->info,8,"no element refined\n"); if (adapt->build_before_coarsen) adapt->build_before_coarsen(mesh, mark_flag); n_elements = mesh->n_elements; if (mark_flag & MESH_COARSENED) flag |= coarsen(mesh); if (flag & MESH_COARSENED) { n_elements -= mesh->n_elements; INFO(adapt->info,8, "%d element%s coarsened, giving %d element%s\n", n_elements, n_elements > 1 ? "s" : "", mesh->n_elements, mesh->n_elements > 1 ? "s" : ""); for (iadmin = 0; iadmin < mesh->n_dof_admin; iadmin++) INFO(adapt->info,7,"%d DOFs of dof_admin <%s>\n", mesh->dof_admin[iadmin]->used_count, NAME(mesh->dof_admin[iadmin])); } else INFO(adapt->info,8,"no element coarsened\n"); if (adapt->build_after_coarsen) adapt->build_after_coarsen(mesh, flag); INFO(adapt->info,6,"adapting mesh and build needed %.5lg seconds\n", TIME_USED(first,clock())); return(flag); }
string Vehicle::key() { string s_key(1, marking()); return s_key + ": " + name(); }