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 |
#define OLC_PGE_APPLICATION |
||||||
#include "pixelGameEngine.h" |
#include "pixelGameEngine.h" |
||||||
|
#define OLC_PGEX_QUICKGUI |
||||||
|
#include "olcPGEX_QuickGUI.h" |
Binary file not shown.
Loading…
Reference in new issue