Ejemplo n.º 1
0
static void drawBG() {
	fillScreen4(200);
	drawImage4(10, 10, 220, 140, frogBG);
}
Ejemplo n.º 2
0
int main() {

  REG_DISPCTL = MODE4 | BG2_ENABLE;
  
  // Splash screen here
  setPalette(mainScreen_palette);
  drawImage4(0, 0, 240, 160, mainScreen);
  waitForVBlank();
  flipPage();
  int screen = 1;
  
  int currentMode = EDITMODE;
  const u16 colors[] = {WHITE, BLACK, RED, GREEN};
  

  // alive = black = 1
  // dead = white = 0
  // alive + cursor = green = 3
  // dead + cursor = red = 2

  while (1) {
	  if (screen) {
	  	  setPalette(mainScreen_palette);
		  drawImage4(0, 0, 240, 160, mainScreen);
		  waitForVBlank();
		  flipPage();
	  	  if (KEY_DOWN_NOW(BUTTON_SELECT)) {
	  	  	screen = 0;
	  	    setPalette(colors);
  	  	    fillScreen4(DEAD);
  	  	    flipPage();
	  	    copy();
	  	  	while (KEY_DOWN_NOW(BUTTON_SELECT)) {
	  	  	}
	  	  }
	  
	  } else {
		  int draw = 0;
		  
		  // Select (backspace) = toggle between edit and simmode
	  	  if (KEY_DOWN_NOW(BUTTON_SELECT)) {
			if (currentMode == EDITMODE) {
			  currentMode = SIMMODE;
			  eraseCursor();
			} else {
			  currentMode = EDITMODE;
			}
			while (KEY_DOWN_NOW(BUTTON_SELECT)) {
			// Won't do anything while select button is down
			}
		  }
		  
		  // SIMMODE = 1
		  // EDITMODE = 0
		  
		  // ***************SIM MODE*******************
		  if (currentMode) {
		  	int paused = 0;
		  	int sim = 1;
		  	while (sim) {
		  		while (~paused & currentMode) {
			  		currentMode = simTick();
			  		if (KEY_DOWN_NOW(BUTTON_SELECT)) {
			  			currentMode = EDITMODE;
			  			sim = 0;
			  			while (KEY_DOWN_NOW(BUTTON_SELECT)) {
			  			}
			  		}
			  		if (KEY_DOWN_NOW(BUTTON_A)) {
			  			paused = 1;
			  			while (KEY_DOWN_NOW(BUTTON_A)) {
			  			}
			  		}
			  	}
		  		//******************PAUSED****************
			  	while (paused) {
		  	  		// Button B is X
	  				// This toggles next frame
			  		if (KEY_DOWN_NOW(BUTTON_B)) {
				  		simTick();
				  	}
					if (KEY_DOWN_NOW(BUTTON_SELECT)) {
			  			currentMode = EDITMODE;
			  			while (KEY_DOWN_NOW(BUTTON_SELECT)) {
			  			}
			  			sim = 0;
			  			paused = 0;
			  		}
			  		if (KEY_DOWN_NOW(BUTTON_A)) {
			  			paused = 0;
			  			while (KEY_DOWN_NOW(BUTTON_A)) {
			  			}
			  		}
			  	} // end of paused
		  	} // end of sim
		  } // end of currentMode if

		  // ************EDIT MODE**************
		  if (~currentMode) {
		  	copy();
		  	drawCursor();
		  	draw = cursorMoves();
		  	if (KEY_DOWN_NOW(BUTTON_L)) {
		  		fillScreen4(DEAD);
		  		flipPage();
		  		copy();
		  		while (KEY_DOWN_NOW(BUTTON_L)) {
		  		}
		  	}
		  }
		  
		  
		  drawCursor();
	  	  if (draw) {
			  waitForVBlank();
			  flipPage();
			  draw = 0;
		  }
	  } // end of else

  }

}