parent
d8bb3d6dd9
commit
c293288908
@ -0,0 +1,28 @@ |
||||
"Scores due by September 24th, 23:59 PST",,,,,,, |
||||
Set A,,Total EX,NICONII,SALSA,YONCETAI,, |
||||
12,Sola,1287,1218,1155,980,,0 |
||||
13,Deadball de homerun,1323,1225,1047,994,,0 |
||||
13,Star Trail,1443,1339,1231,978,,0 |
||||
14,Draw the Savage,1425,1298,1294,1039,,0 |
||||
14,IMANOGUILTS,1719,1586,1336,993,,0 |
||||
15,Astrogazer,1782,1618,0,0,,0 |
||||
15,Kouen,1905,1772,0,0,,0 |
||||
16,The World Ends Now,1917,1730,0,0,,0 |
||||
16,S!ck,2118,1790,1563,0,,0 |
||||
17,Magnetic,2193,1815,0,0,,0 |
||||
17,Unfinished Steam Maiden,2262,1885,0,0,,0 |
||||
18,Nageki no ki,2370,1978,0,0,,0 |
||||
,,,,,,,0 |
||||
Set B,,,,,,,0 |
||||
12,Towards the TOWER,1104,1046,1023,879,,0 |
||||
13,Xenon,1158,1088,1042,913,,0 |
||||
13,DeStRuCtIvE FoRcE,1299,1218,1102,833,,0 |
||||
14,Diamond Night,1359,1258,1169,919,,0 |
||||
14,Nightbird lost wing,1539,1395,1220,674,,0 |
||||
15,Sand Blow,1668,1466,0,0,,0 |
||||
15,SILVER DREAM,1668,1500,1242,0,,0 |
||||
16,Another Phase,1767,1547,0,0,,0 |
||||
16,Blew My Mind,1803,1464,0,0,,0 |
||||
17,Emera,1851,1531,0,0,,0 |
||||
17,JOMANDA,2004,1556,0,0,,0 |
||||
18,PARANOiA Revolution,2097,1582,0,0,,0 |
@ -0,0 +1,75 @@ |
||||
|
||||
<!doctype html> |
||||
<html lang="en-us"> |
||||
<head> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> |
||||
<meta charset="utf-8"> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||
<title>Emscripten-Generated Code</title> |
||||
<style> |
||||
html,body { width: 100%; height: 100%; } |
||||
body { font-family: arial; margin: 0; padding: 0; background: #000; } |
||||
|
||||
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; } |
||||
div.emscripten_border { border: none; } |
||||
|
||||
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */ |
||||
canvas.emscripten { border: 0px none; background-color: black; } |
||||
</style> |
||||
</head> |
||||
<body> |
||||
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()" tabindex=-1></canvas> |
||||
<script type='text/javascript'> |
||||
var Module = { |
||||
preRun: [], |
||||
postRun: [], |
||||
canvas: (function() { |
||||
var canvas = document.getElementById('canvas'); |
||||
|
||||
// As a default initial behavior, pop up an alert when webgl context is lost. To make your |
||||
// application robust, you may want to override this behavior before shipping! |
||||
// See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2 |
||||
canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false); |
||||
|
||||
return canvas; |
||||
})(), |
||||
}; |
||||
</script> |
||||
<script async type="text/javascript" src="ChampionsLeaguePointSolver.js"></script> |
||||
<script type="text/javascript"> |
||||
Module.canvas.addEventListener("resize", (e) => { |
||||
|
||||
var viewWidth = e.detail.width; |
||||
var viewHeight = e.detail.width / Module._olc_WindowAspectRatio; |
||||
|
||||
if(viewHeight > e.detail.height) |
||||
{ |
||||
viewHeight = e.detail.height; |
||||
viewWidth = e.detail.height * Module._olc_WindowAspectRatio; |
||||
} |
||||
|
||||
// update dom attributes |
||||
Module.canvas.setAttribute("width", viewWidth); |
||||
Module.canvas.setAttribute("height", viewHeight); |
||||
|
||||
var top = (e.detail.height - viewHeight) / 2; |
||||
var left = (e.detail.width - viewWidth) / 2; |
||||
|
||||
// update styles |
||||
Module.canvas.style.position = "fixed"; |
||||
Module.canvas.style.top = top.toString() + "px"; |
||||
Module.canvas.style.left = left.toString() + "px"; |
||||
Module.canvas.style.width = ""; |
||||
Module.canvas.style.height = ""; |
||||
|
||||
// trigger PGE update |
||||
Module._olc_PGE_UpdateWindowSize(viewWidth, viewHeight); |
||||
|
||||
// ensure canvas has focus |
||||
Module.canvas.focus(); |
||||
e.preventDefault(); |
||||
}); |
||||
</script> |
||||
|
||||
</body> |
||||
</html> |
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,211 +0,0 @@ |
||||
|
||||
#include "pixelGameEngine.h" |
||||
|
||||
//THIS IS WRITTEN USING OLC GPE, CHECK OUT onelonecoder.com
|
||||
//Or else
|
||||
class Snake : public olc::PixelGameEngine { |
||||
public: |
||||
Snake() { |
||||
sAppName = "Snake"; |
||||
} |
||||
|
||||
enum direction { STOP, LEFT, RIGHT, DOWN, UP }; |
||||
direction dir; |
||||
//Game variables
|
||||
int score; |
||||
//Snake variables
|
||||
float SnakeXPos, SnakeYPos; |
||||
float tailUpdateTimer=0; |
||||
int tailX[1000], tailY[1000], tailLength = 0; |
||||
float x, y; |
||||
//Target variables
|
||||
int fruit1X, fruit1Y, fruit2X, fruit2Y; |
||||
bool fruit1 = false, fruit2 = false; |
||||
bool GameOver; |
||||
|
||||
void SnakeDead() { |
||||
if (GameOver == true) { |
||||
Clear(olc::BLACK); |
||||
DrawString(ScreenWidth() - ((ScreenWidth() / 2) + (ScreenWidth() / 2.8)), ScreenHeight() / 2 - 5, "Game Over", olc::RED, 1); |
||||
} |
||||
} |
||||
void BorderCollisionCheck() { |
||||
if (SnakeXPos <= 3) { |
||||
GameOver = true; |
||||
SnakeDead(); |
||||
} |
||||
if (SnakeXPos >= ScreenWidth() - 3) { |
||||
GameOver = true; |
||||
SnakeDead(); |
||||
} |
||||
if (SnakeYPos <= 3) { |
||||
GameOver = true; |
||||
SnakeDead(); |
||||
} |
||||
if (SnakeYPos >= ScreenHeight() - 3) { |
||||
GameOver = true; |
||||
SnakeDead(); |
||||
} |
||||
} |
||||
void userInput(float speed) { |
||||
if (GetKey(olc::Key::UP).bPressed && dir != DOWN) { |
||||
dir = UP; |
||||
} |
||||
if (GetKey(olc::Key::DOWN).bPressed && dir != UP) { |
||||
dir = DOWN; |
||||
} |
||||
if (GetKey(olc::Key::LEFT).bPressed && dir != RIGHT) { |
||||
dir = LEFT; |
||||
} |
||||
if (GetKey(olc::Key::RIGHT).bPressed && dir != LEFT) { |
||||
dir = RIGHT; |
||||
} |
||||
|
||||
//Move Snake
|
||||
switch (dir) { |
||||
case LEFT: |
||||
SnakeXPos -= speed; |
||||
break; |
||||
case RIGHT: |
||||
SnakeXPos += speed; |
||||
break; |
||||
case DOWN: |
||||
SnakeYPos += speed; |
||||
break; |
||||
case UP: |
||||
SnakeYPos -= speed; |
||||
break; |
||||
} |
||||
} |
||||
void FruitCoordGen() { |
||||
//Fruit1
|
||||
if (fruit1 == false) { |
||||
fruit1X = rand() & ScreenWidth(); |
||||
fruit1Y = rand() & ScreenHeight(); |
||||
fruit1 = true; |
||||
} |
||||
if (fruit1X <= 2 || fruit1X >= ScreenWidth() - 2) { |
||||
fruit1X = rand() & ScreenWidth(); |
||||
} |
||||
if (fruit1Y <= 2 || fruit1Y >= ScreenHeight() - 2) { |
||||
fruit1Y = rand() & ScreenHeight(); |
||||
} |
||||
//Fruit2
|
||||
//if (fruit2 == false) {
|
||||
//fruit2X = rand() & ScreenWidth();
|
||||
//fruit2Y = rand() & ScreenHeight();
|
||||
//fruit2 = true;
|
||||
//}
|
||||
//if (fruit2X <= 2 || fruit2X >= ScreenWidth() - 2) {
|
||||
//fruit1X = rand() & ScreenWidth();
|
||||
//}
|
||||
//if (fruit2Y <= 2 || fruit2Y >= ScreenHeight() - 2) {
|
||||
//fruit1Y = rand() & ScreenHeight();
|
||||
//}
|
||||
//if (fruit1X == fruit2X) {
|
||||
//fruit1X = rand() & ScreenWidth();
|
||||
//}
|
||||
//if (fruit1Y == fruit2Y) {
|
||||
//fruit1Y = rand() & ScreenWidth();
|
||||
//}
|
||||
} |
||||
|
||||
private: |
||||
|
||||
public: |
||||
bool OnUserUpdate(float fElapsedTime) override { |
||||
|
||||
float speed = 20 * fElapsedTime; |
||||
Clear(olc::BLACK); |
||||
//Draw top border
|
||||
DrawLine(2, 2, ScreenWidth() - 2, 2, olc::WHITE); |
||||
//Draw left border
|
||||
DrawLine(2, 2, 2, ScreenHeight() - 2, olc::WHITE); |
||||
//Draw right border
|
||||
DrawLine(ScreenWidth() - 2, 2, ScreenWidth() - 2, ScreenHeight() - 2, olc::WHITE); |
||||
//Draw bottom border
|
||||
DrawLine(2, ScreenHeight() - 2, ScreenWidth() - 2, ScreenHeight() - 2, olc::WHITE); |
||||
|
||||
olc::vi2d SnakeHead(SnakeXPos, SnakeYPos); |
||||
olc::vi2d SnakeHeadSize(2, 2); |
||||
|
||||
olc::vi2d Fruit(fruit1X, fruit1Y); |
||||
olc::vu2d FruitSize(2, 2); |
||||
|
||||
//Snake and fruit collision
|
||||
if (SnakeHead.x < Fruit.x + FruitSize.x && |
||||
SnakeHead.x + SnakeHeadSize.x > Fruit.x && |
||||
SnakeHead.y < Fruit.y + FruitSize.y && |
||||
SnakeHead.y + SnakeHeadSize.y > Fruit.y) { |
||||
fruit1 = false; |
||||
score++; |
||||
tailLength++; |
||||
} |
||||
|
||||
//Draw fruit
|
||||
DrawRect(fruit1X, fruit1Y, 1, 1, olc::RED); |
||||
|
||||
//Fruit coord gen
|
||||
FruitCoordGen(); |
||||
|
||||
//Border collision
|
||||
BorderCollisionCheck(); |
||||
|
||||
tailUpdateTimer -= fElapsedTime; //Decrement the tail timer by the game elapsed time.
|
||||
if ( tailUpdateTimer <= 0 ) { |
||||
//In order to create a tail following trail, start from the back-most tail and work your way up to the front, setting the previous tail's position to the current tail index's position.
|
||||
for (int i = tailLength - 1; i > 0; i--) { |
||||
tailX[i]=tailX[i-1]; |
||||
tailY[i]=tailY[i-1]; |
||||
} |
||||
//Now set the front-most tail to the current snake head's position.
|
||||
tailX[0]=SnakeXPos; |
||||
tailY[0]=SnakeYPos; |
||||
tailUpdateTimer=0.05; //Every 0.05 seconds we will re-update the tail positions instead of doing it by frame-based timing.
|
||||
} |
||||
|
||||
//Draw Snake tail
|
||||
if (tailLength >= 1) { |
||||
for (int i = 0; i < tailLength; i++) { |
||||
DrawRect(tailX[i], tailY[i], 1, 1, olc::GREEN); |
||||
} |
||||
} |
||||
|
||||
//Snake position gets adjusted here.
|
||||
userInput(speed); |
||||
|
||||
//Draw the Snake at its new position.
|
||||
DrawRect(SnakeXPos, SnakeYPos, 1, 1, olc::DARK_GREEN); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
bool OnUserCreate() override { |
||||
srand(time(NULL)); |
||||
dir = STOP; |
||||
//Snake X coord gen
|
||||
SnakeXPos = rand() & ScreenWidth(); |
||||
if (SnakeXPos <= 3 || SnakeXPos >= ScreenWidth() - 3) { |
||||
SnakeXPos = rand() & ScreenWidth(); |
||||
} |
||||
if (SnakeXPos <= 3 || SnakeXPos >= ScreenHeight() - 3) { |
||||
SnakeXPos = rand() & ScreenHeight(); |
||||
} |
||||
//Snake Y coord gen
|
||||
SnakeYPos = rand() & ScreenWidth(); |
||||
if (SnakeYPos <= 3 || SnakeYPos >= ScreenWidth() - 3) { |
||||
SnakeYPos = rand() & ScreenWidth(); |
||||
} |
||||
if (SnakeYPos <= 3 || SnakeYPos >= ScreenHeight() - 3) { |
||||
SnakeYPos = rand() & ScreenHeight(); |
||||
} |
||||
return true; |
||||
} |
||||
}; |
||||
|
||||
int main() { |
||||
Snake demo; |
||||
if (demo.Construct(100, 100, 10, 10)) |
||||
demo.Start(); |
||||
return 0; |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -1,2 +1,4 @@ |
||||
#define OLC_PGE_APPLICATION |
||||
#include "pixelGameEngine.h" |
||||
#define OLC_PGEX_QUICKGUI |
||||
#include "olcPGEX_QuickGUI.h" |
Binary file not shown.
Loading…
Reference in new issue