Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions canvasgo.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="goui.js" type="text/javascript"></script>
<script src="goboard.js" type="text/javascript"></script>
<script src="gameStateStorage.js" type="text/javascript"></script>
<link rel="stylesheet" href="go.css" type="text/css"></link>
<title>Play Go!</title>
</head>
Expand All @@ -20,6 +21,7 @@
<input class="command-options" type="radio" name="status" value="white">White</input><br />
<input class="command-options" type="radio" name="status" value="cap">Capture</input><br />
<input type="button" value="Pass" name="passBtn" onClick="on_pass()">
<input type="button" value="Save" name="saveBtn" onClick="saveGame()">
</form>
</div>
<canvas id="gocanvas" width="700" height="700"></canvas>
Expand Down
35 changes: 35 additions & 0 deletions gameStateStorage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
var dataBase;
function setupDataBase(){
// Create a database open request, named "dataBase", version 1
var request = indexedDB.open("dataBase", 1);
// Database did NOT already exist, but now created
request.onupgradeneeded = function() {
console.log("Database needs update");
// Save database reference
dataBase = request.result;
// Check database to see if objectStore exists. if not, create one
if (!dataBase.objectStoreNames.contains("gameStateObjectStore")) {
console.log("Creating ObjectStore")
dataBase.createObjectStore("gameStateObjectStore",{autoIncrement:true});
} ;
};
request.onsuccess = function() {
console.log("Successfully opened database")
// Save database reference
dataBase = request.result;
};
request.onerror = function(){
console.log("ERROR: could not open database")
};
};

function saveGame(){
// Make a transaction object that has "read and write" access to the gameStateObjectStore
let transaction = dataBase.transaction("gameStateObjectStore", "readwrite");
// Make a reference to the tokenObjectStore
let gameStateObjectStore = transaction.objectStore("gameStateObjectStore");
// Store the token in objectStore for long term storage, with key 1
gameStateObjectStore.put(board, 1).onsuccess = (event) => {
console.log("successfully saved game state");
};
};
1 change: 1 addition & 0 deletions goboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ function draw() {
window.addEventListener("mouseup", on_mouseup, false);

clearBoard();
setupDataBase();
}

function gup( name )
Expand Down