-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path5initData.js
179 lines (143 loc) · 4.17 KB
/
5initData.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
//empty as of now
//copied from Chase a little dot 2-1/5initJada.js
//at 8/29/2022 3:09 PM CST Monday
//var data=new Data();
data=new Data();
//ctx.line(2,3,4,5,6);
/*data.addObject("player",new PlayerBall(0,0,0,0,settings.playerForce,10,"blue",true));
//console.log(settings.playerForce);
//data.objects.player.force=settings.playerForce;
//console.log(data.player.force);
data.addObject("target",new TargetBall(0,0,0,0,5,"red",true));
data.objects.target.newPositionAndVelocity(settings.targetSpeed*Math.random());*/
data.text=new Text(48,"serif","white");
//remember y is negative
//settings
var theScale=settings.theScale;
var theString=settings.theString;
var theColor1=settings.theColor1;
var theColor2=settings.theColor2;
var theColor3=settings.theColor3;
var theColor4=settings.theColor4;
var theSize=settings.theSize;
console.log(theSize);
var score=0;
//fps and time stuffs
var startTime=new Date().getTime();
var lastTime=new Date().getTime();
//amount of milliseconds until velocity reverse
//or else number of frames until velocity reverse...
var reverseTime=settings.reverseTime;
//whether or not to pause after double reverse time
var pauseOnDoubleReverseTime=settings.pauseOnDoubleReverseTime;
//boolean of which reverse has happened already or not
var reverse1Happened=false;
//pause at double reversetime happened already or not
var reverse2Happened=false;
//boolean to tell whether or not the recording is running (backwards...)
var runningRecording=false;
//starting frame of when the recording was started
//unknown yet... so -1...
//maybe better to not be in the settings because changing it does
//nothing... but eh idk... oh i think i will do that actually...
var startedRunningRecordingFrame=false;
//whether or not the recording will eventually run
var recordingRuns=settings.recordingRuns;
//frameList for recording if that is ever turned on again
var frameList=[];
console.log(
settings.rectStartX,settings.rectStartY,settings.rectWidth,settings.rectHeight);
data.objects["box1"]=new Rectangle(
settings.rectStartX,
settings.rectStartY,
0,0,
settings.rectWidth,
settings.rectHeight,
"#0000ff"
);
//define the text key
var textKeyPressed=false;
//sorry mobile users if this is off
//define the lines animation key
var linesAnimationKeyPressed=false;
//again too bad mobile users
//define the progress bar key
var progressBarKeyPressed=false;
//mobile users just get a computer simple
//problems require simple solutions like just come on really
console.log("5 initData loaded!");
data.dt=data.dt?data.dt:1;
/*for(var i=0;i<settings.numBalls;i++){
//remember +x is right and +y is DOWN not up
//because canvas s htat way
console.log("new ball");
data.objects["ball"+i]=new WallBouncingOrb(
//poler equation thing
i*Math.cos(i)*settings.theScale+settings.rectStartX,
i*Math.sin(i)*settings.theScale+settings.rectStartY,
settings.speed*settings.spf,
//inverted
settings.speed*settings.spf,(settings.numBalls/Math.PI)-(i/Math.PI)
//settings.speed*settings.spf,i/Math.PI
);
//console.log(
// data.objects["ball"+i].pos[0],data.objects["ball"+i].pos[1],
// data.objects["ball"+i].vel[0],data.objects["ball"+i].vel[1]
//);
//console.log(data.objects["ball"+i]);
}
//make sure nothing isNaN
var objectKeys=Object.keys(data.objects);
//console.log(objectKeys);
for(var i=0;i<objectKeys.length;i++){
var obj=data.objects[objectKeys[i]];
//console.log(obj);
if(
isNaN(obj.pos[0])||
isNaN(obj.pos[1])||
isNaN(obj.vel[0])||
isNaN(obj.vel[1])
){
console.error(
objectKeys[i]+" contains undefined values"+"\n"+
obj.pos[0]+" "+
obj.pos[1]+" "+
obj.vel[0]+" "+
obj.vel[1]
);
}
}*/
//make the box
//make the initial ball
data.objects["ball1"]=new WallBouncingOrb(
0,
0,
5,
0,
);
data.objects["ballPositionGraph"]=new Graph(
0,150,
0,0,
1000,100,
[],
0.001,
"black","lime","red"
);
data.objects["ballVelocityGraph"]=new Graph(
0,300,
0,0,
1000,100,
[],
0.1,
"black","lime","red"
);
data.objects["ballAccelerationGraph"]=new Graph(
0,450,
0,0,
1000,100,
[],
0.1,
"black","lime","red"
);
//console.log("FPS: "+settings.fps);
console.log("5 initData loaded!");