示例#1
0
文件: menu.c 项目: flavioheleno/otd
void drawMenu() {
	int i;
	char temp[10];
	//garantir que o desenho seja com relação ao sistema de coordenadas
	glLoadIdentity();
	//muda a cor para branco
	glColor3ub(90, 90, 90);
	//divisores
	glBegin(GL_POINTS);
	for (i = 0; i < 60; i+=2) {
		glVertex2i(239, i);
	}
	glEnd();
	//muda a cor para branco
	glColor3ub(255, 255, 255);
	drawText("M", 250, 45);
	drawText("E", 250, 32);
	drawText("N", 250, 19);
	drawText("U", 250, 6);
	//desenha as torres no menu
	for (i = 0; i < MAX_TOWERS; i++) {
		drawTower(itens[i]);
		drawText(itens[i].name, itens[i].position.x - 20, 17);
		sprintf(temp, "$%.2f", itens[i].cost);
		drawText(temp, itens[i].position.x - 20, 5);
	}
}
示例#2
0
void onDisplay() {
    glClearColor(0.1f, 0.2f, 0.3f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glDrawPixels(screenWidth, screenHeight, GL_RGB, GL_FLOAT, image);
    drawCoverageBar();

    drawTower(centerTower);
    drawGreta(centerGreta);
    drawHansel(centerHansel);
    if (isCovered) {
        drawCoverage();
    }

    glutSwapBuffers();

}
示例#3
0
/**
 * \fn bool manageEvent(SDL_Event event, Viewport* viewport)
 * \brief Manage an event.
 *
 * \param event The event to manage.
 * \param viewport The viewport that can be moved.
 * \return False if the the game ends, true if not.
 */
bool manageEvent(SDL_Event event, Viewport* viewport, Events *flags) {
	bool isInPlay = true;
	
	switch(event.type) {
		// Quit game
		case SDL_QUIT:
			isInPlay = false;
			break;
			
		// Key pressed
		case SDL_KEYDOWN:
			switch(event.key.keysym.sym) {
				// Quit game
				case SDLK_ESCAPE:
					isInPlay = false;
					break;
					
				// Move view
				case SDLK_UP:
					moveViewport(viewport, UP);
					break;
					
				case SDLK_DOWN:
					moveViewport(viewport, DOWN);
					break;
					
				case SDLK_LEFT:
					moveViewport(viewport, LEFT);
					break;
					
				case SDLK_RIGHT:
					moveViewport(viewport, RIGHT);
					break;
					
				default:
					break;
			}
		   break;

      // Mouse left click
      case SDL_MOUSEBUTTONDOWN:
         if(event.button.button == SDL_BUTTON_LEFT) {
            Case* caseClicked = whichCase(event.button.x, event.button.y);
            TypeTo* simpleTowerType = flags->selectedTower;
            Case *viewportOffset = whichCase(viewport->mapsurface.x,viewport->mapsurface.y);
            int mapPositionX = caseClicked->xx + viewportOffset->xx;
            int mapPositionY = caseClicked->yy + viewportOffset->yy;
            Tower *tower = createTower(mapPositionX, mapPositionY, simpleTowerType);
            if(tower){
               flags->enemy_Path_Calculation = true;
               pushList((void*)flags->towerList,tower);
               drawTower(tower);
            }
         }
         break;
			
		default:
			break;
	}
	
	return isInPlay;
}
示例#4
0
文件: menu.c 项目: flavioheleno/otd
void drawItem() {
	if (item) {
		drawRange((*item));
		drawTower((*item));
	}
}