Skip to content

Commit 46c6fa9

Browse files
EdlynTogrymmy
authored andcommitted
Sprig App - Ultimate Showdown: Dog Vs. Shark
1 parent edad593 commit 46c6fa9

File tree

2 files changed

+227
-0
lines changed

2 files changed

+227
-0
lines changed
Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
/*
2+
3+
4+
@title: Ultimate Showdown: Dog Vs. Shark
5+
@author: Elyse and Edlyn To
6+
@tags: []
7+
@addedOn:
8+
*/
9+
10+
const player_1 = "p";
11+
const player_2 = "q";
12+
const missile = "m";
13+
const missile_2 = "n"
14+
const melody = tune `
15+
500: C5-500,
16+
15500`
17+
const melody2 = tune `
18+
500: C5/500,
19+
15500`
20+
21+
p1_wins = 0
22+
p2_wins = 0
23+
setLegend(
24+
[ player_1, bitmap`
25+
................
26+
................
27+
......55........
28+
......555.......
29+
55...55555......
30+
55.5555555......
31+
5555555555555...
32+
55555555555555..
33+
555555555555055.
34+
555555.5.555555.
35+
555555....53355.
36+
5555555555555...
37+
55..555.........
38+
55..............
39+
................
40+
................` ],
41+
[player_2, bitmap `
42+
................
43+
................
44+
................
45+
.9...9..........
46+
939.939.........
47+
CCCCCCC.........
48+
02CC02C.......2.
49+
22CC22CCCCCC....
50+
CC0CCCCCCCCCC...
51+
CCCCCCCCCCCCC9..
52+
...CCCCCCCCCC.9.
53+
....CCCCCCCC...9
54+
.....C....C.....
55+
....CC...CC.....
56+
................
57+
................`],
58+
[missile, bitmap `
59+
................
60+
................
61+
................
62+
................
63+
................
64+
................
65+
......33333.....
66+
.....39999933...
67+
.....3333333....
68+
........33......
69+
................
70+
................
71+
................
72+
................
73+
................
74+
................`],
75+
[missile_2, bitmap `
76+
................
77+
................
78+
................
79+
................
80+
................
81+
......HHHHH.....
82+
....HH99999H....
83+
.....HHHHHHH....
84+
.......HH.......
85+
................
86+
................
87+
................
88+
................
89+
................
90+
................
91+
................`]
92+
);
93+
94+
setMap(map`
95+
........
96+
........
97+
........
98+
p......q
99+
........
100+
........
101+
........`);
102+
103+
104+
105+
onInput("s", () => {
106+
getFirst(player_1).y += 1
107+
})
108+
onInput("w",() =>{
109+
getFirst(player_1).y -=1
110+
})
111+
112+
onInput("k", () => {
113+
getFirst(player_2).y += 1
114+
})
115+
onInput("i",() =>{
116+
getFirst(player_2).y -=1
117+
})
118+
119+
function moveMissile() {
120+
const missileSprite = getFirst(missile);
121+
if(!missileSprite) return;
122+
try{if (getFirst(missile).x ==width()-1){
123+
getFirst(missile).remove();
124+
}
125+
else{
126+
getFirst(missile).x += 1; // Move the missile to the right
127+
}
128+
}
129+
catch(err){
130+
// pass
131+
}
132+
133+
if(missileSprite.x === getFirst(player_2).x && missileSprite.y === getFirst(player_2).y){
134+
// addText("shork wins yaur",{
135+
// color: color `3`
136+
//});
137+
p1_wins+=1
138+
addText("shark points:" +p1_wins, {
139+
y: 2
140+
});
141+
}
142+
if(p1_wins==6){
143+
addText("game over",{
144+
y:5,
145+
color: color `5`
146+
});
147+
addText("shark wins",{
148+
y:6,
149+
color: color `5`
150+
});
151+
152+
p2_wins = 0;
153+
p1_wins = 0;
154+
setTimeout(() => {
155+
clearText();
156+
}, 3000)
157+
158+
}
159+
}
160+
161+
162+
// onInput("d",()=>{
163+
// addSprite(1, getFirst(player_1).y, missile)
164+
// setInterval(moveMissile,500)
165+
// playTune(melody2)
166+
// });
167+
168+
let missileInterval;
169+
let missileSpeed = 150;
170+
onInput("d",()=>{
171+
addSprite(1, getFirst(player_1).y, missile)
172+
missileSpeed = Math.max(20, missileSpeed - 10);
173+
if (missileInterval) clearInterval(missileInterval);
174+
missileInterval = setInterval(moveMissile,missileSpeed);
175+
playTune(melody2)
176+
});
177+
178+
function moveMissile2() {
179+
const missileSprite2 = getFirst(missile_2);
180+
if(!missileSprite2) return;
181+
try{if (getFirst(missile_2).x == 0){
182+
getFirst(missile_2).remove();
183+
}
184+
else{
185+
getFirst(missile_2).x -= 1; // Move the missile to the right
186+
}
187+
}
188+
catch(err){
189+
// pass
190+
}
191+
if(missileSprite2.x === getFirst(player_1).x && missileSprite2.y === getFirst(player_1).y){
192+
// addText("doggo wins naur",{
193+
// color: color `3`,
194+
// });
195+
p2_wins +=1
196+
addText("dog points:"+p2_wins,{
197+
y:3
198+
} );
199+
}
200+
if(p2_wins ==6){
201+
addText("game over dog wins",{
202+
y:4,
203+
color:color`C`
204+
});
205+
p2_wins = 0;
206+
p1_wins = 0;
207+
setTimeout(() => {
208+
clearText();
209+
}, 3000)
210+
}
211+
212+
}
213+
// onInput("j",()=>{
214+
// addSprite(width()-2, getFirst(player_2).y, missile_2)
215+
// setInterval(moveMissile2,500)
216+
// playTune(melody)
217+
// });
218+
let missileIntervalDOG;
219+
let missileSpeedDOG = 150;
220+
221+
onInput("j",()=>{
222+
addSprite(width()-2, getFirst(player_2).y, missile_2)
223+
missileSpeedDOG = Math.max(20, missileSpeedDOG - 10);
224+
if (missileIntervalDOG) clearInterval(missileIntervalDOG);
225+
missileIntervalDOG = setInterval(moveMissile2,missileSpeedDOG);
226+
playTune(melody2)
227+
});
6.15 KB
Loading

0 commit comments

Comments
 (0)