OSDN Git Service

辛夷祭当日の変更を含む最終コミット master
author西田 耀 <hikarupsp@users.sourceforge.jp>
Mon, 7 Oct 2013 06:18:09 +0000 (15:18 +0900)
committer西田 耀 <hikarupsp@users.sourceforge.jp>
Mon, 7 Oct 2013 06:18:09 +0000 (15:18 +0900)
13 files changed:
www/corelib/WarpItemClass.js [new file with mode: 0644]
www/corelib/classes/BakingOvenObjectClass.js
www/corelib/classes/MainCharacters/MainCharacterClass_Witch.js
www/corelib/classes/MessageWidgetClass.js
www/corelib/classes/TimerWidgetClass.js
www/corelib/core.js
www/corelib/coresubc.js
www/data.txt [new file with mode: 0755]
www/ranking.php [new file with mode: 0755]
www/stage/koenma.js
www/stage/onieasy.js
www/stage/panya.js
www/stage/pengin.js

diff --git a/www/corelib/WarpItemClass.js b/www/corelib/WarpItemClass.js
new file mode 100644 (file)
index 0000000..65a20c0
--- /dev/null
@@ -0,0 +1,51 @@
+// args[0] : stageName  if blank warp in the stage\r
+// args[1] : move_to x  location(pixel) to warp\r
+// args[2] : move_to y\r
+// args[3] : size_x\r
+// args[4] : size_y\r
+// args[5] : saveInertia  \8aµ\90«\8fó\91Ô\82ð\95Û\91\r
+var WarpItemClass = function(stage, args){\r
+       \r
+       var moveToX = args[1];\r
+       var moveToY = args[2];\r
+       var stgName = args[0];\r
+       var saveInertia = args[5] != undefined ? args[5] : false;\r
+       \r
+       WarpItemClass.base.apply(this, [stage, [false,/* function(main, obj_x, obj_y){\r
+               var spdx, spdy;\r
+               if(saveInertia)\r
+               {\r
+                       spdx = stage.userControlledCharacter.movingSpeed.x;\r
+                       spdy = stage.userControlledCharacter.movingSpeed.y;\r
+               }\r
+               if(stgName)\r
+               {\r
+                       stage.manager.loadStageFromNetwork(stgName);\r
+               }\r
+               var stg = stage.manager.runningStage;\r
+               if(moveToX != undefined)\r
+               {\r
+                       stg.userControlledCharacter.origin.x = moveToX;\r
+               }\r
+               if(moveToY != undefined)\r
+               {\r
+                       stg.userControlledCharacter.origin.y = moveToY;\r
+               }\r
+               if(saveInertia)\r
+               {\r
+                       stg.userControlledCharacter.movingSpeed.x = spdx;\r
+                       stg.userControlledCharacter.movingSpeed.y = spdy;\r
+               }\r
+       }*/]]);\r
+       \r
+       if(args[3])\r
+       {\r
+               this.size.x = args[3];\r
+       }\r
+       if(args[4])\r
+       {\r
+               this.size.y = args[4];\r
+       }\r
+}.extend(FreeItemClass, {\r
+       \r
+});
\ No newline at end of file
index fda2a88..a9b1272 100644 (file)
@@ -32,8 +32,10 @@ var BakingOvenObjectClass = function(ownerStage, args){
 }.extend(BlockClass, {\r
        tick : function()\r
        {\r
-               this.checkTouchingDirection();\r
-               if((this.touchingDirection & CollideBody) == CollideBody){\r
+               //this.checkTouchingDirection();\r
+               //if((this.touchingDirection & CollideBody) == CollideBody){\r
+               var c = this.ownerStage.userControlledCharacter;\r
+               if(this.isOverlappedWithLocatedObject(c, c.origin.x, c.origin.y)){\r
                        if(this.ownerStage.manager.UIManager.keyState.select && !this.isSelecting && !this.selectKeyPushed){\r
                                this.selectKeyPushed = true;\r
                                var that = this;\r
index b9f592e..8ac8be7 100644 (file)
@@ -6,9 +6,9 @@ var MainCharacterClass_Witch = function(stage, args, isFromNetwork){
                MainCharacterClass_Witch.base.prototype.create.apply(this, [stage, [["witch.png","witch2.png"]]]);\r
                this.size.x = 32;\r
                this.size.y = 64;\r
-               this.antigravity = 300 / GameManager.prototype.tickPerSecond;\r
-               this.jumpPower = 80;\r
-               this.max_HP = 80;\r
+               this.antigravity = 200 / GameManager.prototype.tickPerSecond;\r
+               this.jumpPower = 90;\r
+               this.max_HP = 60;\r
                this.HP = this.max_HP;\r
        },\r
 });\r
index c553b48..7677f94 100644 (file)
@@ -31,7 +31,7 @@ var MessageWidgetClass = function(manager, args)
        this.closed = args[2];\r
        \r
        this.modalFunc = null;\r
-       \r
+       this.cancelKeyEnabled = true;\r
 }.extend(WidgetClass, {\r
        attach : function(){\r
                var that = this;\r
@@ -61,7 +61,7 @@ var MessageWidgetClass = function(manager, args)
                if(!this.wBox) return true;\r
                if(this.manager.UIManager.keyState.cursorUp)\r
                {\r
-                       if(!this.upKeyPushed)\r
+                       if(!this.upKeyPushed && this.cancelKeyEnabled)\r
                        {\r
                                this.upKeyPushed = true;\r
                                //\83\81\83b\83Z\81[\83W\82ð\95Â\82\82é\r
index ab8e548..d1f185c 100644 (file)
@@ -42,10 +42,11 @@ var TimerWidgetClass = function(manager, args)
                        {\r
                                this.manager.timerRunning = false;\r
                                var that = this;\r
-                               this.manager.addWidget(new MessageWidgetClass(this.manager,["時間切れです!\nあなたの得点は" + that.manager.userManager.getSumPoint() + "点です!\nお近くにいるパソコン同好会の者に点数を知らせてください。\n遊んでいただき、ありがとうございました!", null, function(){\r
-                                       //that.manager.loadStageFromNetwork('ending');\r
-                                       return true;\r
-                               }]));\r
+                               var w = new MessageWidgetClass(this.manager,["時間切れです!\n", null, function(){\r
+                                       document.location.href = URL_PCD_Root + "ranking.php?name=" + encodeURIComponent(that.manager.userManager.getUserNameByUID(that.manager.userID)) + "&score=" + that.manager.userManager.getSumPoint();\r
+                               }])\r
+                               w.cancelKeyEnabled = false;\r
+                               this.manager.addWidget(w);\r
                        }else\r
                        {\r
                                var rate = past / this.manager.gameTime;\r
index f35b074..45f8852 100644 (file)
@@ -176,15 +176,18 @@ GameManager.prototype = {
                if(this.runningStage && this.runningStage.userControlledCharacter){\r
                        if(this.runningStage.userControlledCharacter.HP == 0){\r
                                this.runningStage.userControlledCharacter.HP = this.runningStage.userControlledCharacter.max_HP;\r
-                               this.addWidget(new MessageWidgetClass(this, ["死んでしまった……\n", null, function(w){\r
+                               var w = new MessageWidgetClass(this, ["死んでしまった……\n", null, function(w){\r
                                        w.manager.UIManager.clearInput();\r
+                                       w.manager.userManager.deletePlusPointIngredient();\r
                                        if(w.manager.runningStageName){\r
                                                w.manager.loadStageFromNetwork(w.manager.returningStage);\r
                                        } else{\r
                                                //ローカルモード時は動作を停止させるだけ\r
                                                w.manager.stopStage();\r
                                        }\r
-                               }]));\r
+                               }]);\r
+                               w.cancelKeyEnabled = false;\r
+                               this.addWidget(w);\r
                                \r
                        }\r
                }\r
index 81841e9..6f42130 100644 (file)
@@ -374,6 +374,14 @@ UserManager.prototype = {
                        }\r
                }\r
                return p;\r
+       },\r
+       deletePlusPointIngredient: function(){\r
+               for(var i = 0; i < this.ingredientList.length; i++){\r
+                       if(this.ingredientList[i].point > 0){\r
+                               removeAnObjectFromArray(this.ingredientList, this.ingredientList[i]);\r
+                               i--;\r
+                       }\r
+               }\r
        }\r
 }\r
 \r
diff --git a/www/data.txt b/www/data.txt
new file mode 100755 (executable)
index 0000000..0945aae
--- /dev/null
@@ -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 (executable)
index 0000000..99e1094
--- /dev/null
@@ -0,0 +1,104 @@
+<?php\r
+echo("<html>");\r
+echo("<head><meta charset='UTF-8'><title>ランキング</title></head>");\r
+echo("<body>");\r
+$scores = array();\r
+$names = array();\r
+$max_score = -9999;\r
+$min_score = 0;\r
+$newUser = true;\r
+\r
+//パラメーターの読み込み\r
+if(isset($_GET['name']))\r
+{\r
+       if(isset($_GET['score']))\r
+       {\r
+               //データを追加\r
+               $postName = urldecode($_GET['name']);\r
+               $postScore = intval($_GET['score']);\r
+       }\r
+}\r
+\r
+//データの読み込み\r
+$fp = fopen("./data.txt", "r");\r
+if(!$fp){\r
+       echo "データを開けません";\r
+       exit;\r
+}\r
+for($i = 0; !feof($fp);)\r
+{\r
+       $line = fgets($fp, 4096);\r
+       if($line == "") continue;\r
+       $line = rtrim($line);\r
+       $tkns = split("\t", $line);\r
+       if(isset($tkns[1])){\r
+               $name = $tkns[1];                               //これに改行がはいってるかも\r
+               $score = intval($tkns[0]);\r
+               $names[$i] = $name;\r
+               if(isset($postName) && strcmp($name, $postName) == 0){\r
+                       $newUser = false;\r
+                       if($postScore > $score){\r
+                               $scores[$i] = $postScore;\r
+                       } else{\r
+                               $scores[$i] = $score;\r
+                       }\r
+               } else{\r
+                       $scores[$i] = $score;\r
+               }\r
+               if($scores[$i] > $max_score){\r
+                       $max_score = $scores[$i];\r
+               }\r
+               if($scores[$i] < $min_score){\r
+                       $min_score = $scores[$i];\r
+               }\r
+               $i++;\r
+       }\r
+}\r
+//新規ユーザーの登録\r
+if(isset($postName) && isset($postScore) && $newUser){\r
+       $names[$i] = $postName;\r
+       $scores[$i] = $postScore;\r
+       if($scores[$i] > $max_score){\r
+               $max_score = $scores[$i];\r
+       }\r
+       if($scores[$i] < $min_score){\r
+               $min_score = $scores[$i];\r
+       }\r
+       $i++;\r
+}\r
+//ファイルへ書き戻す\r
+$fp = fopen("./data.txt", "w");\r
+$k = $i;\r
+for($i = 0; $i < $k; $i++){\r
+       fputs($fp, $scores[$i] . "\t" . $names[$i] . "\n");\r
+}\r
+\r
+//自分の得点表示\r
+if(isset($postName) && isset($postScore)){\r
+       echo($postName . "さんの点数は". $postScore . "点でした!<br>ランキングTOP7:\n");\r
+}\r
+\r
+$rankct = 0;\r
+$rankmax = 7;\r
+for($now_score = $max_score; $now_score >= $min_score; $now_score--){\r
+       for($i = 0; $i < $k; $i++){\r
+               if($scores[$i] == $now_score){\r
+                       $rankct++;\r
+                       echo("<div style='font-size: 32px;");\r
+                       if(strcmp($postName, $names[$i]) == 0){\r
+                               echo("color: red;");\r
+                       }\r
+                       echo("'>");\r
+                       echo($names[$i] . "\t" . $scores[$i] . "<br></div>");\r
+                       $rankct++;\r
+                       echo "<hr>\n";\r
+               }\r
+       }\r
+       \r
+       if($rankct > $rankmax){\r
+               break;\r
+       }\r
+}\r
+\r
+echo("</body></html>");\r
+?>
\ No newline at end of file
index 6fdbdd1..afbd3cd 100644 (file)
@@ -1,4 +1,4 @@
-var stgObjects={\r
+var stgObjects={\r
 \r
 a:{base:SlopeBlockClass,args:['1213.png',16,16],prop:{enableDebugMode:false}},\r
 b:{base:BlockClass, args:"1190.png"},\r
@@ -181,8 +181,8 @@ stage.addStageObject(torii1);
        warpLeft.origin.x = -32;\r
        warpLeft.origin.y = 0;\r
        var warpRight = new WarpItemClass(stage, ["panya", 0, 0, 32, 480, false]);\r
-       warpRight.origin.x = 6368;\r
-       warpRight.origin.y = 416;\r
+       warpRight.origin.x = 6338;\r
+       warpRight.origin.y = 384;\r
        stage.addStageObject(warpLeft);\r
        stage.addStageObject(warpRight);\r
 \r
index a664ca9..b0e1cb2 100644 (file)
@@ -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],\r
                [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],\r
                [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],\r
-               [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],\r
-               [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,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],\r
+               [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],\r
+               [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,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],\r
                [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]\r
        ];\r
 }\r
index ce5ff40..881653a 100644 (file)
@@ -110,12 +110,12 @@ stage.runStage = function(){
                stageNameList.push(item);\r
        };\r
 //ステージ\r
-stage.addSelectWidgetItemFromStageName("街","city.png","city", true, "★☆☆☆☆");\r
+//stage.addSelectWidgetItemFromStageName("街","city.png","city", true, "★☆☆☆☆");\r
 stage.addSelectWidgetItemFromStageName("洞窟","cave.png","fukushima",false, "★★★★☆");\r
 stage.addSelectWidgetItemFromStageName("山","yama.png","koenma",false, "★★☆☆☆");\r
 stage.addSelectWidgetItemFromStageName("牧場","farm.png","okubo",false, "★★★☆☆");\r
 stage.addSelectWidgetItemFromStageName("森","mori.png","pengin",false, "★★★☆☆");\r
-stage.addSelectWidgetItemFromStageName("海","ike.png","sea",false, "★☆☆☆☆");\r
+stage.addSelectWidgetItemFromStageName("海","sea.png","sea",false, "★☆☆☆☆");\r
 stage.addSelectWidgetItemFromStageName("池","ike.png","ikeikegogo",false, "★★★★★");\r
 \r
        var bakery1 = new FreeItemClass(stage, ["bakery.png", function(){\r
@@ -135,6 +135,9 @@ stage.addSelectWidgetItemFromStageName("池","ike.png","ikeikegogo",false, "★
                                        mainManager.addWidget(sw);\r
                                } else{\r
                                        //次のステージへ移動\r
+                                       if(!mainManager.timerRunning){\r
+                                               TimerWidgetClass.startTimer(mainManager);\r
+                                       }\r
                                        mainManager.loadStageFromNetwork(retv[0].stgName);\r
                                }\r
                        }\r
@@ -162,11 +165,6 @@ stage.addSelectWidgetItemFromStageName("池","ike.png","ikeikegogo",false, "★
        warpRight.origin.y = 0;\r
        stage.addStageObject(warpLeft);\r
        stage.addStageObject(warpRight);\r
-       \r
-       if(!mainManager.timerRunning)\r
-       {\r
-               TimerWidgetClass.startTimer(mainManager);\r
-       }\r
 };\r
 \r
 stage;
\ No newline at end of file
index b3a1410..f177fba 100644 (file)
@@ -1,4 +1,4 @@
-var stgObjects={\r
+var stgObjects={\r
 \r
 a:{base:SlopeBlockClass,args:['1213.png',16,16],prop:{enableDebugMode:false}},\r
 b:{base:BlockClass, args:"1190.png"},\r
@@ -37,9 +37,10 @@ var stgInfo = {
     width: 6400,                               //���T�C�Y\r
     height: 480,\r
      background: "DSC_0372.png",               //�w�i�摜�B������640px�ł����K�v�͂Ȃ��B\r
-    BGM:   "mikosakuseimori.mp3"\r
-                               //�c�T�C�Y\r
+    BGM:   "mikosakuseimori.mp3",\r
+       //�c�T�C�Y\r
        //�w�i�摜�B������640px�ł����K�v�͂Ȃ��B\r
+   spawnLocation: [32, 42],\r
 };\r
 \r
  \r