Thursday 19 September 2024

Html code for Tetris game

 Html code for Tetris game

( copy paste the given code below)

<!DOCTYPE html>

<html lang='en'>

 

<head>

    <meta charset='UTF-8'>

    <style>

        canvas {

            position: absolute;

            top: 45%;

            left: 50%;

            width: 640px;

            height: 640px;

            margin: -320px 0 0 -320px;

        }

    </style>

</head>

 

<body>

    <canvas></canvas>

    <script>

        'use strict';

        var canvas = document.querySelector('canvas');

        canvas.width = 640;

        canvas.height = 640;

 

        var g = canvas.getContext('2d');

 

        var right = { x: 1, y: 0 };

        var down = { x: 0, y: 1 };

        var left = { x: -1, y: 0 };

 

        var EMPTY = -1;

        var BORDER = -2;

 

        var fallingShape;

        var nextShape;

        var dim = 640;

        var nRows = 18;

        var nCols = 12;

        var blockSize = 30;

        var topMargin = 50;

        var leftMargin = 20;

        var scoreX = 400;

        var scoreY = 330;

        var titleX = 130;

        var titleY = 160;

        var clickX = 120;

        var clickY = 400;

        var previewCenterX = 467;

        var previewCenterY = 97;

        var mainFont = 'bold 48px monospace';

        var smallFont = 'bold 18px monospace';

        var colors = ['green', 'red', 'blue', 'purple', 'orange', 'blueviolet', 'magenta'];

        var gridRect = { x: 46, y: 47, w: 308, h: 517 };

        var previewRect = { x: 387, y: 47, w: 200, h: 200 };

        var titleRect = { x: 100, y: 95, w: 252, h: 100 };

        var clickRect = { x: 50, y: 375, w: 252, h: 40 };

        var outerRect = { x: 5, y: 5, w: 630, h: 630 };

        var squareBorder = 'white';

        var titlebgColor = 'white';

        var textColor = 'black';

        var bgColor = '#DDEEFF';

        var gridColor = '#BECFEA';

        var gridBorderColor = '#7788AA';

        var largeStroke = 5;

        var smallStroke = 2;

 

        // position of falling shape

        var fallingShapeRow;

        var fallingShapeCol;

 

        var keyDown = false;

        var fastDown = false;

 

        var grid = [];

        var scoreboard = new Scoreboard();

 

        addEventListener('keydown', function (event) {

            if (!keyDown) {

                keyDown = true;

 

                if (scoreboard.isGameOver())

                    return;

 

                switch (event.key) {

 

                    case 'w':

                    case 'ArrowUp':

                        if (canRotate(fallingShape))

                            rotate(fallingShape);

                        break;

 

                    case 'a':

                    case 'ArrowLeft':

                        if (canMove(fallingShape, left))

                            move(left);

                        break;

 

                    case 'd':

                    case 'ArrowRight':

                        if (canMove(fallingShape, right))

                            move(right);

                        break;

 

                    case 's':

                    case 'ArrowDown':

                        if (!fastDown) {

                            fastDown = true;

                            while (canMove(fallingShape, down)) {

                                move(down);

                                draw();

                            }

                            shapeHasLanded();

                        }

                }

                draw();

            }

        });

 

        addEventListener('click', function () {

            startNewGame();

        });

 

        addEventListener('keyup', function () {

            keyDown = false;

            fastDown = false;

        });

 

        function canRotate(s) {

            if (s === Shapes.Square)

                return false;

 

            var pos = new Array(4);

            for (var i = 0; i < pos.length; i++) {

                pos[i] = s.pos[i].slice();

            }

 

            pos.forEach(function (row) {

                var tmp = row[0];

                row[0] = row[1];

                row[1] = -tmp;

            });

 

            return pos.every(function (p) {

                var newCol = fallingShapeCol + p[0];

                var newRow = fallingShapeRow + p[1];

                return grid[newRow][newCol] === EMPTY;

            });

        }

 

        function rotate(s) {

            if (s === Shapes.Square)

                return;

 

            s.pos.forEach(function (row) {

                var tmp = row[0];

                row[0] = row[1];

                row[1] = -tmp;

            });

        }

 

        function move(dir) {

            fallingShapeRow += dir.y;

            fallingShapeCol += dir.x;

        }

 

        function canMove(s, dir) {

            return s.pos.every(function (p) {

                var newCol = fallingShapeCol + dir.x + p[0];

                var newRow = fallingShapeRow + dir.y + p[1];

                return grid[newRow][newCol] === EMPTY;

            });

        }

 

        function shapeHasLanded() {

            addShape(fallingShape);

            if (fallingShapeRow < 2) {

                scoreboard.setGameOver();

                scoreboard.setTopscore();

            } else {

                scoreboard.addLines(removeLines());

            }

            selectShape();

        }

 

        function removeLines() {

            var count = 0;

            for (var r = 0; r < nRows - 1; r++) {

                for (var c = 1; c < nCols - 1; c++) {

                    if (grid[r][c] === EMPTY)

                        break;

                    if (c === nCols - 2) {

                        count++;

                        removeLine(r);

                    }

                }

            }

            return count;

        }

 

        function removeLine(line) {

            for (var c = 0; c < nCols; c++)

                grid[line][c] = EMPTY;

 

            for (var c = 0; c < nCols; c++) {

                for (var r = line; r > 0; r--)

                    grid[r][c] = grid[r - 1][c];

            }

        }

 

        function addShape(s) {

            s.pos.forEach(function (p) {

                grid[fallingShapeRow + p[1]][fallingShapeCol + p[0]] = s.ordinal;

            });

        }

 

        function Shape(shape, o) {

            this.shape = shape;

            this.pos = this.reset();

            this.ordinal = o;

        }

 

        var Shapes = {

            ZShape: [[0, -1], [0, 0], [-1, 0], [-1, 1]],

            SShape: [[0, -1], [0, 0], [1, 0], [1, 1]],

            IShape: [[0, -1], [0, 0], [0, 1], [0, 2]],

            TShape: [[-1, 0], [0, 0], [1, 0], [0, 1]],

            Square: [[0, 0], [1, 0], [0, 1], [1, 1]],

            LShape: [[-1, -1], [0, -1], [0, 0], [0, 1]],

            JShape: [[1, -1], [0, -1], [0, 0], [0, 1]]

        };

 

        function getRandomShape() {

            var keys = Object.keys(Shapes);

            var ord = Math.floor(Math.random() * keys.length);

            var shape = Shapes[keys[ord]];

            return new Shape(shape, ord);

        }

 

        Shape.prototype.reset = function () {

            this.pos = new Array(4);

            for (var i = 0; i < this.pos.length; i++) {

                this.pos[i] = this.shape[i].slice();

            }

            return this.pos;

        }

 

        function selectShape() {

            fallingShapeRow = 1;

            fallingShapeCol = 5;

            fallingShape = nextShape;

            nextShape = getRandomShape();

            if (fallingShape != null) {

                fallingShape.reset();

            }

        }

 

        function Scoreboard() {

            this.MAXLEVEL = 9;

 

            var level = 0;

            var lines = 0;

            var score = 0;

            var topscore = 0;

            var gameOver = true;

 

            this.reset = function () {

                this.setTopscore();

                level = lines = score = 0;

                gameOver = false;

            }

 

            this.setGameOver = function () {

                gameOver = true;

            }

 

            this.isGameOver = function () {

                return gameOver;

            }

 

            this.setTopscore = function () {

                if (score > topscore) {

                    topscore = score;

                }

            }

 

            this.getTopscore = function () {

                return topscore;

            }

 

            this.getSpeed = function () {

 

                switch (level) {

                    case 0: return 700;

                    case 1: return 600;

                    case 2: return 500;

                    case 3: return 400;

                    case 4: return 350;

                    case 5: return 300;

                    case 6: return 250;

                    case 7: return 200;

                    case 8: return 150;

                    case 9: return 100;

                    default: return 100;

                }

            }

 

            this.addScore = function (sc) {

                score += sc;

            }

 

            this.addLines = function (line) {

 

                switch (line) {

                    case 1:

                        this.addScore(10);

                        break;

                    case 2:

                        this.addScore(20);

                        break;

                    case 3:

                        this.addScore(30);

                        break;

                    case 4:

                        this.addScore(40);

                        break;

                    default:

                        return;

                }

 

                lines += line;

                if (lines > 10) {

                    this.addLevel();

                }

            }

 

            this.addLevel = function () {

                lines %= 10;

                if (level < this.MAXLEVEL) {

                    level++;

                }

            }

 

            this.getLevel = function () {

                return level;

            }

 

            this.getLines = function () {

                return lines;

            }

 

            this.getScore = function () {

                return score;

            }

        }

 

        function draw() {

            g.clearRect(0, 0, canvas.width, canvas.height);

 

            drawUI();

 

            if (scoreboard.isGameOver()) {

                drawStartScreen();

            } else {

                drawFallingShape();

            }

        }

 

        function drawStartScreen() {

            g.font = mainFont;

 

            fillRect(titleRect, titlebgColor);

            fillRect(clickRect, titlebgColor);

 

            g.fillStyle = textColor;

            g.fillText('Tetris', titleX, titleY);

 

            g.font = smallFont;

            g.fillText('click to start', clickX, clickY);

        }

 

        function fillRect(r, color) {

            g.fillStyle = color;

            g.fillRect(r.x, r.y, r.w, r.h);

        }

 

        function drawRect(r, color) {

            g.strokeStyle = color;

            g.strokeRect(r.x, r.y, r.w, r.h);

        }

 

        function drawSquare(colorIndex, r, c) {

            var bs = blockSize;

            g.fillStyle = colors[colorIndex];

            g.fillRect(leftMargin + c * bs, topMargin + r * bs, bs, bs);

 

            g.lineWidth = smallStroke;

            g.strokeStyle = squareBorder;

            g.strokeRect(leftMargin + c * bs, topMargin + r * bs, bs, bs);

        }

 

        function drawUI() {

 

            // background

            fillRect(outerRect, bgColor);

            fillRect(gridRect, gridColor);

 

            // the blocks dropped in the grid

            for (var r = 0; r < nRows; r++) {

                for (var c = 0; c < nCols; c++) {

                    var idx = grid[r][c];

                    if (idx > EMPTY)

                        drawSquare(idx, r, c);

                }

            }

 

            // the borders of grid and preview panel

            g.lineWidth = largeStroke;

            drawRect(gridRect, gridBorderColor);

            drawRect(previewRect, gridBorderColor);

            drawRect(outerRect, gridBorderColor);

 

            // scoreboard

            g.fillStyle = textColor;

            g.font = smallFont;

            g.fillText('hiscore    ' + scoreboard.getTopscore(), scoreX, scoreY);

            g.fillText('level      ' + scoreboard.getLevel(), scoreX, scoreY + 30);

            g.fillText('lines      ' + scoreboard.getLines(), scoreX, scoreY + 60);

            g.fillText('score      ' + scoreboard.getScore(), scoreX, scoreY + 90);

 

            // preview

            var minX = 5, minY = 5, maxX = 0, maxY = 0;

            nextShape.pos.forEach(function (p) {

                minX = Math.min(minX, p[0]);

                minY = Math.min(minY, p[1]);

                maxX = Math.max(maxX, p[0]);

                maxY = Math.max(maxY, p[1]);

            });

            var cx = previewCenterX - ((minX + maxX + 1) / 2.0 * blockSize);

            var cy = previewCenterY - ((minY + maxY + 1) / 2.0 * blockSize);

 

            g.translate(cx, cy);

            nextShape.shape.forEach(function (p) {

                drawSquare(nextShape.ordinal, p[1], p[0]);

            });

            g.translate(-cx, -cy);

        }

 

        function drawFallingShape() {

            var idx = fallingShape.ordinal;

            fallingShape.pos.forEach(function (p) {

                drawSquare(idx, fallingShapeRow + p[1], fallingShapeCol + p[0]);

            });

        }

 

       function animate(lastFrameTime) {

            var requestId = requestAnimationFrame(function () {

                animate(lastFrameTime);

            });

 

            var time = new Date().getTime();

            var delay = scoreboard.getSpeed();

 

            if (lastFrameTime + delay < time) {

 

                if (!scoreboard.isGameOver()) {

 

                    if (canMove(fallingShape, down)) {

                        move(down);

                    } else {

                        shapeHasLanded();

                    }

                    draw();

                    lastFrameTime = time;

 

                } else {

                    cancelAnimationFrame(requestId);

                }

            }

        }

 

        function startNewGame() {

            initGrid();

            selectShape();

            scoreboard.reset();

            animate(-1);

        }

 

        function initGrid() {

            function fill(arr, value) {

                for (var i = 0; i < arr.length; i++) {

                    arr[i] = value;

                }

            }

            for (var r = 0; r < nRows; r++) {

                grid[r] = new Array(nCols);

                fill(grid[r], EMPTY);

                for (var c = 0; c < nCols; c++) {

                    if (c === 0 || c === nCols - 1 || r === nRows - 1)

                        grid[r][c] = BORDER;

                }

            }

        }

 

        function init() {

            initGrid();

            selectShape();

            draw();

        }

 

        init();

    </script>

 

</body>

 

</html>

Wednesday 11 September 2024

Physics - Oscillations Assignment

Oscillations( Section A)

A1.

The phase of a particle in S.H.M. is π/2, then :

Restoring force on it will be minimum. Its displacement will be maximum.


A2.

At mean position,kinetic energy will be maximum and potential energy will be minimum


A3.

A simple pendulum whose period is two seconds is called a second's pendulum.


A4.

The epoch in simple harmonic motion (SHM) is the phase of a vibrating particle at the start of its motion, or when time t = 0. It's also known as the initial phase. 


A5.

The time period of a (SHM) remains the same if its amplitude is doubled. This is because the period of an SHM depends on inertia and spring factors, which are independent of amplitude. 


A5.

Force constant is the force required to produce a unit extension or compression in a spring. It's also known as the spring constant and is represented by the symbol k. The SI unit for force constant is newtons per meter (N/m).


A6.

3/4th 


A7.

given V = 0.24 m/s ,  a = 0.48 m/s2 to find time period T


formula : T = 2*pi*V /a


T = 2*3.14*0.24 /0.48 = 3.14 seconds


Time period T = 3.14 seconds


A8.

given T = 1/8 seconds , to find frequency F


formula :  F = 1/T 

F = 1/1/8 = 8 hertz

Section B

1. Answer 1 ( click here 👈)

2. Answer 2 ( click here 👈)

3. Answer 3 ( click here 👈)

4. Answer 4 ( click here 👈)

5. Answer 5 ( click here 👈)

6. Answer 6 ( click here 👈)

Section C

1. Answer ( Click here 👈)

2.Answer ( click here )👈

3.Answer ( click here )👈

4.Answer ( click here )👈

Friday 19 July 2024

CLASS 7 BALBHARTI SOLUTIONS

CLASS 7 BALBHARTI SOLUTIONS 


CLICK SOLUTION LINKS BELOW

1. CLASS 7 ENGLISH SOLUTIONS CLICK HERE 👈👈👈

2. CLASS 7 HINDI SOLUTIONS CLICK HERE 👈👈👈

3. CLASS 7 MATHS SOLUTIONS CLICK HERE 👈👈👈

4. CLASS 7 MARATHI SOLUTIONS CLICK HERE 👈👈👈

5. CLASS 7 HISTORY SOLUTIONS CLICK HERE 👈👈👈

6. CLASS 7 GEOGRAPHY SOLUTIONS CLICK HERE 👈👈👈

7. CLASS 7 SCIENCE SOLUTIONS CLICK HERE 👈👈👈

8. CLASS 7 CIVICS SOLUTIONS CLICK HERE 👈👈👈


Wednesday 3 July 2024

CLASS 5 BALBHARTI SOLUTIONS

CLASS 5 BALBHARTI SOLUTIONS 



CLICK SOLUTIONS LINKS BELOW 

1. CLASS 5 ENGLISH SOLUTIONS CLICK HERE 👈👈👈

2. CLASS 5 HINDI SOLUTIONS CLICK HERE 👈👈👈

3. CLASS 5 MATHS SOLUTIONS CLICK HERE 👈👈👈

4. CLASS 5 MARATHI SOLUTIONS CLICK HERE 👈👈👈

5. CLASS 5 EVS SOLUTIONS CLICK HERE 👈👈👈

Monday 24 June 2024

Html code for online photoediting tool

HTML Code for online photo editing tool

Copy paste the below code in notepad

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Online Photo Editor</title>

<style>

    body {

        font-family: Arial, sans-serif;

        text-align: center;

    }

    #canvas {

        border: 1px solid #ccc;

        margin-top: 20px;

    }

    button {

        margin: 10px;

        padding: 8px 16px;

        font-size: 16px;

        cursor: pointer;

    }

</style>

</head>

<body>

    <h1>Online Photo Editor</h1>

    <input type="file" id="fileInput">

    <br>

    <button onclick="resizeImage()">Resize</button>

    <button onclick="grayscale()">Grayscale</button>

    <button onclick="adjustBrightness()">Brightness</button>

    <button onclick="adjustContrast()">Contrast</button>

    <button onclick="downloadImage()">Download</button>

    <br>

    <canvas id="canvas" width="600" height="400"></canvas>


    <script>

        const canvas = document.getElementById('canvas');

        const ctx = canvas.getContext('2d');

        let img = new Image();


        function loadImage(event) {

            img.onload = function() {

                ctx.clearRect(0, 0, canvas.width, canvas.height);

                ctx.drawImage(img, 0, 0, canvas.width, canvas.height);

            };

            img.src = URL.createObjectURL(event.target.files[0]);

        }


        function resizeImage() {

            canvas.width = img.width / 2;

            canvas.height = img.height / 2;

            ctx.drawImage(img, 0, 0, canvas.width, canvas.height);

        }


        function grayscale() {

            let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);

            let data = imageData.data;

            for (let i = 0; i < data.length; i += 4) {

                let avg = (data[i] + data[i + 1] + data[i + 2]) / 3;

                data[i] = avg;

                data[i + 1] = avg;

                data[i + 2] = avg;

            }

            ctx.putImageData(imageData, 0, 0);

        }


        function adjustBrightness() {

            let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);

            let data = imageData.data;

            let adjustment = 20;

            for (let i = 0; i < data.length; i += 4) {

                data[i] += adjustment;

                data[i + 1] += adjustment;

                data[i + 2] += adjustment;

            }

            ctx.putImageData(imageData, 0, 0);

        }


        function adjustContrast() {

            let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);

            let data = imageData.data;

            let factor = (259 * (100 + 50)) / (255 * (259 - 50));

            for (let i = 0; i < data.length; i += 4) {

                data[i] = factor * (data[i] - 128) + 128;

                data[i + 1] = factor * (data[i + 1] - 128) + 128;

                data[i + 2] = factor * (data[i + 2] - 128) + 128;

            }

            ctx.putImageData(imageData, 0, 0);

        }


        function downloadImage() {

            let download = document.createElement('a');

            download.href = canvas.toDataURL();

            download.download = 'edited_image.png';

            download.click();

        }


        document.getElementById('fileInput').addEventListener('change', loadImage, false);

    </script>

</body>

</html>


Sunday 16 June 2024

Speed Checker Tool

 HTML CODE TO GENERATE A INTERNET SPEED CHECKER TOOL 

<!DOCTYPE html>

<html>

<head>

  <title>Fast.com Web View</title>

  <style>

    html, body {

      margin: 0;

      padding: 0;

      height: 100%;

    }

    #webview {

      width: 100%;

      height: 100%;

      border: none;

    }

  </style>

</head>

<body>

  <iframe id="webview"></iframe>


  <script>

    window.onload = function() {

      var webview = document.getElementById("webview");


      function resizeWebview() {

        webview.style.height = window.innerHeight + "px";

      }


      // Resize the web view when the window is resized

      window.addEventListener("resize", resizeWebview);


      // Load the Fast.com website into the web view

      webview.src = "https://fast.com";


      // Initially resize the web view

      resizeWebview();

    };

  </script>

</body>

</html>

Saturday 15 June 2024

Mumbai University BSC Syllabus



Click on links below to download pdf

BSC Data Science  ðŸ‘ˆðŸ‘ˆ click here to download pdf 

BSC computer science  👈👈 click here to download pdf 

 BSC IT  ðŸ‘ˆðŸ‘ˆ click here to download pdf