モノポリーは、私が勉強していないとき以来RPGの組み合わせですが、道を移動するときに子供がカードゲームのカードを引くと、紙の上に異なるマップを描き、そしてサイコロと紙、モンスターホール道路の課題や収集の始まり(バトル)は、攻撃の成功を決定するために岩紙はさみです!私は私の友人、思い出とあった-そしてその時、私はまだコンピュータゲームへのアクセスを持っていませんでした。
私が見たとき、私は手作りのボードゲームは、携帯電話やパソコンのオンラインゲームに移動していた、私は非常に微妙な感じ、それ〜(これはそれほど驚くべきインスピレーションではありませんが)
RPGゲームのモノポリーの組み合わせでは新しいものではありませんが、モバイルの方法、予期せぬ事態が原因各セルは異なる楽しみを持っているプレイヤーにはなく、何度も何度も、各グリッドをマッピングすることができます。
今、それを学び、デザインを拡張するために、伝統的なRPGゲームモノポリーの組み合わせを使用して!
ウェブサイト上の参照を作成していきます。http://shuinvy.pancakeapps.com/MonoRPG/
以前のものから続きます、
我々は、情報を表示するために使用することができる役割の一部を設計しました:
金钱:
0
好感度:
0
HP:
500
次に、[オプション]セクションを探る来て:
function Options(place,p,l){
switch(place[p][l]){
case 1:
//金币
//将来可以去商店买道具,目前暂时是怪物的买路财Orz
var incre=(monmin + parseInt(Math.random()*(parseInt(monmax-monmin)+1)));//一次增加10~30
coin+=incre;
$("#"+lbCoin).html(coin); //将结果显示在画面
//console.log(place[p][l]+",money+"+incre);
//显示纪录
showLog(1,incre);
break;
case 2:
//好感度
//好感度到一定程度就会进化,但目前还没有这个功能
var nice=(lovemin + parseInt(Math.random()*(parseInt(lovemax-lovemin)+1)));//一次增加1~6
fav+=nice
$("#"+lbLove).html(fav); //将结果显示在画面
//console.log(place[p][l]+",love+"+nice);
//显示纪录
showLog(2,nice);
break;
case 3:
//遇到怪物
//假设是偷金币的怪物。若没金币则扣命(对,这角色很弱还打不赢怪物XDDD)
var theaf=(theafmin + parseInt(Math.random()*(parseInt(theafmax-theafmin)+1)));//一次减少100~300
if(coin>theaf){ //要钱够才能扣钱
coin-=theaf;
$("#"+lbCoin).html(coin); //将结果显示在画面
//console.log(place[p][l]+",money-"+theaf);
//显示纪录
showLog(3,theaf);
}else{ //没钱只好被怪打了Orz
var attacked=(attackmin + parseInt(Math.random()*(parseInt(attackmax-attackmin)+1)));//一次减少200~500hp
if(health>attacked){ //命够多才能扣
health-=attacked;
$("#"+lbHP).html(health);
//console.log(place[p][l]+",health-"+attacked);
//显示纪录
showLog(4,attacked);
}else{ //命太低游戏结束
health=0;
$("#"+lbHP).html(health);
GameOver();
}
}
break;
case 4:
//遇到陷阱
var attacked=(trapmin + parseInt(Math.random()*(parseInt(trapmax-trapmin)+1)));//一次减少200~400hp
if(health>attacked){ //命够多才能扣
health-=attacked;
$("#"+lbHP).html(health);
//console.log(place[p][l]+",health-"+attacked);
//显示纪录
showLog(5,attacked);
}else{ //命太低游戏结束
health=0;
$("#"+lbHP).html(health);
GameOver();
}
break;
}
//dice=0代表角色走完格子了,使用者可以继续掷骰子了
rollDice();
}
同様に、怖い指示します、
だから私は、モンスターの中で最も複雑な部分を説明しますと会談しました。
スイッチ...ケース付...遭遇しているもの裁判官、
一部のモンスターケース3市は、次のとおりです。
//遇到怪物
//假设是偷金币的怪物。若没金币则扣命(对,这角色很弱还打不赢怪物XDDD)
var theaf=(theafmin + parseInt(Math.random()*(parseInt(theafmax-theafmin)+1)));//一次减少100~300
if(coin>theaf){ //要钱够才能扣钱
coin-=theaf;
$("#"+lbCoin).html(coin); //将结果显示在画面
//console.log(place[p][l]+",money-"+theaf);
//显示纪录
showLog(3,theaf);
}else{ //没钱只好被怪打了Orz
var attacked=(attackmin + parseInt(Math.random()*(parseInt(attackmax-attackmin)+1)));//一次减少200~500hp
if(health>attacked){ //命够多才能扣
health-=attacked;
$("#"+lbHP).html(health);
//console.log(place[p][l]+",health-"+attacked);
//显示纪录
showLog(4,attacked);
}else{ //命太低游戏结束
health=0;
$("#"+lbHP).html(health);
GameOver();
}
}
実際には、手順は簡単です、
どのような部分は、必要性を決定するために差し引かれ、その結果はお金とHPのテキストに表示されます。
足りないお金が控除した場合、モンスターがあなたを傷つけるでしょうが、(あなたがあなたのお金の残りの部分を奪うようにモンスターをしたいとああ、あなたを傷つけることができる場合)あなたのお金を取ることはありません。
そして、あなたのHPがゼロになると、(あなたがHPを超えた場合モンスターの攻撃を、HPはむしろマイナスよりも、ゼロにご案内します)
ゲームオーバーです。
場合、スイッチは、ユーザーがrollDiceあるサイコロの部分を、ロールし続けることができるの下になるように...そこにあります。
rollDiceパーツ:
function rollDice(){
if(isGame) timerAnime=setTimeout(function(){ clearTimeout(timerAnime); dice=1; if(isGame) timerDice=setInterval(diceRound,speed); else clearInterval(timerDice); $("#btnDice").prop("disabled",false).css("cursor","default"); }, speed); //让使用者可以掷骰子
}
それは非常に長い見えますが、
実際には、最初のisGameとの試合は続行できませんかどうかを判断します、
それ以外の場合は、クラップスサイコロ= 1本の映画のセットに戻り、timerDice =のsetInterval(diceRound、スピード)を実行し続けます。アニメーション。
あなたがサイコロを転がしし続けることはできない、とサイコロが隠しアニメーションになる場合(実際には、数字だけが空の文字列になってみましょう)、そしてユーザーがボタンを押し続けてみましょう。
側に、完全なゲームであっても完成し、
しかし、私は、あなたのデバッグを行うために、一方で、ゲームの記録部を追加した(セットが同じではありませんあなたとサイコロの結果を参照)、一方でそれは、ユーザがどの段階で知らせることです
そうでなければ、人生は突然、プレイは非常に混乱になりますどのように多くのスナップがわからない、アップバックル。
次のゲームは、レコードの比較的簡単な部分です。
オリジナル:ビッグボックスの ヒント8-5を教えるゲーム(モノポリーは、予期せぬ事態RPG-役割出会いと組み合わせます)