void OnStart() { if (HARDWARE_CURSOR == 0) { cursor = new cCursor(); } ChangeCursor(); gun->Enable((WINDOW_WIDTH / 2) - 10, WINDOW_HEIGHT - 30, 10, 20, (WINDOW_WIDTH / 2) - 5, WINDOW_HEIGHT - 20); for (int i = 0; i < R_COUNT; i++) { crosses[i] = new cCross(); rockets[i] = new cRocket(); } for (int i = 0; i < B_COUNT; i++) { bombs[i] = new cBomb(); } for (int i = 0; i < R_COUNT + B_COUNT; i++) { explodes[i] = new cExplode(); } rtlSrand(kos_GetTime()); DrawWindow(); kos_SetMaskForEvents(39); }
void kos_Main(){ rtlSrand(kos_GetSystemClock() / 10000); kos_InitHeap(); getFilePathName(); prepareFileData(); draw_window(); while (true){ switch (kos_WaitForEvent()){ case 1: draw_window(); break; case 2: Byte keyCode; kos_GetKey(keyCode); if (status==0){ //Меню if (keyCode==27){ app_halt(); } if (keyCode==13){ currentquestion=1; status=1; loadquestion(); ////// ПОМЕНЯТЬ МЕСТАМИ!!!!!!! ///////// draw_window(); } } if (status==1){ //Игра if (keyCode==8){ status=6; draw_window(); } if (drawA==true){ if ((keyCode==49)||(keyCode==97)||(keyCode==65)){ if (correctanswer==0x01){ status=2; } else { status=-1; } drawA = true; drawB = true; drawC = true; drawD = true; draw_window(); } } if (drawB==true){ if ((keyCode==50)||(keyCode==98)||(keyCode==66)){ if (correctanswer==0x02){ status=2; } else { status=-1; } drawA = true; drawB = true; drawC = true; drawD = true; draw_window(); } } if (drawC==true){ if ((keyCode==51)||(keyCode==99)||(keyCode==67)){ if (correctanswer==0x03){ status=2; } else { status=-1; } drawA = true; drawB = true; drawC = true; drawD = true; draw_window(); } } if (drawD==true){ if ((keyCode==52)||(keyCode==100)||(keyCode==68)){ if (correctanswer==0x04){ status=2; } else { status=-1; } drawA = true; drawB = true; drawC = true; drawD = true; draw_window(); } } if (callfriendavailable==true){ //Реализация подсказки "Звонок другу" if (keyCode==56){ callfriendavailable=false; status=4; call_friend(); draw_window(); } } if (zalavailable==true){ //Реализация подсказки зала if (keyCode==57){ zalavailable=false; status=5; call_zal(); draw_window(); } } if (na50available==true){ //Реализация подсказки "50 на 50" if (keyCode==55){ if (correctanswer==0x01){ drawA=true; int tmpcodee; recode1: tmpcodee =(rtlRand()%3)+1; int tmpbyte; switch(tmpcodee){ case 1: drawB=true; drawC=false; drawD=false; break; case 2: drawB=false; drawC=true; drawD=false; case 3: drawB=false; drawC=false; drawD=true; } } if (correctanswer==0x02){ drawB=true; int tmpcodee; recode2: tmpcodee =(rtlRand()%3)+1; int tmpbyte; switch(tmpcodee){ case 1: drawA=true; drawC=false; drawD=false; break; case 2: drawA=false; drawC=true; drawD=false; case 3: drawA=false; drawC=false; drawD=true; } } if (correctanswer==0x03){ drawC=true; int tmpcodee; recode3: tmpcodee =(rtlRand()%3)+1; int tmpbyte; switch(tmpcodee){ case 1: drawB=true; drawA=false; drawD=false; break; case 2: drawB=false; drawA=true; drawD=false; case 3: drawB=false; drawA=false; drawD=true; } } if (correctanswer==0x04){ drawA=true; int tmpcodee; recode4: tmpcodee =(rtlRand()%3)+1; int tmpbyte; switch(tmpcodee){ case 1: drawB=true; drawC=false; drawA=false; break; case 2: drawB=false; drawC=true; drawA=false; case 3: drawB=false; drawC=false; drawA=true; } } na50available=false; draw_window(); } } } if (status==2){ //Окно "Это - правильный ответ!" if (keyCode==13){ if (currentquestion<15){ currentquestion++; status=1; loadquestion(); draw_window(); } else { status=3; draw_window(); } } } if (status==3){ //Вы выиграли миллион if (keyCode==27){ app_halt(); } } if (status==4){ //Совет друга if (keyCode==13){ status=1; draw_window(); } } if (status==5){ //Подсказка зала if (keyCode==13){ status=1; draw_window(); } } if (status==6){ //Вы забрали деньги ;-) if (keyCode==27){ app_halt(); } } if (status==-1){ //Вы ошиблись :-( if (keyCode==27){ app_halt(); } } //kos_DrawBar(38,118,50,130,0xBBBBBB); //kos_DisplayNumberToWindow (keyCode,3,40,120,0x000000, nbDecimal, false); break; case 3: app_halt(); break; } } }