From: 西田 耀 Date: Mon, 7 Oct 2013 06:18:09 +0000 (+0900) Subject: 辛夷祭当日の変更を含む最終コミット X-Git-Url: http://git.osdn.net/view?p=h58pcdgame%2FGameScriptCoreLibrary.git;a=commitdiff_plain;h=19b7b8bd58e93dcc182bafc8c1e293c765b437be 辛夷祭当日の変更を含む最終コミット --- diff --git a/www/corelib/WarpItemClass.js b/www/corelib/WarpItemClass.js new file mode 100644 index 0000000..65a20c0 --- /dev/null +++ b/www/corelib/WarpItemClass.js @@ -0,0 +1,51 @@ +// args[0] : stageName if blank warp in the stage +// args[1] : move_to x location(pixel) to warp +// args[2] : move_to y +// args[3] : size_x +// args[4] : size_y +// args[5] : saveInertia Šµ«ó‘Ô‚ð•Û‘¶ +var WarpItemClass = function(stage, args){ + + var moveToX = args[1]; + var moveToY = args[2]; + var stgName = args[0]; + var saveInertia = args[5] != undefined ? args[5] : false; + + WarpItemClass.base.apply(this, [stage, [false,/* function(main, obj_x, obj_y){ + var spdx, spdy; + if(saveInertia) + { + spdx = stage.userControlledCharacter.movingSpeed.x; + spdy = stage.userControlledCharacter.movingSpeed.y; + } + if(stgName) + { + stage.manager.loadStageFromNetwork(stgName); + } + var stg = stage.manager.runningStage; + if(moveToX != undefined) + { + stg.userControlledCharacter.origin.x = moveToX; + } + if(moveToY != undefined) + { + stg.userControlledCharacter.origin.y = moveToY; + } + if(saveInertia) + { + stg.userControlledCharacter.movingSpeed.x = spdx; + stg.userControlledCharacter.movingSpeed.y = spdy; + } + }*/]]); + + if(args[3]) + { + this.size.x = args[3]; + } + if(args[4]) + { + this.size.y = args[4]; + } +}.extend(FreeItemClass, { + +}); \ No newline at end of file diff --git a/www/corelib/classes/BakingOvenObjectClass.js b/www/corelib/classes/BakingOvenObjectClass.js index fda2a88..a9b1272 100644 --- a/www/corelib/classes/BakingOvenObjectClass.js +++ b/www/corelib/classes/BakingOvenObjectClass.js @@ -32,8 +32,10 @@ var BakingOvenObjectClass = function(ownerStage, args){ }.extend(BlockClass, { tick : function() { - this.checkTouchingDirection(); - if((this.touchingDirection & CollideBody) == CollideBody){ + //this.checkTouchingDirection(); + //if((this.touchingDirection & CollideBody) == CollideBody){ + var c = this.ownerStage.userControlledCharacter; + if(this.isOverlappedWithLocatedObject(c, c.origin.x, c.origin.y)){ if(this.ownerStage.manager.UIManager.keyState.select && !this.isSelecting && !this.selectKeyPushed){ this.selectKeyPushed = true; var that = this; diff --git a/www/corelib/classes/MainCharacters/MainCharacterClass_Witch.js b/www/corelib/classes/MainCharacters/MainCharacterClass_Witch.js index b9f592e..8ac8be7 100644 --- a/www/corelib/classes/MainCharacters/MainCharacterClass_Witch.js +++ b/www/corelib/classes/MainCharacters/MainCharacterClass_Witch.js @@ -6,9 +6,9 @@ var MainCharacterClass_Witch = function(stage, args, isFromNetwork){ MainCharacterClass_Witch.base.prototype.create.apply(this, [stage, [["witch.png","witch2.png"]]]); this.size.x = 32; this.size.y = 64; - this.antigravity = 300 / GameManager.prototype.tickPerSecond; - this.jumpPower = 80; - this.max_HP = 80; + this.antigravity = 200 / GameManager.prototype.tickPerSecond; + this.jumpPower = 90; + this.max_HP = 60; this.HP = this.max_HP; }, }); diff --git a/www/corelib/classes/MessageWidgetClass.js b/www/corelib/classes/MessageWidgetClass.js index c553b48..7677f94 100644 --- a/www/corelib/classes/MessageWidgetClass.js +++ b/www/corelib/classes/MessageWidgetClass.js @@ -31,7 +31,7 @@ var MessageWidgetClass = function(manager, args) this.closed = args[2]; this.modalFunc = null; - + this.cancelKeyEnabled = true; }.extend(WidgetClass, { attach : function(){ var that = this; @@ -61,7 +61,7 @@ var MessageWidgetClass = function(manager, args) if(!this.wBox) return true; if(this.manager.UIManager.keyState.cursorUp) { - if(!this.upKeyPushed) + if(!this.upKeyPushed && this.cancelKeyEnabled) { this.upKeyPushed = true; //ƒƒbƒZ[ƒW‚ð•Â‚¶‚é diff --git a/www/corelib/classes/TimerWidgetClass.js b/www/corelib/classes/TimerWidgetClass.js index ab8e548..d1f185c 100644 --- a/www/corelib/classes/TimerWidgetClass.js +++ b/www/corelib/classes/TimerWidgetClass.js @@ -42,10 +42,11 @@ var TimerWidgetClass = function(manager, args) { this.manager.timerRunning = false; var that = this; - this.manager.addWidget(new MessageWidgetClass(this.manager,["時間切れです!\nあなたの得点は" + that.manager.userManager.getSumPoint() + "点です!\nお近くにいるパソコン同好会の者に点数を知らせてください。\n遊んでいただき、ありがとうございました!", null, function(){ - //that.manager.loadStageFromNetwork('ending'); - return true; - }])); + var w = new MessageWidgetClass(this.manager,["時間切れです!\n", null, function(){ + document.location.href = URL_PCD_Root + "ranking.php?name=" + encodeURIComponent(that.manager.userManager.getUserNameByUID(that.manager.userID)) + "&score=" + that.manager.userManager.getSumPoint(); + }]) + w.cancelKeyEnabled = false; + this.manager.addWidget(w); }else { var rate = past / this.manager.gameTime; diff --git a/www/corelib/core.js b/www/corelib/core.js index f35b074..45f8852 100644 --- a/www/corelib/core.js +++ b/www/corelib/core.js @@ -176,15 +176,18 @@ GameManager.prototype = { if(this.runningStage && this.runningStage.userControlledCharacter){ if(this.runningStage.userControlledCharacter.HP == 0){ this.runningStage.userControlledCharacter.HP = this.runningStage.userControlledCharacter.max_HP; - this.addWidget(new MessageWidgetClass(this, ["死んでしまった……\n", null, function(w){ + var w = new MessageWidgetClass(this, ["死んでしまった……\n", null, function(w){ w.manager.UIManager.clearInput(); + w.manager.userManager.deletePlusPointIngredient(); if(w.manager.runningStageName){ w.manager.loadStageFromNetwork(w.manager.returningStage); } else{ //ローカルモード時は動作を停止させるだけ w.manager.stopStage(); } - }])); + }]); + w.cancelKeyEnabled = false; + this.addWidget(w); } } diff --git a/www/corelib/coresubc.js b/www/corelib/coresubc.js index 81841e9..6f42130 100644 --- a/www/corelib/coresubc.js +++ b/www/corelib/coresubc.js @@ -374,6 +374,14 @@ UserManager.prototype = { } } return p; + }, + deletePlusPointIngredient: function(){ + for(var i = 0; i < this.ingredientList.length; i++){ + if(this.ingredientList[i].point > 0){ + removeAnObjectFromArray(this.ingredientList, this.ingredientList[i]); + i--; + } + } } } diff --git a/www/data.txt b/www/data.txt new file mode 100755 index 0000000..0945aae --- /dev/null +++ b/www/data.txt @@ -0,0 +1,35 @@ +110 okubo +63 中学生441330 +278 hikarupsp +760 koenma +0 mei +-30 sakai +63 中学生 +0 HASI +-40 SAKAI +5 hitomi +21 もも +5 hitomi +37 HASIZUMIMOMONA +70 tomo +-43 はしずみ +5 あああああああああああ +38 bunji +13 jijlzdfgkmls; +120 klnl;h;lil; +17 まい +40 しょうご +1 takumi +53 華 +-20 あやこ +-11 康太 +60 こうた +0 いちもつゆうじ +34 きとう +-31 たかし +74 けんご +-5 さっくー +-5 oga +-12 R +-5 masu +0 fgwrrewef diff --git a/www/ranking.php b/www/ranking.php new file mode 100755 index 0000000..99e1094 --- /dev/null +++ b/www/ranking.php @@ -0,0 +1,104 @@ +"); +echo("ランキング"); +echo(""); +$scores = array(); +$names = array(); +$max_score = -9999; +$min_score = 0; +$newUser = true; + +//パラメーターの読み込み +if(isset($_GET['name'])) +{ + if(isset($_GET['score'])) + { + //データを追加 + $postName = urldecode($_GET['name']); + $postScore = intval($_GET['score']); + } +} + +//データの読み込み +$fp = fopen("./data.txt", "r"); +if(!$fp){ + echo "データを開けません"; + exit; +} +for($i = 0; !feof($fp);) +{ + $line = fgets($fp, 4096); + if($line == "") continue; + $line = rtrim($line); + $tkns = split("\t", $line); + if(isset($tkns[1])){ + $name = $tkns[1]; //これに改行がはいってるかも + $score = intval($tkns[0]); + $names[$i] = $name; + if(isset($postName) && strcmp($name, $postName) == 0){ + $newUser = false; + if($postScore > $score){ + $scores[$i] = $postScore; + } else{ + $scores[$i] = $score; + } + } else{ + $scores[$i] = $score; + } + if($scores[$i] > $max_score){ + $max_score = $scores[$i]; + } + if($scores[$i] < $min_score){ + $min_score = $scores[$i]; + } + $i++; + } +} +//新規ユーザーの登録 +if(isset($postName) && isset($postScore) && $newUser){ + $names[$i] = $postName; + $scores[$i] = $postScore; + if($scores[$i] > $max_score){ + $max_score = $scores[$i]; + } + if($scores[$i] < $min_score){ + $min_score = $scores[$i]; + } + $i++; +} +//ファイルへ書き戻す +$fp = fopen("./data.txt", "w"); +$k = $i; +for($i = 0; $i < $k; $i++){ + fputs($fp, $scores[$i] . "\t" . $names[$i] . "\n"); +} + +//自分の得点表示 +if(isset($postName) && isset($postScore)){ + echo($postName . "さんの点数は". $postScore . "点でした!
ランキングTOP7:\n"); +} + +$rankct = 0; +$rankmax = 7; +for($now_score = $max_score; $now_score >= $min_score; $now_score--){ + for($i = 0; $i < $k; $i++){ + if($scores[$i] == $now_score){ + $rankct++; + echo("
"); + echo($names[$i] . "\t" . $scores[$i] . "
"); + $rankct++; + echo "
\n"; + } + } + + if($rankct > $rankmax){ + break; + } +} + +echo(""); +?> \ No newline at end of file diff --git a/www/stage/koenma.js b/www/stage/koenma.js index 6fdbdd1..afbd3cd 100644 --- a/www/stage/koenma.js +++ b/www/stage/koenma.js @@ -1,4 +1,4 @@ -var stgObjects={ +var stgObjects={ a:{base:SlopeBlockClass,args:['1213.png',16,16],prop:{enableDebugMode:false}}, b:{base:BlockClass, args:"1190.png"}, @@ -181,8 +181,8 @@ stage.addStageObject(torii1); warpLeft.origin.x = -32; warpLeft.origin.y = 0; var warpRight = new WarpItemClass(stage, ["panya", 0, 0, 32, 480, false]); - warpRight.origin.x = 6368; - warpRight.origin.y = 416; + warpRight.origin.x = 6338; + warpRight.origin.y = 384; stage.addStageObject(warpLeft); stage.addStageObject(warpRight); diff --git a/www/stage/onieasy.js b/www/stage/onieasy.js index a664ca9..b0e1cb2 100644 --- a/www/stage/onieasy.js +++ b/www/stage/onieasy.js @@ -141,8 +141,8 @@ with(stgObjects){ [e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,i,_,_,_,_,j,f,f,f,f,f,f,f,f,S,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,_,_,_,_,_,_,_,_,_,_,_,d,d,a,_,a,a,_,a,_,a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], [e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,i,_,_,j,f,f,f,f,f,f,f,f,f,S,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,a,a,_,_,_,_,_,_,_,_,a,d,d,d,_,d,d,_,d,_,d,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,_,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], [e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,f,i,j,f,f,f,f,f,f,f,f,f,f,S,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,y,y,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,d,d,_,_,_,_,_,_,_,a,d,d,d,d,w,d,d,w,d,w,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,H,H,H,H,H,H,H,H,H,H,H,H,H,H,J,J,J,J,J,J,J,J,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], - [e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,S,_,_,_,_,_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,_,_,_,r,r,r,r,r,_,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,d,d,_,_,_,_,_,_,_,d,d,d,d,d,_,d,d,_,d,_,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], - [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,d,d,_,_,_,a,a,a,_,d,d,d,d,d,_,d,d,_,d,_,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], + [e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,S,_,_,_,_,_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,_,_,_,r,r,r,r,r,_,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,d,d,_,_,_,_,_,_,_,d,d,d,d,d,e,d,d,e,d,e,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,_,_,_,e,_,_,_,_,_,_,_,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], + [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,_,_,_,_,_,_,a,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,d,d,_,_,_,a,a,a,e,d,d,d,d,d,_,d,d,_,d,w,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,_,_,_,e,_,_,_,_,_,_,_,_,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f], [e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,w,w,w,w,w,w,d,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,d,d,d,d,d,w,w,w,d,d,d,w,d,d,d,d,d,_,d,d,_,d,_,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,_,_,_,_,_,_,_,_,_,_,_,_,_,_,e,e,e,e,e,e,e,j,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f] ]; } diff --git a/www/stage/panya.js b/www/stage/panya.js index ce5ff40..881653a 100644 --- a/www/stage/panya.js +++ b/www/stage/panya.js @@ -110,12 +110,12 @@ stage.runStage = function(){ stageNameList.push(item); }; //ステージ -stage.addSelectWidgetItemFromStageName("街","city.png","city", true, "★☆☆☆☆"); +//stage.addSelectWidgetItemFromStageName("街","city.png","city", true, "★☆☆☆☆"); stage.addSelectWidgetItemFromStageName("洞窟","cave.png","fukushima",false, "★★★★☆"); stage.addSelectWidgetItemFromStageName("山","yama.png","koenma",false, "★★☆☆☆"); stage.addSelectWidgetItemFromStageName("牧場","farm.png","okubo",false, "★★★☆☆"); stage.addSelectWidgetItemFromStageName("森","mori.png","pengin",false, "★★★☆☆"); -stage.addSelectWidgetItemFromStageName("海","ike.png","sea",false, "★☆☆☆☆"); +stage.addSelectWidgetItemFromStageName("海","sea.png","sea",false, "★☆☆☆☆"); stage.addSelectWidgetItemFromStageName("池","ike.png","ikeikegogo",false, "★★★★★"); var bakery1 = new FreeItemClass(stage, ["bakery.png", function(){ @@ -135,6 +135,9 @@ stage.addSelectWidgetItemFromStageName("池","ike.png","ikeikegogo",false, "★ mainManager.addWidget(sw); } else{ //次のステージへ移動 + if(!mainManager.timerRunning){ + TimerWidgetClass.startTimer(mainManager); + } mainManager.loadStageFromNetwork(retv[0].stgName); } } @@ -162,11 +165,6 @@ stage.addSelectWidgetItemFromStageName("池","ike.png","ikeikegogo",false, "★ warpRight.origin.y = 0; stage.addStageObject(warpLeft); stage.addStageObject(warpRight); - - if(!mainManager.timerRunning) - { - TimerWidgetClass.startTimer(mainManager); - } }; stage; \ No newline at end of file diff --git a/www/stage/pengin.js b/www/stage/pengin.js index b3a1410..f177fba 100644 --- a/www/stage/pengin.js +++ b/www/stage/pengin.js @@ -1,4 +1,4 @@ -var stgObjects={ +var stgObjects={ a:{base:SlopeBlockClass,args:['1213.png',16,16],prop:{enableDebugMode:false}}, b:{base:BlockClass, args:"1190.png"}, @@ -37,9 +37,10 @@ var stgInfo = { width: 6400, //���T�C�Y height: 480, background: "DSC_0372.png", //�w�i�摜�B������640px�ł����K�v�͂Ȃ��B - BGM: "mikosakuseimori.mp3" - //�c�T�C�Y + BGM: "mikosakuseimori.mp3", + //�c�T�C�Y //�w�i�摜�B������640px�ł����K�v�͂Ȃ��B + spawnLocation: [32, 42], };