// -- do ustalenia, co bedzie decydowalo co zrobic po zakonczeniu piosenki // -- czy grac dalej, czy przerwac int controlStart() { GOC_MSG wiesc; doAction(ACTION_START, NULL); goc_systemSendMsg(GOC_HANDLER_SYSTEM, GOC_MSG_PAINT, 0, 0); while ((goc_systemCheckMsg( &wiesc ))); return 0; }
// G³ówna czê¶æ programu int main() { GOC_MSG wiesc; GOC_HANDLER maska = 0; GOC_HANDLER mapa1 = 0; GOC_HANDLER mapa2 = 0; GOC_HANDLER mapa3 = 0; srand(time(NULL)); maska = goc_elementCreate(GOC_ELEMENT_MASK, 1, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, GOC_HANDLER_SYSTEM ); goc_maskCharSpace(maska, 2, 2); goc_maskSetRealArea(maska, 10, 10); mapa1 = goc_elementCreate(GOC_ELEMENT_RAWMAP, 1, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, maska); mapa2 = goc_elementCreate(GOC_ELEMENT_RAWMAP, 1, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, maska); mapa3 = goc_elementCreate(GOC_ELEMENT_POSMAP, 1, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, maska); goc_maskAddMap(maska, mapa1); goc_maskSetValue(maska, 0, ' ', GOC_WHITE); goc_maskSetValue(maska, 1, 'T', GOC_GREEN); maskaPrzypisz(maska, 80); goc_maskAddMap(maska, mapa2); goc_maskSetValue(maska, 0, 0, GOC_WHITE); goc_maskSetValue(maska, 1, 'o', GOC_RED); maskaPrzypisz(maska, 20); goc_maskAddMap(maska, mapa3); goc_maskSetValue(maska, 0, 0, GOC_WHITE); goc_maskSetValue(maska, 1, '<', GOC_WHITE); maskaPrzypisz(maska, 3); maska = goc_elementCreate(GOC_ELEMENT_MASK, 24, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, GOC_HANDLER_SYSTEM ); goc_maskSetRealArea(maska, 10, 10); goc_maskAddMap(maska, mapa1); maska = goc_elementCreate(GOC_ELEMENT_MASK, 36, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, GOC_HANDLER_SYSTEM ); goc_maskSetRealArea(maska, 10, 10); goc_maskAddMap(maska, mapa2); maska = goc_elementCreate(GOC_ELEMENT_MASK, 48, 1, 10, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, GOC_HANDLER_SYSTEM ); goc_maskSetRealArea(maska, 10, 10); goc_maskAddMap(maska, mapa3); while (goc_systemCheckMsg( &wiesc )); return 0; }
int main() { GOC_MSG wiesc; GOC_HANDLER napis; int i, w, h; char left[11] = "- Left A -"; char right[11] = "- Right A-"; char *napisStr = NULL; w = goc_screenGetWidth(); h = goc_screenGetHeight(); napisStr = malloc(w + 1); memset(napisStr, '-', w); napisStr[w] = 0; for (i=10; i<=w; i+=10) napisStr[i-1] = ((i/10)%10) + '0'; napis = goc_elementCreate(GOC_ELEMENT_LABEL, 1, 4, w, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_CENTER, GOC_GREEN, GOC_HANDLER_SYSTEM ); goc_labelAddLine(napis, napisStr); napis = goc_elementCreate(GOC_ELEMENT_LABEL, 1, -3, w, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_CENTER, GOC_GREEN, GOC_HANDLER_SYSTEM ); goc_labelAddLine(napis, napisStr); free(napisStr); h -= 10; for (i=0; i<h; i++) { napis = goc_elementCreate(GOC_ELEMENT_LABEL, 1 + i*5, 6 + i, 10, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_CENTER, GOC_RED, GOC_HANDLER_SYSTEM ); goc_labelAddLine(napis, left); napis = goc_elementCreate(GOC_ELEMENT_LABEL, 0 - i*5, 6 + i, 10, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_CENTER, GOC_CYAN, GOC_HANDLER_SYSTEM ); goc_labelAddLine(napis, right); left[7]++; right[8]++; if ( 11 + i*5 > w ) break; } while (goc_systemCheckMsg( &wiesc )); return 0; }
int main() { GOC_MSG wiesc; GOC_HANDLER napis; napis = goc_elementCreate(GOC_ELEMENT_LABEL, 1, 1, 0, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE, GOC_HANDLER_SYSTEM ); goc_labelAddLine(napis, "Ruchomy napis"); goc_elementSetFunc( napis, GOC_FUNID_LISTENER, &nasluch ); goc_elementSetFunc( napis, GOC_FUNID_LABELDRAWER, &labelMoveDrawer ); goc_systemSetTimer( napis, "RuchNapis" ); while (goc_systemCheckMsg( &wiesc )); return 0; }
int main() { GOC_MSG wiesc; GOC_HANDLER przycisk; przycisk = goc_elementCreate( GOC_ELEMENT_BUTTON, 10, 12, 15, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE | GOC_EFLAGA_CENTER, GOC_WHITE | GOC_FBOLD, GOC_HANDLER_SYSTEM ); goc_buttonSetText( przycisk, "Formularz" ); goc_elementSetFunc( przycisk, GOC_FUNID_LISTENER, nasluchForm ); napis = goc_elementCreate( GOC_ELEMENT_LABEL, 10, 4, 32, 1, GOC_EFLAGA_PAINTED, GOC_WHITE, GOC_HANDLER_SYSTEM ); goc_labelAddLine( napis, "Formularz nie zosta³ wype³niony" ); forma = goc_elementCreate( GOC_ELEMENT_FORM, 10, 2, 24, 10, 0, GOC_WHITE, GOC_HANDLER_SYSTEM ); goc_elementCreate( GOC_ELEMENT_FRAME, 1, 1, 24, 10, GOC_EFLAGA_PAINTED, GOC_WHITE | GOC_FBOLD, forma ); przycisk = goc_elementCreate( GOC_ELEMENT_BUTTON, 3, 7, 10, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE | GOC_EFLAGA_CENTER, GOC_WHITE | GOC_FBOLD, forma ); goc_buttonSetText( przycisk, "Ok" ); goc_elementSetFunc( przycisk, GOC_FUNID_LISTENER, nasluchOk ); przycisk = goc_elementCreate( GOC_ELEMENT_BUTTON, 13, 7, 10, 1, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE | GOC_EFLAGA_CENTER, GOC_WHITE | GOC_FBOLD, forma ); goc_buttonSetText( przycisk, "Cancel" ); goc_elementSetFunc( przycisk, GOC_FUNID_LISTENER, nasluchCancel ); while (goc_systemCheckMsg( &wiesc )); return 0; }
int main() { GOC_MSG wiesc; GOC_HANDLER lista; GOC_HANDLER lista2; lista = goc_elementCreate(GOC_ELEMENT_SELLIST, 1, 1, 20, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE, GOC_HANDLER_SYSTEM ); listaBuduj(lista); goc_sellistSelect(lista, 1); goc_sellistSelect(lista, 4); goc_sellistSelect(lista, 5); lista2 = goc_elementCreate(GOC_ELEMENT_SELLIST, 21, 1, 20, 10, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE, GOC_HANDLER_SYSTEM ); goc_listAddColumn(lista2, 10); goc_listAddColumn(lista2, 10); listaBudujKolumna(lista2); goc_sellistSelect(lista2, 1); goc_sellistSelect(lista2, 4); goc_sellistSelect(lista2, 5); while (goc_systemCheckMsg( &wiesc )); return 0; }
int main() { GOC_MSG wiesc; while (goc_systemCheckMsg( &wiesc )); return 0; }
int main(int argc, char **argv) { int nStartPoints = 0; GOC_Arguments* args = NULL; char *levelChars = "signs"; // TODO: for string use stringCopy to alloc int numberOfStartPoints = 20; char* genSystem = "points"; srand(time(NULL)); memset(&context, 0, sizeof(stContext)); context.configuration.maxx = MAXX; context.configuration.maxy = MAXY; context.configuration.maxz = MAXZ; context.configuration.margines = MARGINES; context.configuration.minLandMass = MINLM; context.configuration.maxLandMass = MAXLM; // ustalanie argumentow args = goc_argumentsAdd(args, "-h", "Print this help", goc_argumentHelpFunction, &args); args = goc_argumentsAdd(args, "--help", "Print this help", goc_argumentHelpFunction, &args); args = goc_argumentsAdd(args, "--xsize", "Set x size of map (int:200)", goc_argumentIntFunction, &context.configuration.maxx); args = goc_argumentsAdd(args, "--ysize", "Set y size of map (int:100)", goc_argumentIntFunction, &context.configuration.maxy); args = goc_argumentsAdd(args, "--level", "Set type of level show (signs/numbers)", goc_argumentStringFunction, &levelChars); args = goc_argumentsAdd(args, "--points", "Number of start points [system:civ/points] (int:20)", goc_argumentIntFunction, &numberOfStartPoints); args = goc_argumentsAdd(args, "--system", "Used generation system (points/civ/rain/bactery/drops)", goc_argumentStringFunction, &genSystem); args = goc_argumentsAdd(args, "--minlandmass", "Minimum land mass of generated land [system:civ/rain] (int:10)", goc_argumentIntFunction, &context.configuration.minLandMass); args = goc_argumentsAdd(args, "--maxlandmass", "Maximum land mass of generated land [system:civ/rain] (int:60)", goc_argumentIntFunction, &context.configuration.maxLandMass); args = goc_argumentsAdd(args, "--margines", "Set margines value of random new points [system:civ/points/rain] (int:10)", goc_argumentIntFunction, &context.configuration.margines); systemDropsAddArgs(args); args = goc_argumentsSetUnknownFunction(args, goc_argumentHelpFunction); if ( goc_argumentsParse(args, argc, argv) ) return -1; context.maska = goc_elementCreate(GOC_ELEMENT_MASK, 1, 1, 0, 0, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE | GOC_FBOLD, GOC_HANDLER_SYSTEM); goc_maskSetRealArea(context.maska, context.configuration.maxx, context.configuration.maxy); context.mapa = goc_elementCreate(GOC_ELEMENT_RAWMAP, 1, 1, context.configuration.maxx, context.configuration.maxy, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE, GOC_WHITE, context.maska); goc_maskAddMap(context.maska, context.mapa); goc_maparawSetBPV(context.mapa, 4); // maskaUstRodzajWartosci(maska, 4, 1); if ( goc_stringEquals(genSystem, "bactery") ) { setUpBiomeModeView(context.maska); } else if ( goc_stringEquals(levelChars, "numbers") ) { setUpNumericModeView(context.maska); } else if ( goc_stringEquals(levelChars, "signs") ) { setUpCharModeView(context.maska); } if ( goc_stringEquals(genSystem, "drops") ) { setUpBiomeModeView(context.maska); } // petlaGrow(maska, 10); // 10 bez lawirowania, tylko opadanie // petlaCount(maska, generateStartPoints(&nStartPoints), &nStartPoints); if ( goc_stringEquals( genSystem, "points" ) ) { goc_hkAdd(GOC_HANDLER_SYSTEM, 'V', GOC_EFLAGA_ENABLE, hotkeyModeView); goc_hkAdd(GOC_HANDLER_SYSTEM, 'v', GOC_EFLAGA_ENABLE, hotkeyModeView); petlaCount(context.mapa, randomStartPoints(&nStartPoints, numberOfStartPoints), &nStartPoints); } else if ( goc_stringEquals( genSystem, "civ" ) ) { goc_hkAdd(GOC_HANDLER_SYSTEM, 'V', GOC_EFLAGA_ENABLE, hotkeyModeView); goc_hkAdd(GOC_HANDLER_SYSTEM, 'v', GOC_EFLAGA_ENABLE, hotkeyModeView); civGeneration(context.mapa, numberOfStartPoints, context.configuration.minLandMass, context.configuration.maxLandMass, 0, 1); } else if ( goc_stringEquals( genSystem, "rain" ) ) { goc_hkAdd(GOC_HANDLER_SYSTEM, 'V', GOC_EFLAGA_ENABLE, hotkeyModeView); goc_hkAdd(GOC_HANDLER_SYSTEM, 'v', GOC_EFLAGA_ENABLE, hotkeyModeView); rainGeneration(context.mapa, numberOfStartPoints); } else if ( goc_stringEquals( genSystem, "bactery" ) ) { goc_hkAdd(GOC_HANDLER_SYSTEM, ' ', GOC_EFLAGA_ENABLE, hotkeyNextTurnBactery); bacteryGeneration(context.mapa, numberOfStartPoints, 9); } else if ( goc_stringEquals( genSystem, "drops" ) ) { initSystemDrops(&context); } goc_systemFocusOn(context.maska); // goc_systemSendMsg(0, GOC_MGS_PAINT, 0, 0); while (goc_systemCheckMsg( NULL )); return 0; }