Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- #include <time.h>
- void initPositions(double *x, double *y, int N);
- void initVelocity(double *xV, double *yV, int N);
- void showTables(double *x, double *y, double *xV, double *yV, int N);
- void display(double *x, double *y, int N);
- void move(double *x, double *y, double *xV, double *yV, int N);
- void collideWall(double *x, double *y, double *xV, double *yV, int N);
- void main()
- {
- int N = 10;
- double x[N], y[N], xV[N], yV[N];
- // OTWÓRZ OKNO GRAFICZNE O WYMIARACH 400x400
- initPositions(x, y, N);
- initVelocity(xV, yV, N);
- showTables(x, y, xV, yV, N);
- display(x, y, N);
- collideWall(x, y, xV, yV, N);
- for (int i = 0; i < 50; i++)
- {
- animate(100); // oczkiwanie przez 100 ms
- clear(); // czyszczenie okna dla nowej klatki
- move(x, y, xV, yV, N);
- collideWall(x, y, xV, yV, N);
- display(x, y, N);
- }
- printf("\n\n");
- showTables(x, y, xV, yV, N);
- }
- void initPositions(double *x, double *y, int N)
- {
- srand(time(NULL));
- for (int i = 0; i < N; i++)
- {
- x[i] = rand() % 360 + 20;
- y[i] = rand() % 360 + 20;
- }
- }
- void initVelocity(double *xV, double *yV, int N)
- {
- srand(time(NULL));
- for (int i = 0; i < N; i++)
- {
- xV[i] = (double)rand() / RAND_MAX * 2 - 1;
- yV[i] = (double)rand() / RAND_MAX * 2 - 1;
- }
- }
- void showTables(double *x, double *y, double *xV, double *yV, int N)
- {
- printf("\tx\t\t\ty\t\t\txV\t\t\tyV\n");
- for (int i = 0; i < N; i++)
- {
- printf("%.2f\t%.2f\t%.2f\t%.2f\n", x[i], y[i], xV[i], yV[i]);
- }
- }
- void display(double *x, double *y, int N)
- {
- for (int i = 0; i < N; i++)
- {
- // WYŚWIETLENIE PIŁKI O WSPÓŁRZĘDNYCH (x[i], y[i]) I PROMIENIU 20
- }
- }
- void move(double *x, double *y, double *xV, double *yV, int N)
- {
- for (int i = 0; i < N; i++)
- {
- x[i] += xV[i];
- y[i] += yV[i];
- }
- }
- void collideWall(double *x, double *y, double *xV, double *yV, int N)
- {
- for (int i = 0; i < N; i++)
- {
- if (x[i] - 20 <= 0 || x[i] + 20 >= 400)
- xV[i] *= -1;
- if (y[i] - 20 <= 0 || y[i] + 20 >= 400)
- yV[i] *= -1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement