コード例 #1
0
ファイル: invaders.c プロジェクト: falkorichter/r0ket
static bool screen_intro() {
	uint32_t highscore;
	char highnick[20];
	char key=0;
	bool step = false;
	//getInputWaitRelease();
	while(key==0) {
		getInputWaitRelease();
		lcdFill(0);
		font = &Font_Invaders;
        DoString(28,25,step?"ABC":"abc");
		font = &Font_7x8;
		DoString (28,40,"SPACE");
		DoString (18,50,"INVADERS");
		
		highscore = highscore_get(highnick);
		DoInt(0, 0, highscore);
		DoString (0, 9, highnick);
		lcdDisplay();
		step = !step;
		key=getInputWaitTimeout(1000);
	}
	//getInputWaitRelease();
	return !(key==BTN_LEFT);
}
コード例 #2
0
ファイル: high.c プロジェクト: astro/lun1k
void ram() {
  char *nick = "Pentagon V1LLAG3";
  char nickbuf[32];  // 16?

  do {
    lcdFill(0);
    DoString(0, 0, "Getting");
    lcdDisplay();
    uint32_t score = highscore_get(nickbuf);

    gpioSetValue (RB_LED2, 1);
    lcdFill(0);
    DoString(0, 0, "Highscore:");
    DoString(0, 16, nickbuf);
    DoInt(0, 32, score);
    lcdDisplay();

    if (strcmp(nick, nickbuf) != 0) {
      lcdFill(0);
      DoString(0, 48, "Setting");
      lcdDisplay();
      delayms_queue(500);
      highscore_set(score+1, nick);
    }

  } while(getInputWaitTimeout(500) != BTN_UP);

}
コード例 #3
0
ファイル: nickname.c プロジェクト: sanpii/f1rmware
static void batteryLevel(void)
{
    int dy = 0;
    int dx = 0;
    int32_t voltage = 0;
    float purcentage = 0;
    uint8_t color = 0x00;

    setExtFont("normal");
    dy = RESY - getFontHeight();
    dx = DoString(dx, dy, "Bat");

    if (batteryCharging()) {
        dx = DoString(dx, dy, "(+)");
    }
    dx = DoString(dx, dy, ":");

    voltage = batteryGetVoltage();
    purcentage = (voltage - (float)BAT_MIN) / ((float)BAT_MAX - BAT_MIN) * 100.0;

    if (purcentage >= 50) {
        color = RGB(0, 7, 0);
    }
    else if (purcentage >= 10) {
        color = RGB(7, 7, 0);
    }
    else {
        color = RGB(7, 0, 0);
    }
    setTextColor(GLOBAL(nickbg), color);
    dx = DoString(dx, dy, IntToStr(purcentage, 3, F_LONG));
    DoString(dx, dy, "%");
    resetColor();
}
コード例 #4
0
ファイル: snake.c プロジェクト: cokesme/f1rmware
static void render_level()
{
    char highscore_string[20];
    char points_string[20];
    draw_block( food.x, food.y, 0b11101000);

    strcpy (points_string,"Points: ");
    strcat (points_string,IntToStr(points,6,0));

    strcpy (highscore_string,"HI: ");
    strcat (highscore_string,IntToStr(highscore,6,0));

    // Display point color based on compare with highscore
    if (points<highscore || (points==0 && highscore==0)) {
        // Black
        setTextColor(0xff,0x00);
    } else if (points==highscore) {
        // Dark Yellow
        setTextColor(0xff,0b11011000);
    } else if (points>highscore) {
        // Dark Green
        setTextColor(0xff,0b00011000);
    }
    DoString(0,0,points_string);
    setTextColor(0xff,0b00000011);
    DoString(MAX_X-44,0,highscore_string);
}
コード例 #5
0
ファイル: snake.c プロジェクト: cokesme/f1rmware
static void renderHighscore()
{
    lcdClear();

    if (points>highscore) {
        setTextColor(0xff,0b11100000);
        DoString(0,10, "  NEW HIGHSCORE");
    }

    setTextColor(0xff,0x00);
    DoString(0,RESY/2-33, "  Your Score");

    // Display own score in green color, if it's higher than high score, else red
    if (points>highscore) {
        setTextColor(0xff,0b00011100);
    } else {
        setTextColor(0xff,0b11100000);
    }

    DoString(RESX/2-4, RESY/2-25, IntToStr(points,6,0));
    setTextColor(0xff,0x00);
    DoString(0,RESY/2-10, "  Last Highscore");
    setTextColor(0xff,0b00000011);
    DoString(RESX/2-4, RESY/2-2, IntToStr(highscore,6,0));
    setTextColor(0xff,0x00);
    DoString(0, RESY/2+18, "  UP  to play ");
    DoString(0, RESY/2+26, "RIGHT to reset HI ");
    DoString(0, RESY/2+34, "DOWN  to quit ");

    lcdDisplay();
}
コード例 #6
0
ファイル: invaders.c プロジェクト: falkorichter/r0ket
static bool screen_gameover() {
	char key =0;
	while(key==0) {
		lcdFill(0);
		font = &Font_7x8;
		DoString (14,32, "GAME OVER");
		DoInt (0,0, game.score);
		if (highscore_set(game.score, GLOBAL(nickname)))
			DoString (0,9,"HIGHSCORE!");
		lcdDisplay();
		key=getInputWaitTimeout(5000);
	}
	//getInputWaitRelease();
	return !(key==BTN_LEFT);
}	
コード例 #7
0
ファイル: snake.c プロジェクト: cokesme/f1rmware
static int showHighscore()
{
    int key = getInputRaw();

    renderHighscore();

    if (points>highscore) {
        // Save highscore if higher
        highscore_set(points);
    }

    while(1) {
        key = getInputWait();
        getInputWaitRelease();

        if (key&BTN_DOWN) {
            return 1;
        } else if (key&BTN_UP) {
            return 0;
        } else if (key&BTN_RIGHT) {
            highscore = 0;
            highscore_set(highscore);
            setTextColor(0xff,0b00000011);
            DoString(RESX/2-4, RESY/2-2, IntToStr(highscore,6,0));
        }

        renderHighscore();
    }
}
コード例 #8
0
ファイル: r0type.c プロジェクト: andrmuel/r0ket
static void draw_splash(void){
  char key=0;
	while(key==0) {
    lcdFill(0);
    if (highscore_set(game.score, GLOBAL(nickname))){
			DoString (16,15,"HIGHSCORE!");
    } else {
      DoString (16,15, "GAME OVER");
    }
		DoString (24,40, "GAME BY");
		DoString (10,50, "@RANZWERTIG");
    lcdDisplay();
		key=getInputWaitTimeout(1000);
  }
  return;
}
コード例 #9
0
ファイル: ScriptModule.cpp プロジェクト: gitrider/wxsj2
void CScriptModule::Initialize(const char* strGlobalFile)
{
	m_plusState = LuaState::Create();
	
	if (strGlobalFile && strlen(strGlobalFile) > 0)
	{
		DoString(strGlobalFile);
	}
	LuaObject objGlobal = m_plusState->GetGlobals();
	LuaObject metaTblSystem = m_plusState->GetGlobals().CreateTable("metaTblSystem");
	metaTblSystem.SetObject("__index", metaTblSystem);
	metaTblSystem.RegisterObjectFunctor("print", &CScript_System::print);

	metaTblSystem.RegisterObjectFunctor("addEventToList", &CScript_System::addEventToList);
	metaTblSystem.RegisterObjectFunctor("addPropertyToList", &CScript_System::addPropertyToList);

	metaTblSystem.RegisterObjectFunctor("setLuaKeyWord", &CScript_System::setLuaKeyWord);
	metaTblSystem.RegisterObjectFunctor("setLuaConstantWord", &CScript_System::setLuaConstantWord);

	metaTblSystem.RegisterObjectFunctor("insertEditItem", &CScript_System::insertEditItem);
	metaTblSystem.RegisterObjectFunctor("insertComboboxItem", &CScript_System::insertComboboxItem);
	metaTblSystem.RegisterObjectFunctor("insertColorDlgItem", &CScript_System::insertColorDlgItem);

	
	LuaObject objSys = m_plusState->BoxPointer(CScript_System::Instance());
	objSys.SetMetaTable(metaTblSystem);
	m_plusState->GetGlobals().SetObject("System", objSys);
	
}
コード例 #10
0
ファイル: FbAuthList.cpp プロジェクト: EvgeniiFrolov/myrulib
void * FbAuthListThread::Entry()
{
	bool calculate = m_counter.IsEmpty();
	FbFrameDatabase database(this, m_counter);

	if (calculate && abs(m_order) > 1) {
		CreateCounter(database, m_sql);
		if (IsClosed()) return NULL;
		calculate = false;
	}

	if (m_info.m_string.IsEmpty()) {
		DoLetter(database);
	} else if (m_info.IsFullText()) {
		DoFullText(database);
	} else {
		DoString(database);
	}

	if (calculate) {
		CreateCounter(database, m_sql);
	}

	return NULL;
}
コード例 #11
0
ファイル: cdc.c プロジェクト: Bediko/r0ket
void main_cdc(void)
{
    int dx = 0;
    //lastTick = systickGetTicks();   // Used to control output/printf timing
    
    lcdPrintln("Init USB"); lcdRefresh(); 
    
    CDC_Init();                     // Initialise VCOM
    USB_Init();                     // USB Initialization
    USB_Connect(TRUE);              // USB Connect
    // Wait until USB is configured or timeout occurs
    uint32_t usbTimeout = 0; 
        while ( usbTimeout < CFG_USBCDC_INITTIMEOUT / 10 )
    {
      if (USB_Configuration) break;
      delayms(10);             // Wait 10ms
      usbTimeout++;
    }
    lcdPrintln("Done"); lcdRefresh(); 
    
    uint8_t buf[2] = {0,0};
    int l;
    while(1){
        CDC_OutBufAvailChar(&l);
        if( l ){
            l = 1;
            CDC_RdOutBuf (buf, &l);
            puts(buf);
            dx=DoString(dx,0,buf);
            lcdDisplay();
        }
        //puts("hello world\r\n");
        //delayms(1);
    }
}
コード例 #12
0
ファイル: invaders.c プロジェクト: falkorichter/r0ket
static void screen_level() {
	lcdFill(0);
	draw_score();
	font = &Font_7x8;
	int dx = DoString(20,32, "Level ");
	DoInt(dx,32,game.level);
	lcdDisplay();
	delayms_queue(500);
}
コード例 #13
0
ファイル: open_lua_engine.cpp プロジェクト: actboy168/YDWE
	int doCommandLine(lua_State* L)
	{
		warcraft3::command_line cmd;
		if (cmd.has(L"debugger")) {
			lua_pushinteger(L, stoi(cmd[L"debugger"], 4278));
			DoString(L, "(require 'jass.runtime').debugger = ...", 1);
		}
		return 0;
	}
コード例 #14
0
ファイル: util.c プロジェクト: Bediko/r0ket
//# MENU usb_storage
void msc_menu(void){
    lcdClear();
    lcdPrintln("MSC Enabled.");
    lcdRefresh();
    usbMSCInit();
    while(!getInputRaw())delayms(10);
    DoString(0,16,"MSC Disabled.");
    usbMSCOff();
    fsReInit();
};
コード例 #15
0
ファイル: nickname.c プロジェクト: fpletz/f1rmware
void simpleNickname(void) {
    int dx=0;
	int dy=0;
    static uint32_t ctr=0;
	ctr++;

	setExtFont(GLOBAL(nickfont));
	dx=DoString(0,0,GLOBAL(nickname));
    dx=(RESX-dx)/2;
    if(dx<0)
        dx=0;
    dy=(RESY-getFontHeight())/2;

	lcdClear();
	DoString(dx,dy,GLOBAL(nickname));
	lcdDisplay();

    getInputWait();
    return;
}
コード例 #16
0
ファイル: scr0llr.c プロジェクト: astro/lun1k
void ram() {
  char key;
  int x = 0;
  for(key = 0; key = getInputRaw(), key != BTN_DOWN; ) {
    x = (x + 1) % 64;
    lcdFill(0);
    DoString(x, 0, "scr0llr");
    lcdDisplay();
    delayms_queue(20);
  }
}
コード例 #17
0
ファイル: funk.c プロジェクト: Bediko/r0ket
void f_init(void){
    nrf_init();

    struct NRF_CFG config = {
        .channel= BEACON_CHANNEL,
        .txmac= BEACON_MAC,
        .nrmacs=1,
        .mac0=  BEACON_MAC,
        .maclen ="\x10",
    };

    nrf_config_set(&config);
    lcdPrintln("Done.");
};

void f_status(void){
    int dx=0;
    int dy=8;
    uint8_t buf[4];

    buf[0]=C_R_REGISTER | R_CONFIG;
    buf[1]=0;
    buf[2]=0;
    buf[3]=0;
    dx=DoString(0,dy,"S:"); 
    dx=DoCharX(dx,dy,buf[0]);
    dx=DoCharX(dx,dy,buf[1]);
    dx=DoCharX(dx,dy,buf[2]);
    dx=DoCharX(dx,dy,buf[3]);
    dy+=8;
    nrf_cmd_rw_long(buf,2);
    dx=DoString(0,dy,"R:");
    dx=DoCharX(dx,dy,buf[0]);
    dx=DoCharX(dx,dy,buf[1]);
    dx=DoCharX(dx,dy,buf[2]);
    dx=DoCharX(dx,dy,buf[3]);
    dy+=8;

    int status=nrf_cmd_status(C_NOP);
    dx=DoString(0,dy,"St:"); DoCharX(dx,dy,status);dy+=8;
};
コード例 #18
0
ファイル: snake2.c プロジェクト: BartDeWaal/f1rmware
static void next_level()
{
    food = getFood();
    draw_block( food.x, food.y, 0b11101000);

    if(snake.len < MAX_SNAKE_LEN-2)
        snake.len++;
    if(snake.speed >= MAX_SPEED)
        snake.speed--;
    setTextColor(0xff,0b11100000);
    DoString(0,0,IntToStr(++points,6,0));
}
コード例 #19
0
ファイル: f00nk.c プロジェクト: astro/lun1k
void ram() {
  for(int x = 63; x >= 0; x--) {
    lcdFill(0);
    DoString(x, 0, "Setting Highscore");
    lcdDisplay();
  }
  highscore_set(23542, "Pentagon V1LLAG3");

  delayms_queue(500);

  for(int x = 63; x >= 0; x--) {
    lcdFill(0);
    DoString(x, 0, "Setting ...");
    lcdDisplay();
  }
  foo_set("PwnedPwnedPwnedPwnedPwnedPwned  ");
  bar_set("http://chaosbay.camp.ccc.de/    ");

  delayms_queue(500);
  time_set(1313803870);
}
コード例 #20
0
ファイル: jump.c プロジェクト: Bediko/r0ket
static bool gameover_scene() {
	int dy = getFontHeight();
	int s1x = DoString(0, 0, "GAME OVER!");
	s1x = (RESX-s1x)/2;
	int s2x = DoString(0, 0, "HIGHTSCORE!");
	s2x = (RESX-s2x)/2;

	char key = 0;
	while(key != BTN_UP && key != BTN_DOWN) {
		lcdClear();

		if(highscore_set(game.scroll_pos / 15, GLOBAL(nickname)))
			DoString (s2x, dy, "HIGHSCORE!");
		else
			DoString(s1x, dy, "GAME OVER!");

		int x = DoInt(0, 3*dy, game.scroll_pos / 15);
		DoChar(x, 3*dy, 'm');

		DoString(0, 5*dy, "UP to play");
		DoString(0, 6*dy, "DOWN to quit");

		lcdDisplay();

		key = getInputWaitTimeout(5000);
	}

	return !(key==BTN_DOWN);
}
コード例 #21
0
ファイル: jump.c プロジェクト: Bediko/r0ket
static void splash_scene() {
	uint32_t highscore;
	char highnick[20];

	char key = 0;
	while(key == 0) {
		getInputWaitRelease();

		int dy = getFontHeight();
		int s1x = DoString(0, 0, "r0ket");
		s1x = (RESX-s1x)/2;
		int s2x = DoString(0, 0, "JUMP!");
		s2x = (RESX-s2x)/2;

		lcdFill(0);
		
		DoString(s1x, 3*dy, "r0ket");
		DoString(s2x, 4*dy, "JUMP!");
		DoString(0, 7*dy, "by webholics");

		highscore = highscore_get(highnick);

		int s3x = DoInt(0, 0, highscore);
		DoChar(s3x, 0, 'm');
		DoString (0, dy, highnick);

		lcdDisplay();

		key = getInputWaitTimeout(1000);
	}
}
コード例 #22
0
ファイル: nick_plain.c プロジェクト: Bediko/r0ket
void ram(void) {
    int dx=0;
	int dy=0;
    static uint32_t ctr=0;
	ctr++;

	setExtFont(GLOBAL(nickfont));
	dx=DoString(0,0,GLOBAL(nickname));
    dx=(RESX-dx)/2;
    if(dx<0)
        dx=0;
    dy=(RESY-getFontHeight())/2;

	lcdClear();
	DoString(dx,dy,GLOBAL(nickname));
	lcdRefresh();

    while(getInputRaw()==BTN_NONE){
        delayms_queue_plus(10,0);
    };
    return;
}
コード例 #23
0
ファイル: nickname.c プロジェクト: sanpii/f1rmware
void simpleNickname(void) {
    int dx=0;
	int dy=0;
    static uint32_t ctr=0;
	ctr++;

	setExtFont(GLOBAL(nickfont));
	dx=DoString(0,0,GLOBAL(nickname));
    dx=(RESX-dx)/2;
    if(dx<0)
        dx=0;
    dy=(RESY-getFontHeight())/3;

    lcdFill(GLOBAL(nickbg));
    setTextColor(GLOBAL(nickbg),GLOBAL(nickfg));
	DoString(dx,dy,GLOBAL(nickname));
    dataLove();
    batteryLevel();
	lcdDisplay();

    getInputWaitTimeout(300);
    return;
}
コード例 #24
0
ファイル: LuaScript.cpp プロジェクト: jessicah/Vision
Script::Script (bool initStandardLibrary) :
	m_ownState(false)
{
	m_state = lua_open(0);
	m_ownState = true;
	if (initStandardLibrary)
		lua_baselibopen(m_state);

	// Register some basic functions with Lua.
	Register("LOG", Script_LOG);
	Register("_ERRORMESSAGE", Script_LOG);
	DoString(LuaScript_CopyTable);
//	lua_setfatalerrorhandler(FatalError);
}
コード例 #25
0
ファイル: nick_work.c プロジェクト: blubkatze/r0ket
static void mainloop(void)
{
    int dx=0;
	int dy=0;
    
	setExtFont(GLOBAL(nickfont));
	dx=DoString(0,0,GLOBAL(nickname));
    dx=(RESX-dx)/2;
    if(dx<0)
        dx=0;
    dy=(RESY-getFontHeight())/2;

	lcdClear();
    lcdSetPixel(1,1,1);
	DoString(dx,dy,GLOBAL(nickname));
    lcdRefresh();

    lk_ticks = 0;
    lk_button_mode = 0x00;
    lk_ls0 = 0x00;
    lk_ls1 = 0x00;
    lk_ls2 = 0x00;
    lk_ls3 = 0x00;
    lk_in0 = 0x00;
    lk_in1 = 0x00;
    lk_ticks = 0x0000;
    lk_piezo_toggle = 0x00;

    while(getInputRaw()==BTN_NONE){
        tick_lilakit();
        melody_play();
        //delayms_queue(10);    //XXX: this hangs the badge.
        delayms(10);
    }
    return;
}
コード例 #26
0
ファイル: r0type.c プロジェクト: andrmuel/r0ket
static bool screen_intro(void) {
	char key=0;
	while(key==0) {
		getInputWaitRelease();
		lcdFill(0);
		int ct = 0;
    for (int i = 0; i < SHIP_HEIGHT; i++){
      for(int d = 0; d < SHIP_WIDTH; d++){
        lcdSetPixel((40+d)%RESX,(10+i)%RESY,SHIP[ct]);
        ct++;
      }
    }
		DoString (13,25,"R0KET TYPE");
		uint32_t highscore;
	  char highnick[20];
	  highscore = highscore_get(highnick);
		DoInt(13, 40, highscore);
		DoString (13, 50, highnick);
		lcdDisplay();
		key=getInputWaitTimeout(1000);
	}
	//getInputWaitRelease();
	return !(key==BTN_LEFT);
}
コード例 #27
0
ファイル: DebugTest.cpp プロジェクト: maxmcguire/rocket
TEST_FIXTURE(DebugGetInfoLineNumber, LuaFixture)
{

    const char* code =
        "\n"
        "\n"
        "line1 = debug.getinfo(1,'l').currentline\n";

    luaL_openlibs(L);

    CHECK( DoString(L, code) );

    lua_getglobal(L, "line1");
    CHECK_EQ( lua_tonumber(L, -1), 3 );
    
}
コード例 #28
0
ファイル: inputtest.c プロジェクト: Bediko/r0ket
void main_inputtest(void) {
    backlightInit();
	
	char nick[20];
	memset(nick,0,20);
	strcpy(nick,"iggy");
   
	while(1) {
	   input("Nick?", nick, 0x20, 0x7f, 20);
	   
	   lcdFill(0);
	   font=&Font_Orbitron14pt;
	   DoString(20,20,nick);
	   lcdDisplay();
	   
	   while(getInput() != BTN_ENTER){}
	}
}
コード例 #29
0
ファイル: exp_preprocess.c プロジェクト: nickgn12/neshla
int FASTCALL PreprocessCheckYesNo(BOOL *_PREP_OK)
{
    int val = 0;
    if(GetNextWord()[0]=='"') {
        if(DoString()) {
            if((val=StrInStrint(szString, siYesNo))==-1)
                error(ERR_UNKREQUEST,szString);
            else {
                val = siYesNo[val].index;
                *_PREP_OK = TRUE;
            }
        }
    } else if(IsStrNum(szTemp)) {
        val = ConfirmChar(StrToInt(szTemp));
        *_PREP_OK = TRUE;
    } else
        error(ERR_INTEXP);
    return val;
}
コード例 #30
0
ファイル: XLua.cpp プロジェクト: xahgo/tama
BOOL XLua::LoadScript( const char* cFilename )
{
	XResFile file;
	if( file.Open( cFilename, XBaseRes::xREAD ) == FALSE )
		return FALSE;

	_tcscpy_s( m_szFilename, XE::GetFileName( Convert_char_To_TCHAR( cFilename ) ) );
	int size = file.Size();
//	char *buffer = new char[ size + 1 ];
	XBREAK( size >= 0xffff );
	char buffer[ 0xffff ];
	file.Read( buffer, size );
	buffer[ size ] = 0;
	DoString( buffer );
/*	if( luaL_dofile( L, szFilename ) ) {
		ErrorMsg( lua_tostring(L, -1) );
		return FALSE;
	} */
	return TRUE;
}