コード例 #1
0
showPlayerDefeatedByEEUU()
{
	int loop;
	
	EraseScreen();
	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = usacpuwinsPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = usacpuwinsData[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(10000);
	EraseScreen();
	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabmaonixPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabmaonixdata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6500);
}
コード例 #2
0
void showChinaEnding()
{
	int loop;
	
	EraseScreen();
	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabchvsusa1Palette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabchvsusa1data[loop];
   	}
	
    WaitForVblank();
	Flip();
	Sleep(6000);
	EraseScreen();
   	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabchvsusa2Palette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabchvsusa2data[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6000);
	EraseScreen();
   	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabfinalchPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabfinalchdata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6000);
	WaitForStart();
	EraseScreen();
	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabmaonixPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabmaonixdata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6500);
}
コード例 #3
0
void showUSAEnding()
{
	int loop;
	
	EraseScreen();
	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabusavsch1Palette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabusavsch1data[loop];
   	}
	
    WaitForVblank();
	Flip();
	Sleep(6000);
	EraseScreen();
   	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabusavsch2Palette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabusavsch2data[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6000);
	EraseScreen();
   	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabfinalusaPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabfinalusadata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6000);
	WaitForStart();
	EraseScreen();
	
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabmaonixPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabmaonixdata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(6500);
}
コード例 #4
0
ファイル: draw_panel.cpp プロジェクト: JOE-JOE-NGIGI/kicad
void EDA_DRAW_PANEL::ReDraw( wxDC* DC, bool erasebg )
{
    BASE_SCREEN* Screen = GetScreen();

    if( Screen == NULL )
        return;

    EDA_COLOR_T bgColor = GetParent()->GetDrawBgColor();

    if( ( bgColor != WHITE ) && ( bgColor != BLACK ) )
        bgColor = BLACK;

    if( bgColor == WHITE )
    {
        g_XorMode    = GR_NXOR;
        g_GhostColor = BLACK;
    }
    else
    {
        g_XorMode    = GR_XOR;
        g_GhostColor = WHITE;
    }

    GRResetPenAndBrush( DC );

    DC->SetBackground( bgColor == BLACK ? *wxBLACK_BRUSH : *wxWHITE_BRUSH );
    DC->SetBackgroundMode( wxSOLID );

    if( erasebg )
        EraseScreen( DC );

    GetParent()->RedrawActiveWindow( DC, erasebg );

    // Verfies that the clipping is working correctly.  If these two sets of numbers are
    // not the same or really close.  The clipping algorithms are broken.
    wxLogTrace( KICAD_TRACE_COORDS,
                wxT( "Clip box: (%d, %d, %d, %d), Draw extents (%d, %d, %d, %d)" ),
                m_ClipBox.GetX(), m_ClipBox.GetY(), m_ClipBox.GetRight(), m_ClipBox.GetBottom(),
                DC->MinX(), DC->MinY(), DC->MaxX(), DC->MaxY() );
}
コード例 #5
0
void EDA_DRAW_PANEL::ReDraw( wxDC* DC, bool erasebg )
{
    BASE_SCREEN* Screen = GetScreen();

    if( Screen == NULL )
        return;

    COLOR4D bgColor = GetParent()->GetDrawBgColor();

    // TODO(JE): Is this correct?
    if( bgColor.GetBrightness() > 0.5 )
    {
        g_XorMode    = GR_NXOR;
        g_GhostColor = BLACK;
    }
    else
    {
        g_XorMode    = GR_XOR;
        g_GhostColor = WHITE;
    }

    GRResetPenAndBrush( DC );

    DC->SetBackground( wxBrush( bgColor.ToColour() ) );
    DC->SetBackgroundMode( wxSOLID );

    if( erasebg )
        EraseScreen( DC );

    GetParent()->RedrawActiveWindow( DC, erasebg );

    // Verfies that the clipping is working correctly.  If these two sets of numbers are
    // not the same or really close.  The clipping algorithms are broken.
    wxLogTrace( kicadTraceCoords,
                wxT( "Clip box: (%d, %d, %d, %d), Draw extents (%d, %d, %d, %d)" ),
                m_ClipBox.GetX(), m_ClipBox.GetY(), m_ClipBox.GetRight(), m_ClipBox.GetBottom(),
                DC->MinX(), DC->MinY(), DC->MaxX(), DC->MaxY() );
}
コード例 #6
0
int main(void)
{
    //Enable background 2 and set mode to MODE_4
	setMode(MODE_4 | OBJ_MAP_1D | BG2_ENABLE);
	
	showGameIntro();
	WaitForStart();
	EraseScreen();

	initGameBasicParameters();
	
    //game loop
    while(1)
    {
	    if(score1 != MAX_POINTS_TO_WIN && score2 != MAX_POINTS_TO_WIN){
		    waitRetrace();
        
	        eraseBall();
	        erasePaddle1();
	        erasePaddle2();
	
	        updatePaddle1();
	        updatePaddle2();
	        updateBall();
	
	        drawPaddle1();
	        drawPaddle2();
	
	        checkCollisions();
	        drawBall();
	
	        printScores();
	    }else{
		    if(score1 == MAX_POINTS_TO_WIN && state ==  0){ // PLAYER-CHINA
			    score1 = 0;
			    score2 = 0;
			    
			    //Enable background 2 and set mode to MODE_4
				setMode(MODE_4 | OBJ_MAP_1D | BG2_ENABLE);
			    showChinaEnding();
			    EraseScreen();
		    }
		    if(score1 == MAX_POINTS_TO_WIN && state ==  1){ // PLAYER-USA
				score1 = 0;
			    score2 = 0;
			    
			    //Enable background 2 and set mode to MODE_4
				setMode(MODE_4 | OBJ_MAP_1D | BG2_ENABLE);
			    showUSAEnding();
			    EraseScreen();
		    }
		    if(score2 == MAX_POINTS_TO_WIN && state ==  0){ // CPU-CHINA
			    score2 = 0;
			    score1 = 0;
			    
			    //Enable background 2 and set mode to MODE_4
				setMode(MODE_4 | OBJ_MAP_1D | BG2_ENABLE);
			    //showChinaEnding();
				showPlayerDefeatedByEEUU();
			    EraseScreen();
		    }
		    if(score2 == MAX_POINTS_TO_WIN && state ==  1){ // CPU-USA
			    score2 = 0;
			    score1 = 0;
			    
			    //Enable background 2 and set mode to MODE_4
				setMode(MODE_4 | OBJ_MAP_1D | BG2_ENABLE);
			    //showUSAEnding();
				showPlayerDefeatedByChina();
			    EraseScreen();
		    }   
		    
		    initGameBasicParameters();
	    }
    }

    return 0;
}
コード例 #7
0
// show the game intro.
void showGameIntro()
{
	int loop;
	
	EraseScreen();
	
	// logo - saludIntro
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = saludIntroPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = saludIntroData[loop];
   	}
	
    WaitForVblank();
	Flip();
	Sleep(2500);
	EraseScreen();
   	
	// logo Hammer Keyboard Studios.
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = HKlogoDataPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = HKlogoDatadata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(2000);
	EraseScreen();
   	
	// logo - Rlogo
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = RlogoPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = Rlogodata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(2000);
	EraseScreen();
	
	// logo - Main Screen
	for(loop=0;loop<256;loop++) {
      	ScreenPal[loop] = tabmainlogoPalette[loop];     
   	}

   	for(loop=0;loop<19200;loop++) {
      	ScreenBuffer[loop] = tabmainlogodata[loop];
   	}
	
   	WaitForVblank();
	Flip();
	Sleep(2000);
}
コード例 #8
0
//*******************************************************************************
void	HersheyDisplayFontSamples(RECT *displayRect)
{
int			xLoc, yLoc;
int			xLoc2;
int			fontSize;
char		fontName[32];
short		fontNum;
RGBColor	myColor;


	if (gWidth < 200)
	{
		xLoc	=	5;
	}
	else
	{
		xLoc	=	25;
	}
	if (gWidth > 150)
	{
		xLoc2	=	gWidth / 2;
	}
	else
	{
		xLoc2	=	2 * gWidth;	//*	yes, this puts it off the screen
	}

	for (fontNum = kHershey_FirstFontNumber; fontNum <kHersheyFont_last; fontNum++)
	{
		SetRGBcolor(&myColor, random(100, 255), random(100, 255), random(100, 255));

		RGBForeColor(&myColor);
		EraseScreen();
		
		FrameRect(displayRect);

		GetHersheyFontName(fontNum, fontName);

		yLoc	=	10;
		
		DrawCString(xLoc, yLoc, "Hershey fonts");
		yLoc		+=	12;

		//*******************************************************************************
		DrawCString(xLoc, yLoc, fontName);
		DrawCString(xLoc2, yLoc, "Size 6");
		yLoc		+=	20;
		fontSize	=	8;
		
		HersheyDrawCString(fontNum, xLoc, yLoc, "ABCDEFGHIJKLMNOPQRSTUVWXYZ !@#$%^&()[];'><",  fontSize, 0, 1);
		yLoc	+=	15;
		HersheyDrawCString(fontNum, xLoc, yLoc, "abcdefghijklmnopqrstuvwzyz 1234567890 ", fontSize,   0, 1);
		yLoc	+=	15;



		if (yLoc < gHeight)
		{
			//*******************************************************************************
			DrawCString(xLoc, yLoc, fontName);
			DrawCString(xLoc2, yLoc, "Size 10");
			fontSize	=	10;
			yLoc		+=	25;
			HersheyDrawCString(fontNum, xLoc, yLoc, "ABCDEFGHIJKLMNOPQRSTUVWXYZ",   fontSize, 0, 1);
			yLoc	+=	25;
			HersheyDrawCString(fontNum, xLoc, yLoc, "abcdefghijklmnopqrstuvwzyz 1234567890 ", fontSize,   0, 1);
			yLoc	+=	25;
		}

		if (yLoc < gHeight)
		{
			//*******************************************************************************
			DrawCString(xLoc, yLoc, fontName);
			DrawCString(xLoc2, yLoc, "Size 40");
			fontSize	=	40;
			yLoc		+=	40;
			HersheyDrawCString(fontNum, xLoc, yLoc, "ABCDEFGHIJKL",  fontSize,  0, 1);
			yLoc	+=	30;
		}

		if (yLoc < (gHeight - 40))
		{
			//*******************************************************************************
			DrawCString(xLoc, yLoc, fontName);
			DrawCString(xLoc2, yLoc, "Size 70");
			fontSize	=	70;
			yLoc		+=	70;
			HersheyDrawCString(fontNum, xLoc + 15, yLoc, "ABCDEFG",  fontSize,  0, 1);
			yLoc	+=	30;
		}
	
		delay(3000);
	}
}
コード例 #9
0
//********************************************************************************
void	HersheyDisplayFontList(RECT *displayRect, boolean showSize)
{
int			xLoc, yLoc;
int			xLoc2;
int			ii;
char		theFontName[32];
long		fontDataLen;
short		myDisplayWidth;
RGBColor	myColor;
Boolean		drawHeader;

#ifdef _USE_WHITE_BACKGROUND_
	SetRGBcolor(&myColor, 255, 255, 255);
	fill(255);
#else
	SetRGBcolor(&myColor, 0, 0, 0);
#endif
	RGBBackColor(&myColor);
	
	myDisplayWidth	=	displayRect->right - displayRect->left;
	
	EraseRect(displayRect);

#ifdef _USE_WHITE_BACKGROUND_
	SetRGBcolor(&myColor, 0, 0, 0);
#else
	SetRGBcolor(&myColor, random(100, 255), random(100, 255), random(100, 255));
#endif

	RGBForeColor(&myColor);

	if (myDisplayWidth < 200)
	{
		xLoc	=	5;
	}
	else
	{
		xLoc	=	25;
	}
	xLoc2		=	myDisplayWidth / 2;
	drawHeader	=	true;

	for (ii = kHershey_FirstFontNumber; ii <kHersheyFont_last; ii++)
	{
		if (drawHeader)
		{
			EraseScreen();
		//	EraseRect(displayRect);
			FrameRect(displayRect);
			yLoc	=	10;
			DrawCString(5, yLoc, "Installed Hershey Fonts");
			yLoc	+=	16;
			drawHeader	=	false;
		}
		GetHersheyFontName(ii, theFontName);
		DrawCString(xLoc, yLoc, theFontName);
		if (myDisplayWidth > 150)
		{
			if (showSize)
			{
				fontDataLen	=	GetHersheyFontTableSize(ii);
		
				sprintf(theFontName, "%ld bytes", fontDataLen);
				DrawCString((displayRect->left + xLoc2), yLoc, theFontName);
			}
			else
			{
				//*	print some sample text
				HersheyDrawCString(ii, xLoc2, yLoc + 7, "ABCDEFGHIJKLMNOPQRSTUVWXYZ",   15, 0, 1);
				
			}
		}
		yLoc	+=	16;

		if (yLoc > displayRect->bottom)
		{
			delay(2000);
			drawHeader	=	true;
		}
	}
}