Subversion Repositories Kolibri OS

Rev

Rev 1805 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1805 Rev 2830
Line 1... Line 1...
1
// Èñõîäíèê èãðû "Êòî õî÷åò áûòü ìèëëèîíåðîì?" äëÿ Êîëèáðè ÎÑ
1
// Èñõîäíèê èãðû "Êòî õî÷åò áûòü ìèëëèîíåðîì?" äëÿ Êîëèáðè ÎÑ
2
// by Àíäðåé Ìèõàéëîâè÷ (Dron2004)
2
// by Àíäðåé Ìèõàéëîâè÷ (Dron2004)
Line 3... Line 3...
3
 
3
 
4
#include 
4
#include 
-
 
5
#include 
Line 5... Line 6...
5
#include 
6
#include 
Line 6... Line 7...
6
 
7
 
Line 7... Line 8...
7
char sVersion[] = "‚¥àá¨ï 0.1";
8
char sVersion[] = "‚¥àá¨ï 0.2";
8
 
9
 
Line 45... Line 46...
45
bool drawB = true;
46
bool drawB = true;
46
bool drawC = true;
47
bool drawC = true;
47
bool drawD = true;
48
bool drawD = true;
Line 48... Line -...
48
 
-
 
49
 
-
 
50
 
49
 
51
 
50
 
52
char * tempquestion;
51
char * tempquestion;
53
char * tempanswerA;
52
char * tempanswerA;
54
char * tempanswerB;
53
char * tempanswerB;
Line 60... Line 59...
60
int tempanswerBlength=0;
59
int tempanswerBlength=0;
61
int tempanswerClength=0;
60
int tempanswerClength=0;
62
int tempanswerDlength=0;
61
int tempanswerDlength=0;
Line -... Line 62...
-
 
62
 
-
 
63
 
Line 63... Line -...
63
 
-
 
64
 
-
 
Line 65... Line 64...
65
 
64
const char header[]="Šâ® å®ç¥â ¡ëâì ¬¨««¨®­¥à®¬";
66
 
65
void app_halt();
67
const char header[]="Šâ® å®ç¥â ¡ëâì ¬¨««¨®­¥à®¬            ¤«ï Kolibri OS";
66
 
68
void app_halt();
67
 
Line 103... Line 102...
103
	//Ñòðàøíî êîðÿâàÿ ïðîöåäóðà ãåíåðàöèè ñëó÷àéíîãî íîìåðà âîïðîñà
102
	//Ñòðàøíî êîðÿâàÿ ïðîöåäóðà ãåíåðàöèè ñëó÷àéíîãî íîìåðà âîïðîñà
104
//	rtlSrand(kos_GetSystemClock() / 100000);
103
//	rtlSrand(kos_GetSystemClock() / 100000);
Line 105... Line 104...
105
 
104
 
Line 106... Line -...
106
	int qcodee;
-
 
107
 
-
 
108
 
105
	int qcodee;
Line 109... Line -...
109
 
-
 
110
	int skipsleft;
-
 
111
 
106
 
112
 
107
	int skipsleft;
Line 113... Line -...
113
	
-
 
114
regenerate:
-
 
115
	qcodee=(rtlRand()%questioncount)+1; 
108
	
Line 116... Line 109...
116
 
109
regenerate:
117
 
110
	qcodee=(rtlRand()%questioncount)+1; 
118
   
111
   
Line 575... Line 568...
575
		{
568
		{
576
			goto regenD;
569
			goto regenD;
577
		}
570
		}
578
	}
571
	}
Line 579... Line -...
579
 
-
 
580
 
-
 
581
		
572
 
582
	delete tempquestion;
573
	delete tempquestion;
583
	delete tempanswerA;
574
	delete tempanswerA;
584
	delete tempanswerB;
575
	delete tempanswerB;
585
	delete tempanswerC;
576
	delete tempanswerC;
-
 
577
	delete tempanswerD;
Line -... Line 578...
-
 
578
}
-
 
579
 
Line -... Line 580...
-
 
580
 
-
 
581
 
-
 
582
void draw_window(void){ //Ðèñóåì îêíî
Line -... Line 583...
-
 
583
	sProcessInfo sPI;
-
 
584
 
Line 586... Line -...
586
	delete tempanswerD;
-
 
587
 
-
 
588
 
-
 
589
 
-
 
590
 
-
 
591
 
-
 
592
 
-
 
593
 
-
 
594
 
-
 
595
 
585
	kos_WindowRedrawStatus(1);
596
 
586
	kos_DefineAndDrawWindow(10,10,619,179+kos_GetSkinHeight(),0x74, 0xDDDDFF, 0,0, (Dword)header);
597
}
587
	kos_WindowRedrawStatus(2);
Line 598... Line 588...
598
 
588
	
Line 599... Line 589...
599
void draw_window(void){ //Ðèñóåì îêíî
589
	kos_ProcessInfo( &sPI );
Line 612... Line 602...
612
                kos_WriteTextToWindow (10,150,0x80,0x000000, "(C) 2008 €­¤à¥© Œ¨å ©«®¢¨ç aka Dron2004", 0);
602
                kos_WriteTextToWindow (10,150,0x80,0x000000, "(C) 2008 €­¤à¥© Œ¨å ©«®¢¨ç aka Dron2004", 0);
613
		//kos_DisplayNumberToWindow (questioncount,3,40,60,0x000000, nbDecimal, false);
603
		//kos_DisplayNumberToWindow (questioncount,3,40,60,0x000000, nbDecimal, false);
614
	}
604
	}
615
	if (status==1){ //Èãðà
605
	if (status==1){ //Èãðà
Line 616... Line 606...
616
 
606
 
Line 617... Line 607...
617
		kos_DrawBar(0,0,610,174,0xEEEEFF);
607
		kos_DrawBar(0,0,610,175,0xEEEEFF);
Line 618... Line 608...
618
 
608
 
619
		kos_WriteTextToWindow (10,10,0x0,0x000000, question, questionlength-1);
609
		kos_WriteTextToWindow (10,10,0x0,0x000000, question, questionlength-1);
Line 648... Line 638...
648
 
638
 
649
 
639
 
650
	
640
	
651
	}
641
	}
Line 652... Line 642...
652
	if (status==2){ //Îêíî "Ýòî - ïðàâèëüíûé îòâåò"
642
	if (status==2){ //Îêíî "Ýòî - ïðàâèëüíûé îòâåò"
653
		kos_DrawBar(0,0,610,174,0xDDFFDD);
643
		kos_DrawBar(0,0,610,175,0xDDFFDD);
654
                kos_WriteTextToWindow (10,10,0x80,0x000000, "„ , íâ® ¯à ¢¨«ì­ë© ®â¢¥â!", 0);
644
                kos_WriteTextToWindow (10,10,0x80,0x000000, "„ , íâ® ¯à ¢¨«ì­ë© ®â¢¥â!", 0);
655
		
645
		
656
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¯à®¤®«¦¨âì", 0);
646
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¯à®¤®«¦¨âì", 0);
657
	}
647
	}
658
	if (status==3){ //Âû âûèãðàëè ìèëëèîí, îäíàêî æ!!!
648
	if (status==3){ //Âû âûèãðàëè ìèëëèîí, îäíàêî æ!!!
659
		kos_DrawBar(0,0,610,174,0x00FF00);
649
		kos_DrawBar(0,0,610,175,0x00FF00);
660
                kos_WriteTextToWindow (10,10,0x80,0x000000, "‚ë ¢ë¨£à «¨ ¬¨««¨®­!!!", 0);
650
                kos_WriteTextToWindow (10,10,0x80,0x000000, "‚ë ¢ë¨£à «¨ ¬¨««¨®­!!!", 0);
661
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¢ë室", 0);
651
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¢ë室", 0);
662
	}
652
	}
663
	if (status==4){ //Çâîíîê äðóãó
653
	if (status==4){ //Çâîíîê äðóãó
664
		kos_DrawBar(0,0,610,174,0xAAFFFF);
654
		kos_DrawBar(0,0,610,175,0xAAFFFF);
665
                kos_WriteTextToWindow (10,10,0x80,0x000000, "„à㣠ᮢ¥âã¥â ¢ ¬ ®â¢¥â", 0);
655
                kos_WriteTextToWindow (10,10,0x80,0x000000, "„à㣠ᮢ¥âã¥â ¢ ¬ ®â¢¥â", 0);
666
		kos_WriteTextToWindow (165,10,0x80,0x000000, friendsAdvice, 0);
656
		kos_WriteTextToWindow (165,10,0x80,0x000000, friendsAdvice, 0);
667
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¯à®¤®«¦¨âì", 0);
657
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¯à®¤®«¦¨âì", 0);
668
	}
658
	}
669
	if (status==5){ //Ïîäñêàçêà çàëà
659
	if (status==5){ //Ïîäñêàçêà çàëà
670
		kos_DrawBar(0,0,610,174,0xAAFFFF);
660
		kos_DrawBar(0,0,610,175,0xAAFFFF);
671
                kos_WriteTextToWindow (10,10,0x80,0x000000, "Œ­¥­¨¥  ã¤¨â®à¨¨ à á¯à¥¤¥«¨«®áì â ª:", 0);
661
                kos_WriteTextToWindow (10,10,0x80,0x000000, "Œ­¥­¨¥  ã¤¨â®à¨¨ à á¯à¥¤¥«¨«®áì â ª:", 0);
Line 696... Line 686...
696
	
686
	
697
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¯à®¤®«¦¨âì", 0);
687
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¯à®¤®«¦¨âì", 0);
Line 698... Line 688...
698
	}
688
	}
699
 
689
 
700
	if (status==6){ //Âû çàáðàëè äåíüãè ;-)
690
	if (status==6){ //Âû çàáðàëè äåíüãè ;-)
701
		kos_DrawBar(0,0,610,174,0xBBFFBB);
691
		kos_DrawBar(0,0,610,175,0xBBFFBB);
702
                kos_WriteTextToWindow (10,10,0x80,0x000000, "‚ë § ¡à «¨ ¤¥­ì£¨ ¨ ã諨. ‚ è ¢ë¨£àëè á®áâ ¢¨«:", 0);
692
                kos_WriteTextToWindow (10,10,0x80,0x000000, "‚ë § ¡à «¨ ¤¥­ì£¨ ¨ ã諨. ‚ è ¢ë¨£àëè á®áâ ¢¨«:", 0);
703
		kos_WriteTextToWindow (10,20,0x80,0x000000, summs[currentquestion-1], 0);
693
		kos_WriteTextToWindow (10,20,0x80,0x000000, summs[currentquestion-1], 0);
704
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¢ë室", 0);
694
                kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¢ë室", 0);
705
	}
695
	}
706
	if (status==-1){ //Âû îøèáëèñü :-(
696
	if (status==-1){ //Âû îøèáëèñü :-(
Line 707... Line 697...
707
		kos_DrawBar(0,0,610,174,0xFF8888);
697
		kos_DrawBar(0,0,610,175,0xFF8888);
708
                kos_WriteTextToWindow (10,10,0x80,0x000000, "Š ᮦ «¥­¨î, ¢ë ®è¨¡«¨áì... à ¢¨«ì­ë© ®â¢¥â -", 0);
698
                kos_WriteTextToWindow (10,10,0x80,0x000000, "Š ᮦ «¥­¨î, ¢ë ®è¨¡«¨áì... à ¢¨«ì­ë© ®â¢¥â -", 0);
709
		
699
		
Line 735... Line 725...
735
 
725
 
736
 
726
 
Line 737... Line -...
737
        kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¢ë室", 0);
-
 
738
	}
-
 
739
 
727
        kos_WriteTextToWindow (10,150,0x80,0x000000, " - ¢ë室", 0);
Line 740... Line 728...
740
	kos_WindowRedrawStatus(2);
728
	}
Line 968... Line 956...
968
	}
956
	}
969
}
957
}
Line 970... Line 958...
970
 
958
 
971
void kos_Main(){
959
void kos_Main(){
-
 
960
	rtlSrand(kos_GetSystemClock() / 10000);
972
	rtlSrand(kos_GetSystemClock() / 10000);
961
	kos_InitHeap();
973
	getFilePathName();
962
	getFilePathName();
974
	prepareFileData();
963
	prepareFileData();
975
	draw_window();
964
	draw_window();