int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定 init(); load(); sound(); while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0 && gpUpdateKey() == 0){ //ClsDrawScreen(); if (Key[KEY_INPUT_RIGHT] >= 1){ // 右キーが押されていたら x = x + 5; // 右へ移動 } if (Key[KEY_INPUT_DOWN] >= 1){ // 下キーが押されていたら y = y + 5; // 下へ移動 } if (Key[KEY_INPUT_LEFT] >= 1){ // 左キーが押されていたら x = x - 5; // 左へ移動 } if (Key[KEY_INPUT_UP] >= 1){ // 上キーが押されていたら y = y - 5; // 上へ移動 } switch (Menucount){ case 1:Menu(); break; case 2:Easy(); break; case 3:Normal(); break; case 4:Hard(); break; case 5:Result(); break; case 6:Help(); break; } PlaySoundMem(gamemusic, DX_PLAYTYPE_BACK, FALSE); Update(); //更新 FPSDraw(); //描画 Wait(); //待機 if (Key[KEY_INPUT_ESCAPE] == 1) DxLib_End(); // DXライブラリ終了処理 } DxLib_End(); // DXライブラリ終了処理 return 0; }
void DumpBall() { DebugStop("Dump Ball"); while (1) { Lookdown(); if (iSight == iMe) { DebugStop("Dumping"); fBallRelease = 1; Gate(0); Hard(-70); msleep(1000L); if (fBlocked) Unbind(); Move(-200,-200); Move(50, 50); Hard(-90); fBallRelease = 0; fBall = 0; break; } Move(300, 300); if (fBlocked) { if (rgfBlock[3]) Hard(-10); else Hard(10); } } }
void Placebo() { int i; ir_transmit_off(); fAssertEnable = YesNo("Debug"); kill_process(ipMotor); if (YesNo("Start Light")) start_machine(START_LIGHT_PORT); ipMotor = start_process(MotorDriver()); CompeteInit(0); Orient(); FindLine(); while (1) { Hard(90); Move(-100, -100); Move(80, 80); Hard(90); Move(-200, -200); msleep(1000L); Chop(3); Move(50, 50); Wheelie(); } }
void Spinner() { int i; int deg; deg = WSetting("Degrees", 10, 360); for (i = 0; i < 10; i++) { Hard(deg); Hard(-deg); } }
void CollectBalls() { Hard(90); Move(-80,-80); Move(30, 30); Gate(0); fBallRelease = 1; Move(500, 500); pwrMax = 60; Move(-10, -10); Gate(1); fBallRelease = 0; msleep(250L); Move(-20, -20); pwrMax = 100; Move(-600,-600); msleep(250L); Move(80, 80); Hard(110); Move(-200,-200); Move(700, 700); }
void Orient() { int i; Lookdown(); i = rgiTable[0] * 4 + rgiTable[1] * 2 + rgiTable[2]; Assert((i & 1) == 0, "O4"); i >>= 1; iMe = rgiside[i]; dirOrient = rgdir[i]; printf("I: %d Side: %d Dir: %d\n", i, iMe, dirOrient); if (fAssertEnable) StartPress(); if (dirOrient == 0) { Move(-150, -150); Hard(-180); } if (dirOrient == 1) { Hard(80); Move(200,200); } if (dirOrient == 3) { Soft(-20, 0); Soft(-70, 1); Move(200,200); } if (fAssertEnable) StartPress(); }
void HardTest() { int deg; int degT; int fNeg; for (deg = 90; deg < 360; deg++) for (fNeg = 0; fNeg < 2; fNeg++) { degT = deg; if (fNeg) degT = -deg; printf("Hard %d\n", degT); Hard(degT); } }
void MainMenu() { func = -1; while (!stop_button()) { funcLast = func; func = ScaleKnob(1, 27); if (FDispMenu(1, "Calibrate Lookdown")) CalibrateLookdown(); if (FDispMenu(2, "Compete!")) Compete(); if (FDispMenu(3, "Placebo")) Placebo(); if (FDispMenu(4, "Dance!")) Chop(10); if (FDispMenu(5, "Calibrate Soft")) CalibrateSoft(); if (FDispMenu(6, "Calibrate Hard")) CalibrateHard(); if (FDispMenu(7, "Speed Calibration")) CalibrateSpeed(); if (FDispMenu(8, "Lookdown Test")) LookdownTest(); if (FDispMenu(9, "Orientation")) Orient(); if (FDispMenu(10, "Straight 1000")) Move(1000,1000); if (FDispMenu(11, "Left 90 Soft")) Soft(90, 1); if (FDispMenu(12, "Left 90 Hard")) Hard(90); if (FDispMenu(13, "Find Line")) FindLine(); if (FDispMenu(14, "Line Follow")) LineFollower(); if (FDispMenu(15, "Record")) RecordMove(WSetting("Record move", 0, 9)); if (FDispMenu(16, "Playback")) PlayMove(WSetting("Play move", 0, 9)); /* hbtest.c functions */ if (FDispMenu(17, "Servo Test")) ServoTest(); if (FDispMenu(18, "Calibrate Gate")) CalibrateGate(); if (FDispMenu(19, "Soft Turn Test")) SoftTest(); if (FDispMenu(20, "Hard Turn Test")) HardTest(); if (FDispMenu(21, "Spin Test!")) Spinner(); if (FDispMenu(22, "Shake Test!")) Shaker(); if (FDispMenu(23, "Bump Test")) BumpTest(); if (FDispMenu(24, "Test Motors")) testmotors(); if (FDispMenu(25, "Test Digitals")) testdigitals(); if (FDispMenu(26, "Test Analogs")) testanalogs(); if (FDispMenu(27, "Assert Enable")) AssertEnable(); } }
void ReturnForMore() { while (1) { Lookdown(); if (iSight == 2-iMe) { break; } Move(700, 700); if (fBlocked) Unbind(); Hard(45); if (fBlocked) Unbind(); } }