2008年07月23日
カードの種類
SOFI card game
☆カードの種類☆
1 アバターカード
モンスター、アニマル、ヒーローもアバターカードです。
スピードは2です。
Avater card
avater cards include monster,animal,hero.
2 魔法カード
スピードが1です。
相手のターンでも使用することができます。
Magic card
3 大魔法カード
スピードが2です。
メインフェイズでのみ使用することができます。
Sorcery
4 トラップカード
セットはスピード2です。
オープンはスピード1です。
Trap card
5 エネルギーカード
エネルギーカードというものは存在しません。
上記のカードをエネルギーゾーンに置いた場合、エネルギーカードとして扱われます。
Enegy card
☆カードの種類☆
1 アバターカード
モンスター、アニマル、ヒーローもアバターカードです。
スピードは2です。
Avater card
avater cards include monster,animal,hero.
2 魔法カード
スピードが1です。
相手のターンでも使用することができます。
Magic card
3 大魔法カード
スピードが2です。
メインフェイズでのみ使用することができます。
Sorcery
4 トラップカード
セットはスピード2です。
オープンはスピード1です。
Trap card
5 エネルギーカード
エネルギーカードというものは存在しません。
上記のカードをエネルギーゾーンに置いた場合、エネルギーカードとして扱われます。
Enegy card
2008年07月23日
やった〜。
ヽ(*´▽`)/
スクリプトのカテゴリーでランキングに入ってる〜!
うれし〜
+.+゚d(´∀`*)グッ!!
みなさん訪問ありがとうございま〜す。
ほぼカードゲームが完成しました〜。
みなさん勝負しましょうね☆
スクリプトのカテゴリーでランキングに入ってる〜!
うれし〜
+.+゚d(´∀`*)グッ!!
みなさん訪問ありがとうございま〜す。
ほぼカードゲームが完成しました〜。
みなさん勝負しましょうね☆
2008年07月20日
リスト: 第一弾 熊本パック
SOFI card game
☆リスト 熊本パック☆
ウルトラスーパーレア (1種)
ウルトラレア (2種)
スーパーレア (3種)
tagoneko Pizzicato
2水 3/1
タイニー、飛行
eiko Matfield
光 1/1
TEPに1ライフを得る。
Murataka
闇闇 2/2
先制攻撃、貫通
レア (8種)
luv Supermarine
2水水 3/3
飛行
haruurara Nishi
1水 1/3
睡眠:対象のアバターのスキルをこのターンの間なくす。
Funakoshi Anthony
4風 2/3
睡眠:カードを1枚引く。
Yuko Pinklady
火火 3/1
速攻
アンコモン (15種)
cococo
2水 1/4
飛行
コモン (21種)
熊本城
2闇 Trap
敵軍の攻撃アバターに一点のダメージを与える。
Blue Sky Flag
風 魔法
対象のアバター2体はこのターンの間飛行を得る。
場にTreva Sladeがいる場合、自軍の全てのアバターは飛行を得る。
hurry
1光光 Trap
TEPにのみオープン可能。このターンうけたダメージの2倍量のライフを得る。
場にeiko Matfieldがいる場合、3倍量のライフを得る。
むらたか庵
☆リスト 熊本パック☆
ウルトラスーパーレア (1種)
ウルトラレア (2種)
スーパーレア (3種)
tagoneko Pizzicato
2水 3/1
タイニー、飛行
eiko Matfield
光 1/1
TEPに1ライフを得る。
Murataka
闇闇 2/2
先制攻撃、貫通
レア (8種)
luv Supermarine
2水水 3/3
飛行
haruurara Nishi
1水 1/3
睡眠:対象のアバターのスキルをこのターンの間なくす。
Funakoshi Anthony
4風 2/3
睡眠:カードを1枚引く。
Yuko Pinklady
火火 3/1
速攻
アンコモン (15種)
cococo
2水 1/4
飛行
コモン (21種)
熊本城
2闇 Trap
敵軍の攻撃アバターに一点のダメージを与える。
Blue Sky Flag
風 魔法
対象のアバター2体はこのターンの間飛行を得る。
場にTreva Sladeがいる場合、自軍の全てのアバターは飛行を得る。
hurry
1光光 Trap
TEPにのみオープン可能。このターンうけたダメージの2倍量のライフを得る。
場にeiko Matfieldがいる場合、3倍量のライフを得る。
むらたか庵
2008年07月20日
戦闘について
SOFI card game
☆戦闘について☆
About battle
1 ターンのプレイヤーはバトルフェイズを宣言します。
The player of turn declares a battle phase.
2 攻撃するアバターを選択し、睡眠状態にします。
The player choose avatars to attack and make it a sleep state.
3 相手プレイヤーは防御するアバターを選択します。
一体の攻撃アバターを複数のアバターで防御することもできます。
アバター一人が防御できる攻撃アバターは1体だけです。ただし、騎士スキルを持つアバターのみ何体でもブロックすることができます。
The opponent chooses an avatar to defend.
A avatar can defend only one attacking avater. But only an avatar with a knight skill can block even several attacking avater.
4 ダメージを解決します。
お互いのアバターは攻撃力分のダメージを相手アバターの生命力に与えます。
生命力が0になったアバターは墓地に送られます。
It solves damage.
The avatar that vitality became 0 is sent to the graveyard.
☆戦闘について☆
About battle
1 ターンのプレイヤーはバトルフェイズを宣言します。
The player of turn declares a battle phase.
2 攻撃するアバターを選択し、睡眠状態にします。
The player choose avatars to attack and make it a sleep state.
3 相手プレイヤーは防御するアバターを選択します。
一体の攻撃アバターを複数のアバターで防御することもできます。
アバター一人が防御できる攻撃アバターは1体だけです。ただし、騎士スキルを持つアバターのみ何体でもブロックすることができます。
The opponent chooses an avatar to defend.
A avatar can defend only one attacking avater. But only an avatar with a knight skill can block even several attacking avater.
4 ダメージを解決します。
お互いのアバターは攻撃力分のダメージを相手アバターの生命力に与えます。
生命力が0になったアバターは墓地に送られます。
It solves damage.
The avatar that vitality became 0 is sent to the graveyard.
2008年07月20日
基本用語説明
SOFI card game
☆基本用語説明☆
About basic grossery
1 デッキ
50枚のカードの束をデッキと呼びます。
プレイヤーがあらかじめデッキを好きなように組みます。
Deck
We call a bundle of 50 cards "deck"
A player choose 50 cards in advance.
2 先攻ドローなし
最初のターンのみ先攻はドローをすることができません。
先手の有利をなくすためです。
First player can't draw in fist turn.
3 優先権放棄
常にターンを進めているプレイヤーに優先権があります。
優先権を放棄した場合のみ、相手プレイヤーは魔法を唱えたり、アバタースキルを発動させることができます。
Give up priority
4 対応
相手の行動に対応して魔法やアバタースキルを発動させることができます。全ての行動はスタックにのります。
Response
5 スタック
全ての行動はいったんスタックと呼ばれる仮想の場所にのります。さらに対応が起きた場合、その行動が一番上のスタックにのります。
対応がなければ、一番上の行動から解決していきます。
Stack
6 召還酔い
アバターは召還したターンに攻撃したりスリープを要求するスキルを使うことができません。これを召還酔いと言います。
summoning sickness
7 エネルギープール
発生したエネルギーはエネルギープールと呼ばれる仮想の空間にたまります。
8 エネルギーバーン
エネルギープールにたまっているエネルギーは次のフェイズに持ち越すことができません。
エネルギープールにエネルギーがたまっている状態で次のフェイズに移行する場合、エネルギー分のダメージを受けます。
☆基本用語説明☆
About basic grossery
1 デッキ
50枚のカードの束をデッキと呼びます。
プレイヤーがあらかじめデッキを好きなように組みます。
Deck
We call a bundle of 50 cards "deck"
A player choose 50 cards in advance.
2 先攻ドローなし
最初のターンのみ先攻はドローをすることができません。
先手の有利をなくすためです。
First player can't draw in fist turn.
3 優先権放棄
常にターンを進めているプレイヤーに優先権があります。
優先権を放棄した場合のみ、相手プレイヤーは魔法を唱えたり、アバタースキルを発動させることができます。
Give up priority
4 対応
相手の行動に対応して魔法やアバタースキルを発動させることができます。全ての行動はスタックにのります。
Response
5 スタック
全ての行動はいったんスタックと呼ばれる仮想の場所にのります。さらに対応が起きた場合、その行動が一番上のスタックにのります。
対応がなければ、一番上の行動から解決していきます。
Stack
6 召還酔い
アバターは召還したターンに攻撃したりスリープを要求するスキルを使うことができません。これを召還酔いと言います。
summoning sickness
7 エネルギープール
発生したエネルギーはエネルギープールと呼ばれる仮想の空間にたまります。
8 エネルギーバーン
エネルギープールにたまっているエネルギーは次のフェイズに持ち越すことができません。
エネルギープールにエネルギーがたまっている状態で次のフェイズに移行する場合、エネルギー分のダメージを受けます。
2008年07月20日
フィールドについて
SOFI card game
☆フィールドについて☆

1 マジックゾーン
魔法カードを置く場所です。
Mazic Zone
A place to put a magic card.
2 アバターゾーン
アバターカードを置く場所です。
Avatar Zone
A place to put a avatar card or monster card.
3 トラップゾーン
トラップカードを置く場所です。
Trap Zone
A place to put a Trap card.
4 エネルギーゾーン
どんな種類のカードでも置く事ができます。
エネルギーとして置いた場合、睡眠状態にすると、そのカードの属性のエネルギーが1つ発生します。
Energy Zone
You can put any types of card.
If you put a card as energy, you can add a energy of that color when you sleep the card.
5 墓地ゾーン
使い終わったカードを置く場所です。
Graveyard Zone
A place to trush a card.
☆フィールドについて☆

1 マジックゾーン
魔法カードを置く場所です。
Mazic Zone
A place to put a magic card.
2 アバターゾーン
アバターカードを置く場所です。
Avatar Zone
A place to put a avatar card or monster card.
3 トラップゾーン
トラップカードを置く場所です。
Trap Zone
A place to put a Trap card.
4 エネルギーゾーン
どんな種類のカードでも置く事ができます。
エネルギーとして置いた場合、睡眠状態にすると、そのカードの属性のエネルギーが1つ発生します。
Energy Zone
You can put any types of card.
If you put a card as energy, you can add a energy of that color when you sleep the card.
5 墓地ゾーン
使い終わったカードを置く場所です。
Graveyard Zone
A place to trush a card.
2008年07月20日
カードの属性について
SOFI card game
☆カードの属性について☆
About element
属性には下位属性と上位属性があります。
There are upper element and lower element.
☆下位属性☆
Lower element
1 光
ライフの回復を得意とする属性です。守りを固めたい方にオススメの属性です。
Light
It is an element to be good at recovery of the life. It is a recommended element for the person who wants to strengthen defense.
2 闇
生命力は低いですが、攻撃力の高いアバターが多い属性です。即死魔法などもあります。
Dark
The vitality is low, but it is an element with many expensive avatars of the offensive ability. There is the instant death magic, too.
3 火
攻撃的なアバターがそろっています。直接アバターにダメージを与えられる魔法があるのが特徴です。
豪快に攻めたいかたにオススメの属性です。
Fire
An aggressive avatar is prepared. It is a characteristic that there is magic given damage to a direct avatar.
It is a recommended element for the person whom it is daring, and want to attack it.
4 水
トリッキーなことができる属性です。相手の妨害が得意です。相手の好きなように行動させたくない人にお勧めです。
Water
It is an element to have to be tricky. I am good at the interference of the partner. I am recommended for the person who does not want to let you act as the partner likes it.
5 土
アバターの強化が得意な属性です。とくかく巨大なパワーをもったアバターで攻撃したい人にお勧めです。
Earth
It is an element good at the reinforcement of the avatar. I am recommended for the person whom I want to attack with the avatar which had huge power to lack in to untie.
6 風
飛行アバターが多い属性です。相手にブロックされずに攻撃したい人にお勧めです。
Wind
It is an element with many flight avatars. I am recommended for the person whom I want to attack without it being blocked by opponent
☆上位属性☆
Upper element
1 愛
Love
2 幻
Illlusion
3 月
Moon
☆カードの属性について☆
About element
属性には下位属性と上位属性があります。
There are upper element and lower element.
☆下位属性☆
Lower element
1 光
ライフの回復を得意とする属性です。守りを固めたい方にオススメの属性です。
Light
It is an element to be good at recovery of the life. It is a recommended element for the person who wants to strengthen defense.
2 闇
生命力は低いですが、攻撃力の高いアバターが多い属性です。即死魔法などもあります。
Dark
The vitality is low, but it is an element with many expensive avatars of the offensive ability. There is the instant death magic, too.
3 火
攻撃的なアバターがそろっています。直接アバターにダメージを与えられる魔法があるのが特徴です。
豪快に攻めたいかたにオススメの属性です。
Fire
An aggressive avatar is prepared. It is a characteristic that there is magic given damage to a direct avatar.
It is a recommended element for the person whom it is daring, and want to attack it.
4 水
トリッキーなことができる属性です。相手の妨害が得意です。相手の好きなように行動させたくない人にお勧めです。
Water
It is an element to have to be tricky. I am good at the interference of the partner. I am recommended for the person who does not want to let you act as the partner likes it.
5 土
アバターの強化が得意な属性です。とくかく巨大なパワーをもったアバターで攻撃したい人にお勧めです。
Earth
It is an element good at the reinforcement of the avatar. I am recommended for the person whom I want to attack with the avatar which had huge power to lack in to untie.
6 風
飛行アバターが多い属性です。相手にブロックされずに攻撃したい人にお勧めです。
Wind
It is an element with many flight avatars. I am recommended for the person whom I want to attack without it being blocked by opponent
☆上位属性☆
Upper element
1 愛
Love
2 幻
Illlusion
3 月
Moon
2008年07月20日
SOFI card game ルール説明
SOFI card game
☆基本ルール☆
Basic rule
プレイヤーのライフ 20
デッキの枚数 50枚
初期手札枚数 6枚
手札上限 9枚
Player's Life 20
Deck 50
First Hand 6
limited Hand 9
1 じゃんけんをして先攻後攻を決めます。
2 お互い6枚のカードを引きます。
Each player draw 6 cards.
3 先手からターンを始めます。詳しくはフェイズの項を見て下さい。
先手のプレイヤーは最初のターンのみドローをすることができません。
4 先に相手のプレイヤーのライフを0にした方が勝ちです。
☆基本ルール☆
Basic rule
プレイヤーのライフ 20
デッキの枚数 50枚
初期手札枚数 6枚
手札上限 9枚
Player's Life 20
Deck 50
First Hand 6
limited Hand 9
1 じゃんけんをして先攻後攻を決めます。
2 お互い6枚のカードを引きます。
Each player draw 6 cards.
3 先手からターンを始めます。詳しくはフェイズの項を見て下さい。
先手のプレイヤーは最初のターンのみドローをすることができません。
4 先に相手のプレイヤーのライフを0にした方が勝ちです。
2008年07月20日
基本スキルについて
SOFI card game
☆アバタースキル☆
Avatar skills
1 先制攻撃
相手よりも先にダメージが入ります。
First Strike
2 速攻
アバターを召還したターンに睡眠状態にすることができます。
Haste
I can make it a sleep state for the turn that summoned an avatar.
3 飛行
飛行をもつアバターにしかブロックされません。
Flying
It is blocked only by an avatar with a Flying.
4 タイニー
攻撃をブロックされません。
相手のアバター攻撃力ー自分のアバター生命力分のダメージがプレイヤーに入ります。
Tiny
A avater who have this skill can't be blocked.
5 騎士
何体でもブロックすることができます。
Knight
A avater who have this skill can block even several attacking avater.
6 貫通
自分のアバターの攻撃力ー相手アバターの生命力分のダメージがプレイヤーに入ります。
Trample
7 勇者
攻撃しても睡眠状態になりません。
Hero
Attacking does not cause to sleep.
☆アバタースキル☆
Avatar skills
1 先制攻撃
相手よりも先にダメージが入ります。
First Strike
2 速攻
アバターを召還したターンに睡眠状態にすることができます。
Haste
I can make it a sleep state for the turn that summoned an avatar.
3 飛行
飛行をもつアバターにしかブロックされません。
Flying
It is blocked only by an avatar with a Flying.
4 タイニー
攻撃をブロックされません。
相手のアバター攻撃力ー自分のアバター生命力分のダメージがプレイヤーに入ります。
Tiny
A avater who have this skill can't be blocked.
5 騎士
何体でもブロックすることができます。
Knight
A avater who have this skill can block even several attacking avater.
6 貫通
自分のアバターの攻撃力ー相手アバターの生命力分のダメージがプレイヤーに入ります。
Trample
7 勇者
攻撃しても睡眠状態になりません。
Hero
Attacking does not cause to sleep.
2008年07月20日
フェイズについて
SOFI card game
☆フェイズについて☆
About Phase
1 [AP] 覚醒フェイズ
全ての睡眠状態のカードを覚醒状態にします。
このフェイズでは魔法やスキルを使うことができません。
Awake Phase
Awake all cards you control.
2 [CPP] 維持費支払いフェイズ
維持費の支払いが必要な場合、このフェイズで支払います。
Cost payment phase
3 [TSP] ターンスタート効果発動フェイズ
ターンスタート時に発動するスキルが発動します。
Turn start phase
4 [DP] ドローフェイズ
カードを一枚引きます。
このフェイズでは魔法やスキルを使うことができません。
Draw phase
5 [MP] メインフェイズ
アバターの召還、魔法、大魔法、トラップを仕掛ける、エネルギーのセットができます。
毎ターン一枚だけエネルギーをセットすることができます。
Main phase
6 [BP] バトルフェイズ
戦闘するフェイズです。
Battle phase
7 [TEP] ターンエンド効果発動フェイズ
ターンエンド時に発動するスキルが発動します。
Turn end phase
8 エンド
End
☆フェイズについて☆
About Phase
1 [AP] 覚醒フェイズ
全ての睡眠状態のカードを覚醒状態にします。
このフェイズでは魔法やスキルを使うことができません。
Awake Phase
Awake all cards you control.
2 [CPP] 維持費支払いフェイズ
維持費の支払いが必要な場合、このフェイズで支払います。
Cost payment phase
3 [TSP] ターンスタート効果発動フェイズ
ターンスタート時に発動するスキルが発動します。
Turn start phase
4 [DP] ドローフェイズ
カードを一枚引きます。
このフェイズでは魔法やスキルを使うことができません。
Draw phase
5 [MP] メインフェイズ
アバターの召還、魔法、大魔法、トラップを仕掛ける、エネルギーのセットができます。
毎ターン一枚だけエネルギーをセットすることができます。
Main phase
6 [BP] バトルフェイズ
戦闘するフェイズです。
Battle phase
7 [TEP] ターンエンド効果発動フェイズ
ターンエンド時に発動するスキルが発動します。
Turn end phase
8 エンド
End
2008年07月20日
カードについて
SOFI card game
☆カードの見方☆
About card

1 名前
アバター、魔法、トラップの名前です。
Name
2 コスト
召還するのに必要な費用です。
Cost
3 所属シム
アバターの所属しているシム名です。
SIM
4 タイプ
アバターのタイプです。
Type
5 能力
カードが持つ能力です。
Skill
6 フレーバーテキスト
ゲームには関係ありません。アバターの紹介文です。
Flaver Text
7 レアリティ
カードの貴重度です。ウルトラスーパーレア、ウルトラレア、スーパーレア、レア、アンコモン、コモンがあります。
Rarelity
8 攻撃力、生命力
アバターの攻撃力と、生命力です。生命力が0になったアバターは墓地に行きます。
Attack , Life
☆覚醒状態と睡眠状態について☆
カードが縦の状態を覚醒状態と呼びます。
カードが横の状態を睡眠状態と呼びます。
睡眠状態は行動終了の意味です。
睡眠状態のカードは覚醒フェイズに覚醒状態に戻ります。
覚醒状態は行動可能の意味です。
☆カードの見方☆
About card

1 名前
アバター、魔法、トラップの名前です。
Name
2 コスト
召還するのに必要な費用です。
Cost
3 所属シム
アバターの所属しているシム名です。
SIM
4 タイプ
アバターのタイプです。
Type
5 能力
カードが持つ能力です。
Skill
6 フレーバーテキスト
ゲームには関係ありません。アバターの紹介文です。
Flaver Text
7 レアリティ
カードの貴重度です。ウルトラスーパーレア、ウルトラレア、スーパーレア、レア、アンコモン、コモンがあります。
Rarelity
8 攻撃力、生命力
アバターの攻撃力と、生命力です。生命力が0になったアバターは墓地に行きます。
Attack , Life
☆覚醒状態と睡眠状態について☆
カードが縦の状態を覚醒状態と呼びます。
カードが横の状態を睡眠状態と呼びます。
睡眠状態は行動終了の意味です。
睡眠状態のカードは覚醒フェイズに覚醒状態に戻ります。
覚醒状態は行動可能の意味です。
2008年06月29日
2008年06月26日
☆祝!開店☆
Chikao Fordenさんのご好意によりお店を出せることになりました。
ちかおさん、本当にありがとうございます。
ゲーム屋”Blue Sky”を開店します!
みなさん、KUMAMOTOに遊びに来て下さいね☆

ちかおさん、本当にありがとうございます。
ゲーム屋”Blue Sky”を開店します!
みなさん、KUMAMOTOに遊びに来て下さいね☆

2008年06月21日
囲碁
作品No.004【囲碁】
Yooさんのブログに碁会所があったらおもしろいかもとあったので早速作ってみました。
置きたいところをクリックすると碁石が現れます。
となりに見えているのは、先攻後攻を決めるじゃんけんと、どちらの手番か示す審判です。

Yooさんのブログに碁会所があったらおもしろいかもとあったので早速作ってみました。
置きたいところをクリックすると碁石が現れます。
となりに見えているのは、先攻後攻を決めるじゃんけんと、どちらの手番か示す審判です。

2008年06月21日
リストから要素を消す方法を教えて下さい。
解決しました。ありがとうございました。
【目的】
カードゲームを作ろうとしています。
【やりたいこと】
カードの束からランダムにカードを一枚引きます。
手札に引いたカードを入れておきます。
dialogで手札を表示して使うカードを選びます。
使ったカードを手札から消します。(この部分がどうやったらいいかわかりません)
【疑問点】
listの何番目の要素を消すという(llDeleteSubList)方法ではなくて、要素の名前を用いてリストからその名前の要素を消す方法。
【スクリプト】
list deck = ["ice","fire","air","earth",...]//カードの束を用意する
list hand ; //手札
i = llFloor(llFrand(40))://何番目のカードを引くか決める
llListInsertList(hand,llList2list(deck,i,i),llGetListLength(hand));//手札に引いたカードを入れる。
llDialog(llDetectedKey(0),"",hand,dialogchannel);//ダイアログで手札を表示
listen(integer channel,string name,key id,string message)
ここで聞いたmessageのカードを手札(handのリスト)から消したいのですが、
どうようにしたらよいのでしょうか?
よろしければどなたか教えていただけますでしょうか?
よろしくおねがいします。
【目的】
カードゲームを作ろうとしています。
【やりたいこと】
カードの束からランダムにカードを一枚引きます。
手札に引いたカードを入れておきます。
dialogで手札を表示して使うカードを選びます。
使ったカードを手札から消します。(この部分がどうやったらいいかわかりません)
【疑問点】
listの何番目の要素を消すという(llDeleteSubList)方法ではなくて、要素の名前を用いてリストからその名前の要素を消す方法。
【スクリプト】
list deck = ["ice","fire","air","earth",...]//カードの束を用意する
list hand ; //手札
i = llFloor(llFrand(40))://何番目のカードを引くか決める
llListInsertList(hand,llList2list(deck,i,i),llGetListLength(hand));//手札に引いたカードを入れる。
llDialog(llDetectedKey(0),"",hand,dialogchannel);//ダイアログで手札を表示
listen(integer channel,string name,key id,string message)
ここで聞いたmessageのカードを手札(handのリスト)から消したいのですが、
どうようにしたらよいのでしょうか?
よろしければどなたか教えていただけますでしょうか?
よろしくおねがいします。
2008年06月18日
ブロック積み上げゲーム
作品番号No.003【ブロック積み上げゲーム】
☆ルール☆
交互にブロックを積み上げていって、縦か横かななめに4つそろたら勝ち。

[main]
string appearobject;
float i=0;
key playera;
string aname;
integer handle;
integer handlea;
integer flag=1;
default{
state_entry(){
llSay(0,"Game Start");}
on_rez(integer r){
llListenRemove(handle);
llListenRemove(handlea);
llResetScript();}
touch_start(integer total_number){
handle=llListen(0,"","","reset");
handlea=llListen(70,"","","");
if(flag ==1){
playera = llDetectedKey(0);
aname = llKey2Name(playera);
llSay(70,aname);
flag=2;}
if(llDetectedName(0)==aname){
appearobject = "blue cube Die";
llSay(95,aname);}
if(llDetectedName(0)!=aname){
appearobject = "red cube Die";
llSay(95,llDetectedName(0));}
i = i+0.501 ;
llRezObject(appearobject,llGetPos()+<0,0,i>,ZERO_VECTOR,ZERO_ROTATION,0);
llPlaySound("buddyon",1); }
listen(integer channel,string name , key id , string message){
if(message == "reset"){
llResetScript();}
if(channel==70){
aname=message;
flag=2;}
}
}
[judge]
integer handle;
string playera;
string playerb;
integer re;
integer count=1;
default
{
state_entry(){
handle= llListen(95,"","","");
re =llListen(0,"","","reset");}
on_rez(integer r){
llResetScript();
llListenRemove(handle);
llListenRemove(re);}
listen(integer channel , string name , key id, string message){
if(count==1){
playera= message;
count=2;
}
if(message!=playera && channel==95){
playerb = message;}
if(message==playera && channel==95){
llSetText(playerb,<1,1,1>,1);}
else{
llSetText(playera,<1,1,1>,1);}
if (message=="reset"){
llSetText("",<1,1,1>,1);
count=1;
playera="";
playerb="";}
}
}
☆ルール☆
交互にブロックを積み上げていって、縦か横かななめに4つそろたら勝ち。

[main]
string appearobject;
float i=0;
key playera;
string aname;
integer handle;
integer handlea;
integer flag=1;
default{
state_entry(){
llSay(0,"Game Start");}
on_rez(integer r){
llListenRemove(handle);
llListenRemove(handlea);
llResetScript();}
touch_start(integer total_number){
handle=llListen(0,"","","reset");
handlea=llListen(70,"","","");
if(flag ==1){
playera = llDetectedKey(0);
aname = llKey2Name(playera);
llSay(70,aname);
flag=2;}
if(llDetectedName(0)==aname){
appearobject = "blue cube Die";
llSay(95,aname);}
if(llDetectedName(0)!=aname){
appearobject = "red cube Die";
llSay(95,llDetectedName(0));}
i = i+0.501 ;
llRezObject(appearobject,llGetPos()+<0,0,i>,ZERO_VECTOR,ZERO_ROTATION,0);
llPlaySound("buddyon",1); }
listen(integer channel,string name , key id , string message){
if(message == "reset"){
llResetScript();}
if(channel==70){
aname=message;
flag=2;}
}
}
[judge]
integer handle;
string playera;
string playerb;
integer re;
integer count=1;
default
{
state_entry(){
handle= llListen(95,"","","");
re =llListen(0,"","","reset");}
on_rez(integer r){
llResetScript();
llListenRemove(handle);
llListenRemove(re);}
listen(integer channel , string name , key id, string message){
if(count==1){
playera= message;
count=2;
}
if(message!=playera && channel==95){
playerb = message;}
if(message==playera && channel==95){
llSetText(playerb,<1,1,1>,1);}
else{
llSetText(playera,<1,1,1>,1);}
if (message=="reset"){
llSetText("",<1,1,1>,1);
count=1;
playera="";
playerb="";}
}
}
2008年06月13日
数字当てゲーム(一人用)
作品No.002【数字当てゲーム】
☆遊び方☆
1.自動で3つの数字が決まります(見えない)(例175)
2.その数字を予想して3つの数字をしゃべります(例159)
3.1は場所と数字があっているのでone strikeとなります。
4.5は数字はあっていますが場所が違うのでone ballとなります。
5.これを繰り返し数字と場所を当てます。
integer first ;
integer second ;
integer third ;
integer sfirst;
integer ssecond;
integer sthird;
integer i=1;
key toucherid;
integer handle;
reset(){
toucherid=NULL_KEY;
llListenRemove(handle);}
decision(){
first = llFloor(llFrand(9.0))+1;
second =llFloor(llFrand(9.0))+1;
third =llFloor(llFrand(9.0))+1;}
default{
state_entry(){
llSetTouchText("number baseball Game");
reset();
}
on_rez(integer r){
llResetScript();
}
touch_start(integer x){
toucherid=llDetectedKey(0);
do{
decision();}
while(first==second ||first==third || second ==third);
//llSetText((string)first+(string)second+(string)third,<1,0,0>,1);
llSay(0,"Chat three numbers");
handle=llListen(0,"",toucherid,"");}
listen(integer channel,string name,key id,string message){
sfirst =(integer)llGetSubString(message,0,0);
ssecond =(integer)llGetSubString(message,1,1);
sthird =(integer)llGetSubString(message,2,2);
integer h=0;
integer b=0;
if(first==sfirst){
h=h+1;}
if(first==ssecond){
b=b+1;}
if(first==sthird){
b=b+1;}
if(second==sfirst){
b=b+1;}
if(second==ssecond){
h=h+1;}
if(second==sthird){
b=b+1;}
if(third==sfirst){
b=b+1;}
if(third==ssecond){
b=b+1;}
if(third==sthird){
h=h+1;}
if(h==3){
llSay(0,"homerun");
llSay(0,"you say"+(string)i+"times");
llResetScript();}
if(h==2){
llSay(0,"two strikes");}
if(h==1){
llSay(0,"one strike");}
if(b==3){
llSay(0,"three balls");}
if(b==2){
llSay(0,"two balls");}
if(b==1){
llSay(0,"one ball");}
i=i+1;
state opponentturn;}}
state opponentturn{
state_entry(){
state yourturn;}}
state yourturn{
state_entry(){
llSay(0,"Chat three numbers");
handle=llListen(0,"",toucherid,"");}
listen(integer channel,string name,key id,string message){
sfirst =(integer)llGetSubString(message,0,0);
ssecond=(integer)llGetSubString(message,1,1);
sthird =(integer)llGetSubString(message,2,2);
integer h=0;
integer b=0;
if(first==sfirst){
h=h+1;}
if(first==ssecond){
b=b+1;}
if(first==sthird){
b=b+1;}
if(second==sfirst){
b=b+1;}
if(second==ssecond){
h=h+1;}
if(second==sthird){
b=b+1;}
if(third==sfirst){
b=b+1;}
if(third==ssecond){
b=b+1;}
if(third==sthird){
h=h+1;}
if(h==3){
llSay(0,"Homerun");
llSay(0,"you say"+" "+(string)i+" "+"times");
llSay(0,"Game over");
llResetScript();}
if(h==2){
llSay(0,"two strikes");}
if(h==1){
llSay(0,"one strike");}
if(b==3){
llSay(0,"three balls");}
if(b==2){
llSay(0,"two balls");}
if(b==1){
llSay(0,"one ball");}
i=i+1;
state opponentturn;}}
☆遊び方☆
1.自動で3つの数字が決まります(見えない)(例175)
2.その数字を予想して3つの数字をしゃべります(例159)
3.1は場所と数字があっているのでone strikeとなります。
4.5は数字はあっていますが場所が違うのでone ballとなります。
5.これを繰り返し数字と場所を当てます。
integer first ;
integer second ;
integer third ;
integer sfirst;
integer ssecond;
integer sthird;
integer i=1;
key toucherid;
integer handle;
reset(){
toucherid=NULL_KEY;
llListenRemove(handle);}
decision(){
first = llFloor(llFrand(9.0))+1;
second =llFloor(llFrand(9.0))+1;
third =llFloor(llFrand(9.0))+1;}
default{
state_entry(){
llSetTouchText("number baseball Game");
reset();
}
on_rez(integer r){
llResetScript();
}
touch_start(integer x){
toucherid=llDetectedKey(0);
do{
decision();}
while(first==second ||first==third || second ==third);
//llSetText((string)first+(string)second+(string)third,<1,0,0>,1);
llSay(0,"Chat three numbers");
handle=llListen(0,"",toucherid,"");}
listen(integer channel,string name,key id,string message){
sfirst =(integer)llGetSubString(message,0,0);
ssecond =(integer)llGetSubString(message,1,1);
sthird =(integer)llGetSubString(message,2,2);
integer h=0;
integer b=0;
if(first==sfirst){
h=h+1;}
if(first==ssecond){
b=b+1;}
if(first==sthird){
b=b+1;}
if(second==sfirst){
b=b+1;}
if(second==ssecond){
h=h+1;}
if(second==sthird){
b=b+1;}
if(third==sfirst){
b=b+1;}
if(third==ssecond){
b=b+1;}
if(third==sthird){
h=h+1;}
if(h==3){
llSay(0,"homerun");
llSay(0,"you say"+(string)i+"times");
llResetScript();}
if(h==2){
llSay(0,"two strikes");}
if(h==1){
llSay(0,"one strike");}
if(b==3){
llSay(0,"three balls");}
if(b==2){
llSay(0,"two balls");}
if(b==1){
llSay(0,"one ball");}
i=i+1;
state opponentturn;}}
state opponentturn{
state_entry(){
state yourturn;}}
state yourturn{
state_entry(){
llSay(0,"Chat three numbers");
handle=llListen(0,"",toucherid,"");}
listen(integer channel,string name,key id,string message){
sfirst =(integer)llGetSubString(message,0,0);
ssecond=(integer)llGetSubString(message,1,1);
sthird =(integer)llGetSubString(message,2,2);
integer h=0;
integer b=0;
if(first==sfirst){
h=h+1;}
if(first==ssecond){
b=b+1;}
if(first==sthird){
b=b+1;}
if(second==sfirst){
b=b+1;}
if(second==ssecond){
h=h+1;}
if(second==sthird){
b=b+1;}
if(third==sfirst){
b=b+1;}
if(third==ssecond){
b=b+1;}
if(third==sthird){
h=h+1;}
if(h==3){
llSay(0,"Homerun");
llSay(0,"you say"+" "+(string)i+" "+"times");
llSay(0,"Game over");
llResetScript();}
if(h==2){
llSay(0,"two strikes");}
if(h==1){
llSay(0,"one strike");}
if(b==3){
llSay(0,"three balls");}
if(b==2){
llSay(0,"two balls");}
if(b==1){
llSay(0,"one ball");}
i=i+1;
state opponentturn;}}
2008年06月13日
2008年06月12日
じゃんけんゲーム
作品No.001【じゃんけん】
タッチするとダイアログが出て、stone, scissors, paperを選んでじゃんけんができるゲームを作りました。
key toucherid =NULL_KEY;
list jaction=["stone","scissors","paper"];
integer dialogchannel=198;
integer handle;
integer gcp;
resetjanken(){
toucherid=NULL_KEY;
llListenRemove(handle);}
default{
on_rez(integer y){
llResetScript();}
state_entry(){
llSetTouchText("janken");
resetjanken();
}
touch_start(integer x){
toucherid = llDetectedKey(0);
llSay(0,"choice your action");
handle =llListen(dialogchannel,"","","");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
listen(integer channel,string name, key id,string message){
if(gcp==1){
llSay(0,"stone");
if(message=="stone"){
llSay(0,"draw");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
else if(message=="paper"){
llSay(0,"you win");}
else if(message=="scissors"){
llSay(0,"you lose");}
}
else if(gcp==2){
llSay(0,"scizzors");
if(message=="stone"){
llSay(0,"you win");}
else if(message=="paper"){
llSay(0,"you lose");}
else if(message=="scissors"){
llSay(0,"draw");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
}
else if(gcp==0){
llSay(0,"paper");
if(message=="stone"){
llSay(0,"you lose");
}
else if(message=="paper"){
llSay(0,"draw");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
else if(message=="scissors"){
llSay(0,"you win");}
}
}
}
タッチするとダイアログが出て、stone, scissors, paperを選んでじゃんけんができるゲームを作りました。
key toucherid =NULL_KEY;
list jaction=["stone","scissors","paper"];
integer dialogchannel=198;
integer handle;
integer gcp;
resetjanken(){
toucherid=NULL_KEY;
llListenRemove(handle);}
default{
on_rez(integer y){
llResetScript();}
state_entry(){
llSetTouchText("janken");
resetjanken();
}
touch_start(integer x){
toucherid = llDetectedKey(0);
llSay(0,"choice your action");
handle =llListen(dialogchannel,"","","");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
listen(integer channel,string name, key id,string message){
if(gcp==1){
llSay(0,"stone");
if(message=="stone"){
llSay(0,"draw");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
else if(message=="paper"){
llSay(0,"you win");}
else if(message=="scissors"){
llSay(0,"you lose");}
}
else if(gcp==2){
llSay(0,"scizzors");
if(message=="stone"){
llSay(0,"you win");}
else if(message=="paper"){
llSay(0,"you lose");}
else if(message=="scissors"){
llSay(0,"draw");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
}
else if(gcp==0){
llSay(0,"paper");
if(message=="stone"){
llSay(0,"you lose");
}
else if(message=="paper"){
llSay(0,"draw");
gcp = llFloor(llFrand(3.0));
llDialog(toucherid,"choice your action",jaction,dialogchannel);}
else if(message=="scissors"){
llSay(0,"you win");}
}
}
}



