diff options
Diffstat (limited to 'projects/09/BitmapEditor')
| -rw-r--r-- | projects/09/BitmapEditor/BitmapEditor.html | 200 | ||||
| -rw-r--r-- | projects/09/BitmapEditor/BitmapEditor.iml | 10 | 
2 files changed, 0 insertions, 210 deletions
| diff --git a/projects/09/BitmapEditor/BitmapEditor.html b/projects/09/BitmapEditor/BitmapEditor.html deleted file mode 100644 index fdb9e0b..0000000 --- a/projects/09/BitmapEditor/BitmapEditor.html +++ /dev/null @@ -1,200 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -        "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -    <title>Sokoban Bitmap Editor</title> -    <script type="text/javascript"> -        var grid = new Array(0); - -        function Init() { -            grid = InitGrid(); -            DisplayGrid();             -        } - -        function InitGrid() { -            var _grid = new Array(16); -            for (i=0; i<16; i++) { -                _grid[i] = new Array(16); -                for (j=0; j<16; j++) { -                    _grid[i][j]=false; -                } -            } -            return _grid; -        } - -        function RotateBitmapRight() { -            var _grid = InitGrid(); - -            for (i=0; i<16; i++) { -                for (j=0; j<16; j++) { -                    _grid[j][15-i]=grid[i][j]; -                } -            } -             -            grid = _grid; -            DisplayGrid(); -        } - -        function MirrorBitmap() { -            var _grid = InitGrid(); - -            for (i=0; i<16; i++) { -                for (j=0; j<16; j++) { -                    _grid[i][15-j]=grid[i][j]; -                } -            } - -            grid = _grid; -            DisplayGrid(); -        } -         -        function DisplayGrid() { -            var str = "<table border=1 cellspacing=0>"; -            var i,j, backgroundColor; -            for (i=-1; i<16; i++) { -                str=str+"<tr>"; -                for (j=-1; j<16; j++) { -                    if (i == -1 && j != -1) { -                        str=str+"<td>" + (j+1) + "</td>"; -                    } else if (i != -1 && j == -1) { -                        str=str+"<td>" + (i+1) + "</td>"; -                    } else if (i ==-1 && j == -1) { -                        str=str+"<td/>"; -                    } else { - -                        if (grid[i][j] == true) -                            backgroundColor = "black"; -                        else -                            backgroundColor = "white"; - -                        str=str+"<td onclick=\"OnCellClicked(this)\" id="; str=str+(i*16+j); str=str+" width=16 height=16 bgcolor=" + backgroundColor + "></td>"; -                    }                                         -                } -                str=str+"</tr>"; -            } -            str=str+"</table>" - -            gridElement = document.getElementById('grid'); -            gridElement.innerHTML = str; -            GenerateBitMap() ; -        } - -        function OnCellClicked(cell) { -            var i = cell.id / 16 |0; -            var j = cell.id - i*16; -            grid[i][j] = !grid[i][j]; -            if (grid[i][j]) -                cell.style.backgroundColor = "black"; -            else -                cell.style.backgroundColor = "white"; -            GenerateBitMap(); -        } - -        function GenerateBitMap() { -            var i, j; -            var value; - -            var functionTypeSelect = document.getElementById('functionType');             -            methodType = functionTypeSelect.options[functionTypeSelect.selectedIndex].value; - -            generateCode = document.getElementById('generatedCode'); -            generateCode.value =    methodType + " void " + -                                    document.getElementById('functionName').value + -                                    "(int location) {\n\tlet memAddress = 16384+location;\n"; - -            for (i=0; i<16; i++) { -                //get grid binary representation -                binary = ""; -                for (j=0; j<16; j++) { -                    if (grid[i][j]) -                        binary = "1" + binary; -                    else -                        binary = "0" + binary; -                } -               -                isNegative = false; -                //if number is negative, get its  one's complement -                if (binary[0] == "1") { -                    isNegative = true; -                    oneComplement = ""; -                    for (k=0; k<16; k++) { -                        if (binary[k] == "1") -                            oneComplement = oneComplement + "0"; -                        else -                            oneComplement = oneComplement + "1"; -                    } -                    binary = oneComplement;                  -                } -                 -                //calculate one's complement decimal value -                value = 0; -                for (k=0; k<16; k++) { -                    value = value * 2; -                    if (binary[k] == "1") -                        value=value+1; -                }                 - -                //two's complement value if it is a negative value -                if (isNegative == true) -                    value = -(value + 1) - -                generateCode.value = generateCode.value + GenerateCodeLine(i, value); -            } - -            generateCode.value = generateCode.value + "\treturn;\n}"; -        } - -        function GenerateCodeLine(row, value) { -            str = "\tdo Memory.poke(memAddress+" + row*32 + ", " + value + ");\n"; -            return str; -        } -    </script> -</head> -<body onload="Init();"> -    <h4><i>IDC Herzliya / Efi Arazi School of Computer Science / Digital Systems Construction, Spring 2011 / Project 09 / Golan Parashi</i></h4> -    <h1>Sokoban Bitmap Editor</h1> -    <p>This javascript applicaiton is used to generate highly optimized jack code for drawing a 16x16 bitmap to the screen.</p> -    <p>Using the mouse, click the desired cell to mark/unmark it. You may use 90 degrees rotation and vertical mirroring by<br> -    clicking the appropriate buttons.</p> -    <p>When you are finished drawing, you may select function type and enter function's name.</p> -    <p> -    <table> -        <thead> -            <tr> -                <th align="left">Bitmap</th> -                <th align="left"></th> -                <th align="left">Generated Jack Code</th> -            </tr> -        </thead> -        <tr> -            <td><div id="grid"/></td> -            <td> -                <form action="javascript:GenerateBitMap();"> -                    <table> -                        <tr><td align="left">Function Type:</td></tr> -                        <tr><td align="center"> -                                <select id="functionType" onChange="GenerateBitMap()"> -                                    <option value="function" selected="selected">function</option> -                                    <option value="method">method</option>                                     -                                </select> -                        </td></tr> -                        <tr><td align="left">Function Name:</td></tr> -                        <tr><td align="left"><input type="text" value="draw" id="functionName" onkeyup="GenerateBitMap()"/></td></tr> -                        <tr><td></td></tr> -                        <tr><td align="center"><input type="button" value="Generate Code >>" onclick="GenerateBitMap()"/></td></tr> -                    </table> -                </form> -            </td> -            <td><textarea id="generatedCode" cols="50" rows="20" readonly="read-only"></textarea></td>                                 -        </tr> -        <tr> -            <table> -                <tr> -                    <td align="center"><input type="button" value="Rotate right" onclick="RotateBitmapRight()"/></td> -                    <td align="center"><input type="button" value="Vertical Mirror" onclick="MirrorBitmap()"/></td> -                </tr> -            </table> -        </tr> -    </table> -</body> -</html>
\ No newline at end of file diff --git a/projects/09/BitmapEditor/BitmapEditor.iml b/projects/09/BitmapEditor/BitmapEditor.iml deleted file mode 100644 index ef582b1..0000000 --- a/projects/09/BitmapEditor/BitmapEditor.iml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module type="JAVA_MODULE" version="4"> -  <component name="NewModuleRootManager" inherit-compiler-output="true"> -    <exclude-output /> -    <content url="file://$MODULE_DIR$" /> -    <orderEntry type="inheritedJdk" /> -    <orderEntry type="sourceFolder" forTests="false" /> -  </component> -</module> - | 
