Revert "Add game (it's stupid but it's there)"
This reverts commit cfd8a54259.
This commit is contained in:
@@ -1,16 +0,0 @@
|
|||||||
@page
|
|
||||||
@model JoshHeaps.Net.Pages.GameModel
|
|
||||||
@{
|
|
||||||
ViewData["Title"] = "Game";
|
|
||||||
Layout = "_Layout";
|
|
||||||
}
|
|
||||||
|
|
||||||
<canvas id="gameCanvas"></canvas>
|
|
||||||
|
|
||||||
@section Styles {
|
|
||||||
<link href="/css/game/game.css?v=@ViewData["cssVersion"]" rel="stylesheet" type="text/css" />
|
|
||||||
}
|
|
||||||
|
|
||||||
@section Scripts {
|
|
||||||
<script src="~/js/Game/game.js"></script>
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
||||||
|
|
||||||
namespace JoshHeaps.Net.Pages
|
|
||||||
{
|
|
||||||
public class GameModel : PageModel
|
|
||||||
{
|
|
||||||
public void OnGet()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
@{
|
@{
|
||||||
Layout = null;
|
Layout = null;
|
||||||
ViewData["cssVersion"] = "1.0.3"; // <--- change this once to bust cache
|
ViewData["cssVersion"] = "1.0.2"; // <--- change this once to bust cache
|
||||||
}
|
}
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
html, body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
#gameCanvas {
|
|
||||||
position: fixed;
|
|
||||||
inset: 0;
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
display: block;
|
|
||||||
background-image: url('/images/Game Images/background.jpg');
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
background-size: cover;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 MiB |
@@ -1,86 +0,0 @@
|
|||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
|
||||||
const canvas = document.getElementById('gameCanvas');
|
|
||||||
const ctx = canvas.getContext('2d');
|
|
||||||
|
|
||||||
canvas.width = window.innerWidth;
|
|
||||||
canvas.height = window.innerHeight;
|
|
||||||
|
|
||||||
window.addEventListener('resize', () => {
|
|
||||||
canvas.width = window.innerWidth;
|
|
||||||
canvas.height = window.innerHeight;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Game state
|
|
||||||
const windows = [
|
|
||||||
{ x: 100, y: 100, width: 200, height: 150, isDragging: false, offsetX: 0, offsetY: 0 },
|
|
||||||
{ x: 400, y: 300, width: 200, height: 150, isDragging: false, offsetX: 0, offsetY: 0 }
|
|
||||||
];
|
|
||||||
|
|
||||||
const particles = [];
|
|
||||||
|
|
||||||
// Event handling
|
|
||||||
canvas.addEventListener('mousedown', (e) => {
|
|
||||||
const mouse = { x: e.clientX, y: e.clientY };
|
|
||||||
windows.forEach(win => {
|
|
||||||
if (
|
|
||||||
mouse.x >= win.x && mouse.x <= win.x + win.width &&
|
|
||||||
mouse.y >= win.y && mouse.y <= win.y + win.height
|
|
||||||
) {
|
|
||||||
win.isDragging = true;
|
|
||||||
win.offsetX = mouse.x - win.x;
|
|
||||||
win.offsetY = mouse.y - win.y;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
canvas.addEventListener('mousemove', (e) => {
|
|
||||||
windows.forEach(win => {
|
|
||||||
if (win.isDragging) {
|
|
||||||
win.x = e.clientX - win.offsetX;
|
|
||||||
win.y = e.clientY - win.offsetY;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
canvas.addEventListener('mouseup', () => {
|
|
||||||
windows.forEach(win => win.isDragging = false);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// Game loop
|
|
||||||
function gameLoop() {
|
|
||||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
||||||
|
|
||||||
ctx.fillStyle = 'rgba(0, 0, 0, 1)';
|
|
||||||
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
||||||
windows.forEach(win => {
|
|
||||||
ctx.save();
|
|
||||||
ctx.globalCompositeOperation = 'destination-out';
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.roundRect(win.x, win.y, win.width, win.height, 10);
|
|
||||||
ctx.fill();
|
|
||||||
ctx.restore();
|
|
||||||
|
|
||||||
// Optional: draw a visible outline
|
|
||||||
ctx.strokeStyle = '#ccc';
|
|
||||||
ctx.lineWidth = 2;
|
|
||||||
ctx.stroke();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Draw windows
|
|
||||||
windows.forEach(win => {
|
|
||||||
ctx.fillStyle = "rgba(255,255,255,0)";
|
|
||||||
ctx.strokeStyle = "#ccc";
|
|
||||||
ctx.lineWidth = 2;
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.circle(win.x, win.y, win.width, 10);
|
|
||||||
ctx.fill();
|
|
||||||
ctx.stroke();
|
|
||||||
});
|
|
||||||
|
|
||||||
requestAnimationFrame(gameLoop);
|
|
||||||
}
|
|
||||||
|
|
||||||
gameLoop();
|
|
||||||
});
|
|
||||||
Reference in New Issue
Block a user