void Kot () { HDC Kot = txLoadImage ("Image//Кот.bmp"); double x = random (XWindow / 2 + 300, XWindow / 2 - 300), y = random (YWindow / 2 - 300, YWindow / 2 + 300); double a = random (-300, 300), b = random (-300, 300); while (!GetAsyncKeyState (VK_ESCAPE)) { txBegin (); txSetFillColor (TX_WHITE); txClear (); if (GetAsyncKeyState('A')) x-=2; if (GetAsyncKeyState('D')) x+=2; if (GetAsyncKeyState('W')) y-=2; if (GetAsyncKeyState('S')) y+=2; txTransparentBlt (txDC (), x, y, 92, 41, Kot, 0, 0, TX_WHITE); if (abs (x - x + a) > 35 + 10)txBitBlt (txDC (), x + a, y + b, 38, 20, Kot, 113, 10); if (x < 0) x = XWindow; if (x > XWindow) x = 0; if (y < 0) y = YWindow; if (y > YWindow) y = 0; txEnd (); } txDeleteDC (Kot); }
int main () { int n = 0; SortingAlgorithm sortAlgArray[SORT_ALG_ARRAY_SIZE] = { SortingAlgorithm ( bubbleSort, { 12, 205, 90}, n++, Mode (0, 2)), SortingAlgorithm ( selectionSort, {205, 12, 90}, n++, Mode (0, 2)), SortingAlgorithm ( insertionSort, { 12, 90, 205}, n++, Mode (0, 2)), SortingAlgorithm (binaryInsertionSort, {112, 90, 155}, n++, Mode (0, 2)) }; Button buttonArray[BUTTON_ARRAY_SIZE] = { Button (Point ( 0, 0), 0, 0, "BubbleSort" ), Button (Point ( 0, 0), 0, 0, "SelectionSort" ), Button (Point ( 0, 0), 0, 0, "InsertionSort" ), Button (Point ( 0, 0), 0, 0, "BinaryInsertionSort"), Button (Point (130, 405), 140, 30, "Now watching:" ), Button (Point ( 4, 367), 56, 26, "Play/Stop" ) }; distributeButtons (buttonArray, BUTTON_ARRAY_SIZE, 4, Point (654, 140), Point (954, 440)); Mode mode = Mode(COMPS, 3), updateGraphic = Mode( 1, 2); _txWindowStyle &= ~WS_CAPTION; txCreateWindow (WIDTH, HEIGHT); txTextCursor (false); HDC background = txLoadImage ("sortTube.bmp"); assert (background); while (!GetAsyncKeyState (VK_ESCAPE)) { txBegin (); txBitBlt (txDC (), 0, 0, 960, 480, background); txClearConsole (); calculations (sortAlgArray, SORT_ALG_ARRAY_SIZE, buttonArray, BUTTON_ARRAY_SIZE, &mode, &updateGraphic); //rendering (sortAlgArray, SORT_ALG_ARRAY_SIZE, buttonArray, BUTTON_ARRAY_SIZE, mode); txEnd (); txSleep (1000/30); } txDeleteDC (background); return 0; }
void MoveShar () { CBall Ball [6] = {{750, 400, 0, 0, 25, 3}}; CBall sn1 = {0, 0, 5, 5, 8}; CBall sn2 = {1500, 0, 5, 5, 8}; CBall sn3 = {1500, 800, 5, 5, 8}; CBall sn4 = {0, 800, 5, 5, 8}; CBall snbig1 = {sn1.x, sn2.y, 5, 5, 16}; CBall snbig2 = {sn3.x, sn4.y, 5, 5, 16}; CBall snBIGG = {snbig1.x, snbig2.y, 5, 5, 32}; double t = 0; double dt = 1; int N = 6; int i = 1; HDC vrag = txLoadImage ("vrag.bmp"); HDC igrok = txLoadImage ("igrok.bmp"); HDC fon = txLoadImage ("fon1.bmp"); HDC snaryad1 = txLoadImage ("снаряд20.bmp"); HDC snaryad2 = txLoadImage ("снаряд40.bmp"); HDC snaryad3 = txLoadImage ("снаряд80.bmp"); while (!GetAsyncKeyState(VK_ESCAPE)) { txSetFillColor (TX_BLACK); txClear (); txBitBlt (txDC (), 0, 0, 1500, 800, fon, 0, 0); txTransparentBlt (txDC (), Ball[0].x - Ball[0].rad, Ball[0].y - Ball[0].rad, 50, 50, igrok, 0, 0, TX_WHITE); Upravlenie (&Ball[0], dt); //----------------Mass------------------ while (i < N) { Ball[i].x = random (20, 1480); Ball[i].y = random (20, 780); Ball[i].vx = random (1.5, 3.5); Ball[i].vy = random (1.5, 3.5); Ball[i].rad = 30; i++; } All_Vrag (Ball, vrag, dt, N); i = 1; while (i < N) { if (Dist (Ball[i], Ball[0]) <= Ball[i].rad + Ball[0].rad) { txMessageBox ("Вы съедены!!!", "Поражение", 0); break; } i++; } //--------------Chit------------------------ if (GetAsyncKeyState ('L')) { Stena (&Ball[0]); } else { if (Ball[0].x + Ball[0].rad > 1500 || Ball[0].x - Ball[0].rad < 0 || Ball[0].y + Ball[0].rad > 800 || Ball[0].y - Ball[0].rad < 0 ) { txMessageBox ("Вы задохнулись!!!", "Поражение", 0); break; } } //-----------Snaryadi----------------------- Snaryad_polnost (&sn1, &sn2, &sn3, &sn4, &snbig1, &snbig2, &snBIGG, snaryad1, snaryad2, snaryad3, &Ball[0], dt); if (Dist (sn1, Ball[0]) <= sn1.rad + Ball[0].rad || Dist (sn2, Ball[0]) <= sn2.rad + Ball[0].rad || Dist (sn3, Ball[0]) <= sn3.rad + Ball[0].rad || Dist (sn4, Ball[0]) <= sn4.rad + Ball[0].rad || Dist (snbig1, Ball[0]) <= snbig1.rad + Ball[0].rad || Dist (snbig2, Ball[0]) <= snbig2.rad + Ball[0].rad || Dist (snBIGG, Ball[0]) <= snBIGG.rad + Ball[0].rad ) { txMessageBox ("Вы сгорели!!!", "Поражение", 0); break; } //-------------Pobeda------------ t += 0.005; Score (t, 750, 20); if (t > 20) { txMessageBox ("Победа!!!", "Победа", 0); break; } //------------------------------- txSleep (0); } txDeleteDC (vrag); txDeleteDC (igrok); txDeleteDC (fon); txDeleteDC (snaryad1); txDeleteDC (snaryad2); txDeleteDC (snaryad3); }
void fizic () { int i = 0, k = 0; CBall Mol [3200] = {}; CBall Mol2 [3200] = {}; txTextCursor (false); double time = 0; int davlenK = 0, davlenK_s = 0; int davlenN = 0, davlenN_s = 0; int K = 0, N = 0; int t = 0; double X_Sten = XWindow / 2, X_Sten_S = XWindow / 2; double temper = 0; double temper_s = 0; int Zoom = 0; int interv = 0; int l1 = 0, l2 = 0; Dlya_Graf (); HDC Molekula = txLoadImage ("Image//Молекула гелия.bmp"); HDC Molekula2 = txLoadImage ("Image//Молекула 3.bmp"); Mass1 (Mol , N); Mass2 (Mol2, K); text ("Для помощи нажмите I", XWindow / 2 + 30, YWindow - 40, TX_GREEN, 30, 8); while (!GetAsyncKeyState (VK_ESCAPE)) { txBegin (); kolba (); //txSetColor (TX_WHITE); //Clear (XWindow - 510, YWindow - 90, XWindow - 120, YWindow - 10); txSetColor (RGB(0, 0, 255), 7); txLine (X_Sten, 250, X_Sten, YWindow); if (GetAsyncKeyState (VK_RIGHT)) X_Sten ++; if (GetAsyncKeyState (VK_LEFT)) X_Sten --; else if (X_Sten < 200 && i + k > 150) X_Sten += 0.25; if (X_Sten > XWindow / 2) X_Sten = XWindow / 2; if (X_Sten < 125) X_Sten = 125; Ottalkiv (i, Mol, &temper); Ottalkiv (k, Mol2, &temper); for (K = 0; K < k; K++) { Molek (&Mol2 [K], X_Sten); kart (&Mol2 [K], Molekula2); if (Mol2[K].y - Mol2[K].rad == 250)davlenK += 2; temper += temp (Mol2 [K].vx, Mol2 [K].vy); //if (GetAsyncKeyState ('G')) Mol2 [K].vy -= 0.05; } for (N = 0; N < i; N++) { Molek (&Mol [N], X_Sten); kart (&Mol [N], Molekula); if (Mol[N].y - Mol[N].rad == 250) davlenN ++; temper += temp (Mol [N].vx, Mol [N].vy); //if (GetAsyncKeyState ('G')) Mol [N].vy -= 0.05; } if (t > 75) { Manometr (davlenK, XWindow / 2 - 150, 110, TX_WHITE, "Давление оранжевых:"); Manometr (davlenN, XWindow / 2 - 350, 110, TX_WHITE, "Давление зеленых:"); Grafik (X_Sten_S + XWindow / 2 - 100/*XWindow / 2 + time + 2*/, temper_s / 5, X_Sten + XWindow / 2 - 100/*XWindow / 2 + time + 2 + 0.05 * 75*/, temper / 5); t = 0; davlenK_s = davlenK; davlenN_s = davlenN; temper_s = temper; X_Sten_S = X_Sten; davlenK = 0; davlenN = 0; } if (temper > 70000) { while (Zoom < 2500) { vzriv (Zoom, X_Sten / 2, YWindow / 2); Zoom += 10; txSleep (0); } text ("Максимальная температура превышена :(", XWindow / 2 - 500, YWindow / 2, RGB(0, 255, 0), 50, 25); //txMessageBox ("Вы взорвались!", ":( :(", 2); /*if (txMessageBox ("Вы взорвались!", ":( :(", 2) == IDABORT) _txExit = true;*/ break; //if (txMessageBox ("Вы взорвались!", ":( :(", 2) == IDABORT) } Manometr (i + k, 150, 110, TX_WHITE, "Количество:"); if (temper > 50000) { text ("!!!Температура очень высокая!!!", XWindow - 500, YWindow - 50, RGB(255, 0, 0), 25, 12); Manometr (temper, 370, 110, RGB (255, 255 - (temper - 50000) * 255 / 20000, 255 - (temper - 50000) * 255 / 20000), "Температура:"); } else { Manometr (temper, 370, 110, TX_WHITE, "Температура:"); } if (i == 0) if (peregorodka() == true) i += 1; if (i > 0 && i < 3200) if (peregorodka() == true && l1 > 2) { i += 1; l1 = 0; } if (k == 0) if (peregorodka2() == true) k += 1; if (k > 0 && k < 3200) if (l2 > 4 && peregorodka2() == true) { k += 1; l2 = 0; } if (GetAsyncKeyState ('R')) { i = 0, k = 0; Mass1 (Mol, N); Mass2 (Mol2, K); } if (GetAsyncKeyState ('W') && i > 0) { i--; Mol [i].x = 0; Mol [i].y = 325; } if (GetAsyncKeyState ('X') && k > 0) { k--; Mol [k].x = 0; Mol [k].y = YWindow - 75; } if (GetAsyncKeyState ('I')) { text ("Нажмите A что-бы добавить молекулу 1 вида", 30, YWindow / 2 - 90, TX_GREEN, 30, 8); text ("Нажмите D что-бы добавить молекулу 2 вида", 30, YWindow / 2 - 55, TX_GREEN, 30, 8); text ("Нажмите W что-бы удалить молекулу 1 вида", 30, YWindow / 2 - 20, TX_GREEN, 30, 8); text ("Нажмите X что-бы удалить молекулу 2 вида", 30, YWindow / 2 + 20, TX_GREEN, 30, 8); text ("Нажмите R что-бы удалить молекулы всех видов", 30, YWindow / 2 + 90, TX_GREEN, 30, 8); text ("Движение перегородки стрелками", 30, YWindow / 2 + 55, TX_GREEN, 30, 8); //text ("Нажмите G и включится гравитация", 30, YWindow / 2 + 125, TX_GREEN, 30, 8); } l1 ++; l2 ++; time += 0.05; t++; interv++; temper = 0; txEnd (); } txDeleteDC (Molekula); txDeleteDC (Molekula2); }
int DvigChel_1 (int x, int y) { int time_end = clock(); Point_t loc = {x, y}; Score_t score = {0}; Chel_t chel = {&loc, SPEED}; Reaction_t react = {&loc, &score}; PointEN_t locEN = {291, 195, 5, 5}; PointEN_t locEN2 = {500, 500, 1, 1}; PointEN_t locEN3 = {400, 550, 4, 4}; int time = 0; int counter = -2; int counteren = 0; DrawLevel(); HDC Cover = txLoadImage ("Resourses\\Images\\Cover.bmp"); txPlaySound ("Resourses\\Music\\track_1.wav", SND_ASYNC); DrawArbuz (386, 59); DrawArbuz (449, 269); DrawArbuz (95, 402); DrawArbuz (345, 449); DrawArbuz (723, 491); DrawArbuz (703, 294); while (1) { txBegin(); DrawTimeTable(); Interface (&score, &time, &time_end); DrawWalls_1(); Bonus (&score); txSetColor (TX_YELLOW); txSetFillColor (TX_YELLOW); txRectangle (locEN.x - 13, locEN.y - 13, locEN.x + 13, locEN.y + 13); MoveEnemy (&locEN); counteren++; if (counteren % 12 < 5) DrawEnemy_1 (&locEN); else if (counteren % 12 < 9) DrawEnemy_2 (&locEN); else DrawEnemy_3 (&locEN); if ((loc.x < locEN.x + 14) && (loc.x > locEN.x - 12) && (loc.y < locEN.y + 13) && (loc.y > locEN.y - 12)) return 0; txSetColor (TX_YELLOW); txSetFillColor (TX_YELLOW); txRectangle (locEN2.x - 13, locEN2.y - 13, locEN2.x + 13, locEN2.y + 13); MoveEnemy (&locEN2); counteren++; if (counteren % 12 < 5) DrawEnemy_1 (&locEN2); else if (counteren % 12 < 9) DrawEnemy_2 (&locEN2); else DrawEnemy_3 (&locEN2); if ((loc.x < locEN2.x + 14) && (loc.x > locEN2.x - 12) && (loc.y < locEN2.y + 13) && (loc.y > locEN2.y - 12)) return 0; txSetColor (TX_YELLOW); txSetFillColor (TX_YELLOW); txRectangle (locEN3.x - 13, locEN3.y - 13, locEN3.x + 13, locEN3.y + 13); MoveEnemy (&locEN3); counteren++; if (counteren % 12 < 5) DrawEnemy_1 (&locEN3); else if (counteren % 12 < 9) DrawEnemy_2 (&locEN3); else DrawEnemy_3 (&locEN3); if ((loc.x < locEN3.x + 14) && (loc.x > locEN3.x - 12) && (loc.y < locEN3.y + 13) && (loc.y > locEN3.y - 12)) return 0; txTransparentBlt (txDC(), loc.x - 10, loc.y - 10, 21, 21, Cover, 0, 0, TX_WHITE); if (Controls (&react) == 1) {DrawChel_1 (&loc); return 0;}; if (ReactionEnd1 (&loc) == 1) { if (score.points > 400) return score.points + 20 - time; }; if (time > 40) return 0; counter++; if (counter > 2) counter = -2; if (counter < 0) DrawChel_1 (&loc); else DrawChel_2 (&loc); if (GetAsyncKeyState ('M')) sleep--; if (sleep < 0) sleep = 0; if (GetAsyncKeyState ('P')) sleep++; if (GetAsyncKeyState (VK_ESCAPE)) MenuInGame(&loc, 1); Sleep (sleep); } time_end = time; txDeleteDC (Cover); }
int MovingOn (/* const */char allMap [MASSLAYER][MASSSIZE][MASSSIZE], int layer, int* pos, int x, int y, int* nyamka) { HDC WallImage = txLoadImage("images/DoorMetall.bmp"); HDC DoorImage = txLoadImage("images/spinportal.bmp"); HDC FloorImage = txLoadImage("images/plitkafloor.bmp"); HDC FoodImage = txLoadImage("images/edaplitka.bmp"); HDC KnifeImage = txLoadImage("images/plasma-bulb.bmp"); int vy = 0; int vx = 0; int t = 0; int colo = TX_BLACK; HDC KNIF = KnifeImage; txBegin (); while (true) { txSetFillColor (MEOW_COLOR); txClear(); DrawKarta (0, 0, 1 * SIZEB, 1 * SIZEB, allMap, layer, FoodImage, WallImage, DoorImage, FloorImage, KNIF); if (t % 16 == 1) { if (KNIF == KnifeImage) KNIF = FloorImage; else if (KNIF == FloorImage) KNIF = KnifeImage; } MovePelByXY (&x, &y, &vx, &vy, allMap, layer); pelmen (x, y, 15, 6, 6, t % 15, t % 15); if (allMap [layer][YM][XM] == 'w') *pos = 1; else if (allMap [layer][YM][XM] == 'v') *pos = 2; else if (allMap [layer][YM][XM] == 'y') *pos = 3; else if (allMap [layer][YM][XM] == 'z') *pos = 4; if (allMap[layer][YM][XM] == NYAM) { allMap[layer][YM][XM] = SPACE; *nyamka = *nyamka += 1; } if (allMap [layer][YM][XM] == WIN) return 1; if (allMap [layer][YM][XM] == 'A') return 2; if (allMap [layer][YM][XM] == 'B') return 3; if (allMap [layer][YM][XM] == 'C') return 4; if (allMap[layer][YM][XM] == KNIFE) if (KNIF == KnifeImage) return 0; t++; txSleep (30); } txEnd(); txDeleteDC (WallImage); txDeleteDC (DoorImage); txDeleteDC (FloorImage); txDeleteDC (FoodImage); txDeleteDC (KnifeImage); }
int main() { txCreateWindow(SX * 2, SY * 2); txTextCursor(false); SetWindowText(txWindow(), "Illusions"); Illusions illus[ILLUSIONS] = {}; HDC skins[ILLUSIONS] = {txLoadImage("WTF.bmp"), txLoadImage("Cat.bmp"), txLoadImage("Packman.bmp"), txLoadImage("Spiral.bmp"), txLoadImage("Sphere.bmp"), txLoadImage("Figure.bmp"), txLoadImage("DINOSOWER.bmp"), txLoadImage("Packman2.bmp"), txLoadImage("Cab.bmp"), txLoadImage("Cab2.bmp"), txLoadImage("Head.bmp"), txLoadImage("6terna.bmp"), txLoadImage("6terna4.bmp"), txLoadImage("bike.bmp"), txLoadImage("Ўарик.bmp"), txLoadImage("fish.bmp"), txLoadImage("kriper.bmp"), txLoadImage("WTF2.bmp"), txLoadImage("kub.bmp"), txLoadImage("water.bmp"), txLoadImage("serdce.bmp")}; HDC transparent = txLoadImage("Transparent5.bmp"); double x = -450, y = 25; for(int i = 0; i < ILLUSIONS; i++) illus[i].SetSkin(skins[i]); illus[0].show = true; while(!Key(27)) { txBegin(); txSetFillColor(TX_BLACK); txClear(); for(int i = 0; i < ILLUSIONS; i++) { if(illus[i].show) { txBitBlt(txDC(), illus[i].x, illus[i].y, X_DEST * 2, Y_DEST * 2, illus[i].skin, 0, 0); if(Key('1')) { if(i > 0) illus[i].show = false, illus[i - 1].show = true; else illus[i].show = false, illus[ILLUSIONS - 1].show = true; } if(Key('2')) { if(i < ILLUSIONS - 1) illus[i].show = false, illus[i + 1].show = true; else illus[i].show = false, illus[ 0].show = true; } while(Key('1') || Key('2')) txSleep (1); } } if(Key(VK_LEFT )) x -= 0.25; if(Key(VK_RIGHT)) x += 0.25; if(Key(VK_UP )) y--; if(Key(VK_DOWN )) y++; txTransparentBlt(txDC(), x, y, X_DEST * 4, Y_DEST * 2, transparent, 0, 0, TX_WHITE); txEnd(); } txDeleteDC(transparent); return 0; }
~Illusions() { txDeleteDC(skin); }