Vad är problemet, uppritningen av linjen eller delayen?Flytta en linje i en loop...
Jag har en uppgift där det går ut på att få en linje med en flaska i ena änden att falla med vinkeln C * t^2 mot en skeppsida på en båt i en loop-funktion, med någon form av skärm delay så att man kan se animationen.
<code>
/*Laboration1*/
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <dos.h>
void graf_init(void){
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk){
printf("Graphics error: %s\n",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
}
int main(void){
int xmax, ymax;
int vinkel;
int linje;
graf_init();
setcolor(BLUE); //Väljer färg på "pennan"
setbkcolor(LIGHTBLUE); //Väljer bakgrundsfärg
xmax= getmaxx(); // Returnerar största x-värdet för skärmen
ymax= getmaxy(); // Returnerar största y-värdet för skärmen
vinkel = C * t2;
line(0,0.9*ymax, xmax,0.9*ymax); //Vatten linjen
setcolor(RED); //Färg på båten
/* Ritar upp konturerna av båten*/
line(0.80*xmax,0.9*ymax,0.75*xmax,0.8*ymax);
line(0.75*xmax,0.8*ymax,0.75*xmax,0.3*ymax);
line(0.75*xmax,0.55*ymax,xmax,0.55*ymax);
rectangle(0.85*xmax,0.4*ymax,xmax,0.55*ymax);
rectangle(0.92*xmax,0.20*ymax,0.96*xmax,0.4*ymax);
line(0.70*xmax,0.3*ymax,0.75*xmax,0.3*ymax);
circle(0.45*xmax,0.544*ymax,10);
getch(); // Denna rad är med för att programmet
// skall ta slut när man trycker en tangent.
closegraph(); // Avslutar grafiken.
return 0;
}
</code> Sv: Flytta en linje i en loop...
/Niklas Jansson