トップページgamedev
1001コメント227KB

ソースを上げるスレッド

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/06 18:18ID:TUTRHoJP
特に特定のスレに当てはまるわけじゃないけど
何となくソースを上げたくなったときに公開するためのスレッド。

# 一種の隔離スレです。
00545302/01/18 18:17ID:???
上手く行ったみたいやな。もういっちょテスト。

static uint8 *angle_t;
#define PRS 256

/* atanテーブルを作るらしい */
int angle_init(void) {
    angle_t = malloc(sizeof(uint8) * (PRS * 2 + 1));
    if (angle_t == NULL) return -1;
    angle_t += PRS;
    
    for (int i = -PRS; i <= PRS; i++) {
        double a = atan2(i, PRS);
        if (a > 0) a += PI2 / 256 / 2;
        else a -= PI2 / 256 / 2;
        angle_t[i] = a * 256 / P12;
    }
    return 0;
}

/* 0〜255で角度を返すらしい */
uint8 angle(int16 x, int16 y) {
    if (x == 0 && y == 0)
        return 0;
    if (y < x) {
        if (y > -x) {
            return angle_t[(int32) y * 256 / x];
        }
        return angle_t[(int32) -x * 256 / y] + 192;
    } else {
        if (y > -x) {
            return angle_t[(int32) -x * 256 / y] + 64;
        }
        return angle_t[(int32) y * 256 / x] + 128;
    }
}
00555302/01/18 18:19ID:???
というわけで、インデントつきで書き込めてコピペすればそのまま動く。
0056名前は開発中のものです。02/01/18 18:22ID:2cgx27pc
>>53
惜しい!。
s/&/&/g;
この部分は間違っていると思われ。
00575302/01/18 18:24ID:???
そうなん? もう寝るのでデバッグ頼む(おい
0058名前は開発中のものです。02/01/18 19:40ID:???
>>54
HSPプラグ員に死ぬほどあるよな。それ。
0059名前は開発中のものです。02/01/18 21:42ID:???
かちゅしゃの引用で見るとすごいことに(w
ま、クライアント側の問題なんだけど
0060名前は開発中のものです。02/01/18 21:53ID:???
行数制限を考慮して分割カキコする機能とか、
ログからプログラムを切り出す機能とかほしいね。
0061名前は開発中のものです。02/01/19 08:25ID:3R2CY6rZ
atoi()ってなんですか?
0062名前は開発中のものです。02/01/19 12:01ID:???
整数を文字列に変換する
0063名前は開発中のものです。02/01/19 15:55ID:???
>>62
逆だろ
0064名前は開発中のものです。02/01/22 01:12ID:???
atoi=alphabet to int
って覚えたけど、正確には違うんだろーな
0065名前は開発中のものです。02/01/22 04:37ID:???
atoi = ascii to int じゃねーの?
0066名前は開発中のものです。1/302/01/26 23:59ID:/Un10yYP
Private Sub Form_Load()
'Microsoft Visual Basic 6.0(SP5)
'FormのVisibleプロパティはFalse
'タイトルMsgBox格納変数
Dim slime As Integer
'最大HP格納変数
Dim slimebess As Integer
'ダメージ値格納変数
Dim dameji As Integer
'残りHP格納変数
Dim nokori As Integer
'敵の最大HP格納変数
Dim Drakey As Integer
'敵に与えたダメージ値格納変数
Dim E_dameji As Integer
'敵の残りHP格納変数
Dim E_nokori As Integer
'HPの初期値設定
nokori = 10
'敵のHPの初期値設定
E_nokori = 10

slime = MsgBox("ちょこっと戦う", , "スタート画面")

slime = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"が、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)
0067名前は開発中のものです。2/302/01/27 00:00ID:5zOjGYzx
'自分が生きているときの処理
You_living:

MsgBox "あなたの攻撃!!「クソスレたてんなやヴォケ」"
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 3) + 1
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "ハァハァ(´Д`;)の 残HP " & E_nokori, , "戦闘中")
'敵の生死の判定
If E_nokori > 0 Then

GoTo E_living

Else

GoTo E_died

End If
'敵が生きていたときの処理
E_living:

MsgBox "ハァハァ(´Д`;)の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「マルチたん・・・ハァハァ」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 3) + 1
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then

GoTo You_living

Else

GoTo You_died
End

End If
0068名前は開発中のものです。3/302/01/27 00:00ID:5zOjGYzx
'敵を倒したときの処理
E_died:

MsgBox "ハァハァ(´Д`;)を倒した!この世に平和が訪れた。" & _
vbCrLf & "" & vbCrLf & "HAPPY END"

End
'自分が倒されたときの処理
You_died:

MsgBox "あなたのスレは終了しました。(゚д゚)マズー"

End
End Sub
0069名前は開発中のものです。02/01/27 01:19ID:???
10 end
0070名前は開発中のものです。1/202/01/27 23:59ID:S3QJWc68
'ギコ追加
'レス68 3/3 の続き
'Ver2
'Microsoft VisualBasic6.0(SP5)
'敵を倒したときの処理
E_died:

MsgBox "ハァハァ(´Д`;)を倒した!"
nokori = 20
MsgBox "あなたのLVが上がった!" & vbCrLf & "" & vbCrLf & "HPがすべて回復した!" & _
vbCrLf & "HPの最大値が" & nokori & "になった!" & vbCrLf & "" & vbCrLf & "攻撃力が1あがった!!"

MsgBox "ROUND2 FIGHT!!"

'敵のHPの初期値設定
E_nokori = 20

slime = MsgBox("∧∧" & vbCrLf & "(゚Д゚)" & vbCrLf & "" & vbCrLf & _
"ギコが、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)

You_livingAct2:

MsgBox "あなたの攻撃!!「ただスレ立ててみたかっただけだろう?」"
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 4) + 1
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("∧∧" & vbCrLf & "(゚Д゚)" & vbCrLf & "" & vbCrLf & _
"に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "∧∧" & vbCrLf & "(゚Д゚)の 残HP " & E_nokori, , "戦闘中")

'敵の体力の判定
If E_nokori > 9 Then

GoTo ENEMY_living

Else
If E_nokori <= 9 And E_nokori > 0 Then

GoTo ENEMY_HONKI

Else

MsgBox "ギコたおした!"

End
End If
End If
' If E_nokori <= 0 Then
'
' End
'
' End If
' GoTo ENEMY_died
0071名前は開発中のものです。2/202/01/27 23:59ID:S3QJWc68
'敵が生きていたときの処理
ENEMY_living:

MsgBox "∧∧" & vbCrLf & "(゚Д゚)の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「イッテヨシ!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 1) + 1
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")

'自分の生死の判定
If nokori > 0 Then

GoTo You_livingAct2

Else

GoTo You_died
End

End If

ENEMY_HONKI:

MsgBox "  ∧∧" & vbCrLf & "∩(゚Д゚)ノの攻撃!!" & vbCrLf & "" & vbCrLf & _
"「ホンキデイクゾ ゴルア!!!!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 5) + 3
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")

'自分の生死の判定
If nokori > 0 Then

GoTo You_livingAct2

Else

GoTo You_died
End

End If

End
0072名前は開発中のものです。02/01/28 02:30ID:mPt8rtel
>>66-71
いくらBASICだからって、VBでGOTO使わなくても…
0073名前は開発中のものです。02/01/28 02:39ID:Gl770+eW
たああああああああああああああああああああああのしいと思っているのですか?
アフォですかあなたは。
早く家に帰りなさい。

0074名前は開発中のものです。02/01/28 02:54ID:???
こういう長いのをうpする時には、途中はsage進行で
最後にageた方がいいぞ。
あがりっぱなしだとウザがられる事もあるからな。
0075名前は開発中のものです。1/202/01/29 00:02ID:???
'Microsoft Visual Basic 6.0(SP5)
'おにぎり追加
'Ver3
''レス71 2/2 の続き
'仲間を呼ぶ確率(1から6までの数値を取る)
Dim magisyan As Integer

'ギコを倒したときの処理
ENEMY_died:

MsgBox "ギコをやっつけた!"

nokori = 35

MsgBox "あなたのLVが上がった!" & vbCrLf & "" & vbCrLf & _
"HPがすべて回復した!" & vbCrLf & "HPの最大値が" & nokori & "になった!" _
& vbCrLf & "" & vbCrLf & "攻撃力が2あがった!!"
MsgBox "ROUND3 FIGHT!!"
'敵のHPの初期値設定
E_nokori = 30
slime = MsgBox("/■\" & vbCrLf & "(´∀` ∩" & vbCrLf & "" & vbCrLf & _
"おにぎりが、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)
'自分の攻撃
You_livingAct3:
MsgBox "あなたの攻撃!!「誰か真剣に削除依頼だしてくれよ。」" & vbCrLf & "" _
& vbCrLf & "■■■■■■■■■■■ 終了 ■■■■■■■■■■■"
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 3) + 4
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("/■\" & vbCrLf & "(´∀` ∩" & vbCrLf & "" & vbCrLf & _
"に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "/■\" & vbCrLf & "(´∀` ∩の 残HP " & E_nokori, , "戦闘中")
'敵の体力の判定
If E_nokori > 15 Then
GoTo Onigiri_living
Else
'おにぎりの残りHPが15以下のとき
If E_nokori <= 15 And E_nokori > 0 Then
GoTo Onigiri_Help
Else
GoTo Onigiri_died
End If
End If
'おにぎりのHPが16以上のとき
0076名前は開発中のものです。2/202/01/29 00:05ID:iGXUdj+v
Onigiri_living:

MsgBox "/■\" & vbCrLf & "(´∀` ∩の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「おにぎりワッショイ!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 3) + 3
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then
GoTo You_livingAct3
Else
GoTo You_died
End If
'おにぎりのHPが15以下のとき
Onigiri_Help:
MsgBox "/■\" & vbCrLf & "(´Д` ∩は仲間を呼んだ!!" & vbCrLf & "" & vbCrLf & _
"「タスケテー!!!!!」"
'乱数の初期化
Randomize
'1から6までの数値を取る
magisyan = Int(Rnd * 6) + 1
'50%の確率で仲間がくる
'数値が3より大きいとき
If magisyan > 3 Then
'焼きおにぎりの攻撃処理
MsgBox " __" & vbCrLf & "/:∵:\" & vbCrLf & "(∵´∀`∩焼きおにぎりがやってきた!!" _
& vbCrLf & "" & vbCrLf & _
"「オニギリワショーイ!!!!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = 13
'自分の状態
nokori = nokori - dameji
slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then
'自分のHPが1以上のとき
GoTo You_livingAct3
Else
GoTo You_died
End If
Else
'取り出した数値が3以下のとき。
MsgBox "しかし!助けは、こなかった・・・"
'ダメージを受けずに、自分のターンに行く
GoTo You_livingAct3
End If
Onigiri_died:
MsgBox "おにぎりをやっつけた!"
End
0077名前は開発中のものです。1/302/01/30 00:14ID:???
'Microsoft Visual Basic 6.0(SP5)
'モラ殿の追加
'Ver4
'自分が倒されたときのMsgBox処理変更
'連続攻撃のループ回数を格納する変数
Dim Renzoku As Integer


MsgBox "おにぎりをやっつけた!"

nokori = 50

MsgBox "あなたのLVが上がった!" & vbCrLf & "" & vbCrLf & "HPがすべて回復した!" _
& vbCrLf & "HPの最大値が" & nokori & "になった!" & vbCrLf & "" & vbCrLf & _
"攻撃力が2あがった!!"

MsgBox "FINALBATTLE FIGHT!!"
' 敵のHPの初期値設定
E_nokori = 45

slime = MsgBox("  ● " & vbCrLf & "∧((∧" & vbCrLf & "( ・∀・)" _
& vbCrLf & _
"モラ殿が、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)

You_livingAct4:

MsgBox "あなたの攻撃!!「どんな良スレもいずれ終りが来る」"
'
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 3) + 6
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("  ● " & vbCrLf & "∧((∧" & vbCrLf & "( ・∀・)" _
& vbCrLf & "" & vbCrLf & _
"モラ殿に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "  ● " & vbCrLf & "∧((∧" & vbCrLf & "( ・∀・)モラ殿の 残HP " _
& E_nokori, , "戦闘中")
0078名前は開発中のものです。1/302/01/30 00:17ID:???
'敵の生死の判定
If E_nokori > 0 Then

GoTo Tono_living

Else

GoTo Tono_died

End If

Tono_living:

'乱数の初期化
Randomize
'1から10までの数を取り出す
ghost = Int(Rnd * 10) + 1
'10を引いたとき(確率は10%)
If ghost > 9 Then

MsgBox "  ● " & vbCrLf & "∧((∧" & vbCrLf & _
"( ・∀・)モラ殿は用心棒を呼びつけた!!" & vbCrLf & "" & vbCrLf & _
"「一刀斎!そちの出番じゃ!」"
'ニギリ一刀斎の出現
MsgBox "\" & vbCrLf & "  \" & vbCrLf & "   X" & vbCrLf & "    ヾヽ" _
& vbCrLf & "     ヾ ヽ /■ヽ" & vbCrLf & "      \ (´∀` .)、" _
& vbCrLf & "       \ y ゞ ヽ" & vbCrLf & "         =∞=ゝゝ" _
& vbCrLf & "          丿ヽ  \" & vbCrLf & "          ヽ____ソ______ゝ" _
& vbCrLf & "          (Y_)   (Y_)" & "ニギリ一刀斎の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「そこのお前、もう少し気配を消す修練を積んだほうがいい。」"

'自分が受けたダメージ
dameji = 9999
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
0079名前は開発中のものです。3/302/01/30 00:18ID:yEwA5EvG
Else
'1-9を取り出すと、モラ殿の攻撃
MsgBox "  ● " & vbCrLf & "∧((∧" & vbCrLf & _
"( ・∀・)モラ殿の連続攻撃だ!!" & vbCrLf & "" & vbCrLf & _
"「うん、せいぜい頑張ってね。」"
'連続攻撃のループ処理
For Renzoku = 1 To 2
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 3) + 3
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")

Next Renzoku

End If
'自分の生死の判定
If nokori > 0 Then

GoTo You_livingAct4

Else

GoTo You_died

End If


Tono_died:
'エンディング
MsgBox "HAPPY END"

End
'自分が倒されたときの処理
You_died:

slime = MsgBox("あなたのスレは終了しました。(゚д゚)マズー", vbCritical, "GAMEOVER")

End
End Sub
0080名前は開発中のものです。02/01/30 00:23ID:yEwA5EvG
>>77
'追加
'モラ殿の攻撃を決める乱数値格納変数
Dim ghost As Integer
0081社長02/01/30 00:24ID:???
次はマップ移動処理ですな。
0082名前は開発中のものです。02/01/30 01:29ID:???
終わったら、これのバイナリもアップしてくれな。
0083名前は開発中のものです。02/01/30 06:57ID:???
ついでにクロスプラットフォームで
0084名前は開発中のものです。02/01/30 09:40ID:???
あぷろだは?
0085名前は開発中のものです。1/202/01/31 01:00ID:???
'Microsoft Visual Basic 6.0(SP5)
'戦闘にすばやさの要素を加える
'Ver5
'テストバトルモード

Private Sub Form_Load()
'自分のすばやさの数値を格納する変数
Dim Oosasori As Integer
'敵のすばやさの数値を格納する変数
Dim Gaikotsu As Integer
'攻撃を仕掛けるのはどちらか、判定値を格納する変数
Dim Madoushi As Integer

'すばやさの判定処理
'自分が敵よりすばやさが上の場合と
'敵が自分よりすばやさが上の場合
'自分はすばやさを 10 とする
'敵のすばやさは 5 とする

Oosasori = 65

Gaikotsu = 90

'すばやさを比較する

If Oosasori > Gaikotsu Then
'自分のすばやさが上だったときの処理へ
GoTo W_Subayasa

Else
'自分と敵のすばやさが同じだったときの処理
If Oosasori = Gaikotsu Then
'乱数の初期化
Randomize
Madoushi = Int(Rnd * 100) + 1
'50%の確率で自分が攻撃できる
If Madoushi > 50 Then

MsgBox "あなたの攻撃!"
'敵の攻撃処理へ
Else

MsgBox "敵の攻撃!"
'自分の攻撃処理へ
End If

End If

'ここのEndはテスト用
End

'敵のすばやさが上だったときの処理へ
GoTo L_Subayasa

End If
0086名前は開発中のものです。2/202/01/31 01:02ID:bylwudl/
W_Subayasa:
'乱数値が6-100を取り出したとき、あなたの攻撃が優先される
'確率は95%
'乱数の初期化
Randomize
Madoushi = Int(Rnd * 100) + 1

If Madoushi > 5 Then

MsgBox "あなたの攻撃!"

Else
'すばやさが上でも、残り5%の確率で敵が攻撃してくる
MsgBox "敵の攻撃!"

End If
'敵の攻撃の処理をなんか書く
End
L_Subayasa:

'乱数値が6-100を取り出したとき、敵の攻撃が優先される
'確率は95%
'乱数の初期化
Randomize
Madoushi = Int(Rnd * 100) + 1

If Madoushi > 5 Then

MsgBox "敵の攻撃!"

Else
'すばやさが上でも、残り5%の確率であなたが攻撃できる
MsgBox "あなたの攻撃!"

End If
'自分の攻撃の処理をなんか書く
End

End Sub
0087名前は開発中のものです。02/01/31 01:06ID:???
'訂正
'敵の素早さが自分より上の時は、
Oosasori = 5

Gaikotsu = 10
'自分の素早さが上の時は
Oosasori = 10

Gaikotsu = 5
'この数値は2ケタに設定したいとき
Oosasori = 65

Gaikotsu = 90
0088名前は開発中のものです。1/302/02/01 00:28ID:???
Private Sub Form_Load()
'Microsoft Visual Basic 6.0(SP5)
'Ver7
'武器、防具を手に入れることにより、戦闘の
'勝敗の確率をある程度ユーザーが操作できるようにする。
'この要素をとりいれることで、戦闘の有利、不利を
'意図的に楽しめることが可能となる。
'Ver6/テストバトルモード
'今回は、敵の防御力が自分の攻撃力を上回ることはないものとする。

'MsgBox格納変数
Dim Meda As Integer
'武器を手に入れたときの攻撃値を格納する変数
Dim Rikanto As Integer
'防具を手に入れたときの防御値を格納する変数
Dim Shiryou As Integer
'武器の初期値
Rikanto = 0
'防具の初期値
Shiryou = 0
'ダメージ値格納変数
Dim dameji As Integer
'残りHP格納変数
Dim nokori As Integer
'敵に与えたダメージ値格納変数
Dim E_dameji As Integer
'敵の残りHP格納変数
Dim E_nokori As Integer
'敵に与えたダメージに武器の攻撃値を加えた値を格納する変数
Dim M_dameji As Integer
'敵から受けたダメージから、防御力を引いた値を格納する変数
Dim G_dameji As Integer
'HPの初期値設定
nokori = 20
'敵のHPの初期値設定
E_nokori = 20
MsgBox "Let's スタート!"
MsgBox "あなたは、モナーの街にたどり着きました。"
Meda = MsgBox("武器を買うときは「はい」を、防具を買うときは「いいえ」を押してください。", vbYesNo, "モナーの街")
If Meda = vbYes Then
MsgBox "モナーの剣を買った!攻撃力が 3 上がった!"
Rikanto = Rikanto + 3
Else
MsgBox "モナーの鎧を買った!防御力が 3 上がった!"
Shiryou = Shiryou + 3
End If
Meda = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"が、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)
'自分が生きているときの処理
0089名前は開発中のものです。2/302/02/01 00:30ID:???
You_living:

MsgBox "あなたの攻撃!!「クソスレばっかり上がってるだろ?」"

'乱数の初期化
Randomize
'敵に与えた素のダメージ
E_dameji = Int(Rnd * 6) + 1
'さらに武器を加えた総合ダメージ
M_dameji = E_dameji + Rikanto
'敵の状態
E_nokori = E_nokori - M_dameji

slime = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"に" & M_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "ハァハァ(´Д`;)の 残HP " & E_nokori, , "戦闘中")
'敵の生死の判定
If E_nokori > 0 Then

GoTo E_living

Else

GoTo E_died

End If
'敵が生きていたときの処理
E_living:

MsgBox "ハァハァ(´Д`;)の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「あかりたん・・・ハァハァ」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 4) + 1
'自分が受けたダメージから、防御力の値を引く
G_dameji = dameji - Shiryou
'総合ダメージが 0 より下のとき(マイナスのとき)
If G_dameji <= 0 Then
'受けるダメージは 0 になる(ダメージを受けない)
G_dameji = 0

Else
'防御力の値を引いた残りの値(実際に受けるダメージ)
G_dameji = G_dameji

End If

0090名前は開発中のものです。3/302/02/01 00:31ID:???
'自分の状態
nokori = nokori - G_dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
G_dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then

GoTo You_living

Else

GoTo You_died
End

End If



'敵を倒したときの処理
E_died:

MsgBox "ハァハァ(´Д`;)を倒した!この世に平和が訪れた。" & _
vbCrLf & "" & vbCrLf & "HAPPY END"

End
'自分が倒されたときの処理
You_died:

MsgBox "あなたのスレは終了しました。(゚д゚)マズー"

End

End Sub
0091名前は開発中のものです。1/302/02/01 00:32ID:???
Private Sub Form_KeyPress(keyascii As Integer)

'Microsoft VisualBasic6.0(SP5)
'Ver8
'移動処理テスト
'Formに、ラベルを1つはる
'Formの大きさは、4785*1800
'そのラベルがテンキーの方向に移動する
'ラベルのオブジェクトは Label1 とする
'ラベルの大きさは、 495*375
'敵がランダムで出現する処理をテストで入れた
'右に動くと、ランダムで敵の出現
'移動に関して、テンキーの押しっぱなしも可能

'敵の出現条件格納変数
Dim A_Sasori As Integer
'座標の数を格納する変数
Dim hosuu As Integer
hosuu = 0


'Form_KeyPresssの、第一引数に代入する
Select Case keyascii
'第一引数に入れる値が、vbKey2 のとき
Case vbKey2

hosuu = Label1.Top

If hosuu >= 960 Then
'値が足されないから進まない
'つまり、キャラの動きを止める
Label1.Top = Label1.Top + 0


Else
Label1.Top = Label1.Top + 100
'100 加えて、Y座標を移動する

End If
'第一引数に入れる値が、vbKey6 のとき
Case vbKey6

'6 が押されたとき
'X座標の値を変数に入れる
hosuu = Label1.Left
'X座標が 4080 以上だったときの処理
If hosuu >= 4080 Then
'値が足されないから進まない
'つまり、キャラの動きを止める
Label1.Left = Label1.Left + 0
0092名前は開発中のものです。2/302/02/01 00:33ID:???
Else
'100 加えて、X座標を移動する
Label1.Left = Label1.Left + 100
'キャラ移動中に乱数の初期化
Randomize
'1-100の乱数値を取り出す
A_Sasori = Int(Rnd * 100) + 1
'10%の確率で敵を出現させる
If A_Sasori > 90 Then

MsgBox "荒らしがあらわれた!"

Else

End If
End If
'第一引数に入れる値が、vbKey4 のとき
Case vbKey4

hosuu = Label1.Left
'0 より低い座標のとき
If hosuu <= 0 Then
'引く値はないので、戻らない
Label1.Left = Label1.Left - 0

Else
'X座標から常に100 引く
Label1.Left = Label1.Left - 100

End If
'第一引数に入れる値が、vbKey8 のとき
Case vbKey8

hosuu = Label1.Top
'0 より低い座標のとき
If hosuu <= 0 Then
'引く値はないので、戻らない
Label1.Top = Label1.Top - 0

Else
'100 引いて、Y座標を移動する
Label1.Top = Label1.Top - 100

End If
End Select

End Sub
0093名前は開発中のものです。3/302/02/01 00:34ID:am0ZkQGt
Private Sub Form_Load()

'キャラクターをはじめに表示する座標
Label1.Left = 0
Label1.Top = 0


End Sub
0094名前は開発中のものです。02/02/01 01:45ID:Zv95eDhl
ぷよぷよやぱっくまん、確かに良くできているが、残念な点がいくつか。
・冗長な処理がいくつかある
・コンパイラ警告が頻発@gcc
・ANSI-Cに従っていない

7行スレの名物コテハンのトリッキーの1は、
そういうスキの一切ないプログラムを書くから恐ろしい。
最終的に6行にしたオセロや、7行マインスイーパを参考に、
是非是非書き直して、あの感動をもう一度味わせてください(笑)

トリッキーの1、このスレに来ないかなぁ。
0095馬糞ウニげろげろ02/02/01 01:58ID:???
!!VP1.0
# c[ 0- 3]
# c[ 4- 7]
# c[ 8-11]
# c[32].x
# c[33].xyz
# c[33].w
DP4 R0.x,c[ 0],v[OPOS];
DP4 R0.y,c[ 1],v[OPOS];
DP4 R0.z,c[ 2],v[OPOS];
DP4 R0.w,c[ 3],v[OPOS];
ADD R2.xyz,c[33],-R0;
DP3 R2.w,R2,R2;
RCP R2.w,R2.w;
MUL R2,R2,R2.w;
MUL R2,R2,c[34].x;
ADD R0.xyz,R0,R2;
DP4 o[HPOS].x,c[ 4],R0;
DP4 o[HPOS].y,c[ 5],R0;
DP4 o[HPOS].z,c[ 6],R0;
DP4 o[HPOS].w,c[ 7],R0;
DP3 R1.x,c[ 8],v[NRML];
DP3 R1.y,c[ 9],v[NRML];
DP3 R1.z,c[10],v[NRML];
DP3 R1.w,R1,R1;
RSQ R1.w,R1.w;
MUL R1.xyz,R1,R1.w;
MOV R2.xy,R1.z;
MOV R2.w,c[32].x;
LIT R2,R2;
MOV o[COL0].xyz,R2.y;
MOV o[COL1].xyz,R2.z;
DP3 R0.w,R0,R0;
RSQ R0.w,R0.w;
MUL R0,R0,R0.w;
DP3 R2.w,R0,R1;
ADD R2.w,R2.w,R2.w;
MAD R2.xyz,R1,-R2.w,R2;
MOV o[TEX0].xy,R2;
END
0096馬糞ウニげろげろ02/02/01 01:59ID:???
!!VSP1.0
# v[ 0].xyz
# v[ 0].w
# c[ 0- 3]
# c[33].xyz
# c[33].w
MOV R0.xyz,v[0];
SGE R0.w,R0.w,R0.w;
DP4 R1.x,c[ 0],R0;
DP4 R1.y,c[ 1],R0;
DP4 R1.z,c[ 2],R0;
MOV R1.w,v[0].w;
MOV c[33],R1;
END
0097名前は開発中のものです。02/02/01 04:55ID:???
おい、そこの「馬糞ウニげろげろ」。
ちょっとこっち来いや。もっとうまいアセンブラコードがこっちにあるぜ。
http://www.ugtop.com/spill.shtml

0098名前は開発中のものです。02/02/02 06:31ID:???
▼゚Д。▼カフッ▼゚Д。▼カフッ
0099名前は開発中のものです。02/02/02 10:20ID:???
#include <stdlib.h>
#include <time.h>
#include <curses.h>
char b[36];int p[16],t;WINDOW *w;
disp_board(int t){int i;for(i=0;i<16;i++){if(p[i]==15)sprintf(b," ");else sprintf(b,"%2d",p[i]+1);
mvwaddstr(w,2*(i/4)+2,3*(i%4)+4,b);}sprintf(b,"%d Step",t); mvwaddstr(w,3,44,b);}
getspc(){int i;for(i=0;i<16;i++)if(p[i]==15)return i;return -1;}
init_game(){int i,x;initscr();noecho();cbreak();w=newwin(LINES,COLS-1,0,0);srand(time(NULL));
for(i=0;i<4;i++){mvwaddstr(w,i*2+1,3,"+--+--+--+--+");
mvwaddstr(w,i*2+2,3,"| | | | |");}mvwaddstr(w,9,3,"+--+--+--+--+");for(i=0;i<16;i++)p[i]=i;t=0;
while(t<160){x=getspc();switch(rand()%4){case 0:if(x/4)move_panel(x,x-4);break;
case 1:if((x/4)!=3)move_panel(x,x+4);break;case 2:if((x%4)!=3)move_panel(x,x+1);break;
case 3:if(x%4)move_panel(x,x-1);break;}}t=0;disp_board(t);}
move_panel(int d, int s){int i;p[d]=p[s];p[s]=15;t++;
if(s==15){for(i=0;i<16;i++)if(p[i]!=i)return 0;return 1;}return 0;}
int main(void){char r;int i,c,e=0,f=0;init_game();wrefresh(w);t=0;
while(!e){c=getspc();r=wgetch(w);f=0;switch(r){case 'x':case 'j':case '2':
if(c/4)f=move_panel(c,c-4);break;case 'e':case 'k':case '8':if((c/4)!=3)f=move_panel(c,c+4);break;
case 's':case 'h':case '4':if((c%4)!=3)f=move_panel(c,c+1);break;case 'd':case 'l':case '6':
if(c%4)f=move_panel(c,c-1);break;case 'q':case 0x1b:e=1;sleep(5);break;}disp_board(t);wrefresh(w);
if(f){mvwaddstr(w,14,43,"Cleared !!");wrefresh(w);sleep(10);break;}}wclear(w);wrefresh(w);endwin();return 0;}
01009902/02/02 10:25ID:GSAKw8sm
このソースは15パズルです。
テンキー、vi、wordstar のいずれでも操作できます。
35, 43の作者とは別人ですが、
自分もcurses環境(ちなみにcygwin)で作りました。

ちなみに自動的に解法を表示するとかいう機能はありません。
(今月号のCマガによるとかなり面倒らしい)

ついでに100ゲットズサー。
0101名前は開発中のものです。02/02/02 13:23ID:???
//あるマスの移動コストの計算
void CalculateMoveCostASquare(int type, int move, int sx, int sy)
{
int lp, xx, yy, min, cost;

//範囲外
if(sx < 0 || sx >= MAP_X || sy < 0 || sy >= MAP_Y)
return;

//進入不可能
cost = m_movecost[type][m_mapchipatb[m_mapchipset * MAPCHIPMAX + m_map_geo[sy][sx] ].atb];
if(cost == -1
|| m_map_magic[sy][sx].kind == GM_SANCTUARY)
return;

//一番少なく進入出来るところをチェック
xx = sx + 1; yy = sy;
min = 999999;
for(lp = 0; lp < 4; lp ++) {
if(xx >= 0 && xx < MAP_X && yy >= 0 && yy < MAP_Y) {
if(mgm_move_cost[yy][xx] != -1 && mgm_move_cost[yy][xx] < min)
min = mgm_move_cost[yy][xx];
}
xx += cpu_dx[lp];
yy += cpu_dy[lp];
}
//ここには進入できない
if(min == 999999 || cost + min > move)
return;

if((mgm_move_cost[sy][sx] == -1 || cost + min < mgm_move_cost[sy][sx])
&& (m_map_unit[sy][sx] == UNITMAX
|| (CheckBelong(m_unit[m_map_unit[sy][sx]].belong, m_unit[mgm_unit].belong) == TRUE
|| (type == MT_FLYING && m_unit[m_map_unit[sy][sx]].movetype != MT_FLYING))))
mgm_move_cost[sy][sx] = cost + min;
else
return;

if(m_map_unit[sy][sx] == UNITMAX)
m_map_chk[sy][sx] = 0;

CalculateMoveCostASquare(type, move, sx + 1, sy);
CalculateMoveCostASquare(type, move, sx - 1, sy);
CalculateMoveCostASquare(type, move, sx, sy + 1);
CalculateMoveCostASquare(type, move, sx, sy - 1);

return;
}
010210102/02/02 13:25ID:???
捻りの無い駄目ソースをウプ
0103名前は開発中のものです。02/02/11 12:28ID:???
0104名前は開発中のものです。02/02/12 11:26ID:???
ブロックの無いブロック崩しなんだけど
もうちょっとソース絞れませんか?
http://isweb38.infoseek.co.jp/computer/honten1/dat/omega0028.lzh
0105名前は開発中のものです。02/02/12 14:06ID:???
>>104
403になるぞ
ファイルもう無いのか?
0106名前は開発中のものです。02/02/12 14:25ID:???
これならどーだ
http://isweb34.infoseek.co.jp/computer/leftwall/pingpong2.lzh
0107名前は開発中のものです。02/02/12 14:48ID:???
>>106
またもや403
iswebってファイルの直リンできるのか?
0108名前は開発中のものです。02/02/12 16:11ID:???
今度はこれで
http://isweb34.infoseek.co.jp/computer/leftwall/index.html
0109名前は開発中のものです。1/302/02/17 01:08ID:???
'Microsoft Visual Basic 6.0(SP5)
'Formに、ラベルとコマンドボタンとタイマーを設置する
'ラベルのオブジェクトは、label1とする
'コマンドボタンのオブジェクトは、Command1とする
'タイマーのオブジェクトは、Timer1とする
Option Explicit
'全ての文字を表示したか判定するフラグ
Public Stoneman As Boolean

Private Sub Command1_Click()
'タイマーイベント発動
Timer1.Enabled = True
'200間隔
Timer1.Interval = 200
'タイマーイベントプロシージャの呼び出し
Call Timer1_Timer

End Sub

Private Sub Form_Load()
'フラグ初期値は偽に設定する
Stoneman = False

End Sub
'タイマーイベントでどんなことをさせるのか?の処理
Private Sub Timer1_Timer()
'文章の型を決める変数
Static golem(4) As String
'配列に、格納する文章数を格納する変数
Static D_Andy As Integer
'取り出していない残りの文字数を格納する変数
Static t As Integer
'Mid関数で取り出した文字を保持しておく変数
Static D_Madou As String
'Len関数にて、取り出した全体の文字数を格納する変数
Dim Dragon As Integer
0110名前は開発中のものです。2/302/02/17 01:10ID:???
golem(0) = "レッド「本当は何を知りたい?俺が後悔しているかどうか、か?」"
golem(1) = "レッド「・・・後悔しなかった日は一日とてないよ。こうなった事をじゃない。当時の自分を振り返って言うんだ」"
golem(2) = "レッド「・・・ヤツに言ってやりたい。バカをするなと言ってやりたい。世の中の事を教えたい・・・でも、出来ない」"
golem(3) = "レッド「ガキの頃の俺は遠くに去り、残ったのは老いぼれの自分だ」"
golem(4) = "レッド「時間は戻らない」"
'Len関数で、全体の文字数を取得
Dragon = Len(golem(D_Andy))
'1文字ずつ取るから、1ずつ値を増やす
t = t + 1
'Mid関数で、どの文字を取得するか設定する
D_Madou = D_Madou + Mid(golem(D_Andy), Dragon - (Dragon - t), 1)
'取り出した文字を保持しつつ、表示する
Label1.Caption = D_Madou
'増減値が、全体の文字数を超えたとき
If Dragon < t Then
'増減値をゼロにもどす
t = 0
'保持している文字をクリアする
D_Madou = ""
'全ての文字を表示したので、フラグを真に
Stoneman = True
'一つの配列の文が終わるたび、配列の値を1増やす
D_Andy = D_Andy + 1
'配列の数が設定した値を超えたときのエラ−防止処理
If D_Andy > 4 Then
'初めの配列の値に戻す
D_Andy = 0

End If
'タイマーイベントを止めるかどうかの
'判定プロシージャへ行く
Call Hantei

End If

End Sub
0111名前は開発中のものです。3/302/02/17 01:11ID:???
'タイマーイベントを止めるかどうかの判定処理
Private Sub Hantei()
'フラグが真の時
If Stoneman = True Then
'タイマーイベント終了
Timer1.Enabled = False

End If

End Sub
0112名前は開発中のものです。02/02/17 01:16ID:kh4ENDqz
'「ファミコン探偵倶楽部」みたいな、一文字ずつ表示するプログラムです。
'ユーザに、一文字ずつ目で追わせることで、より文章を読ませるような効果があると
'思います。
'APIとか使えば、もっとすごいと思いますが、ボクは知りません。
'だから、今までクソの役にも立たんと思っていた、Mid関数やLen関数を使いました。
'それをタイマーイベントと組み合わせると、こんなことができるとは思いませんでした。
'仕事中に関係ないことしてて、職場のみなさんごめんなさい。
'そして、文字列処理系関数、今までナメてました。ごめんなさい・・・そして、ありがとう。
0113名前は開発中のものです。02/04/12 14:58ID:???
0114名前は開発中のものです。02/04/19 00:21ID:Xvr/0hME
>>8-12 のソースハケーン
http://www.nara-edu.ac.jp/~asait/open_gl/opengl.htm
0115名前は開発中のものです。02/04/28 10:29ID:???
sage
0116名前は開発中のものです。02/06/27 03:59ID:???
ageというか。
0117名前は開発中のものです。02/06/27 04:02ID:???
>>116 この後、どうするつもり?
0118名前は開発中のものです。02/06/27 06:27ID:???
http://www.otafuku.co.jp/skatei/IMG/100113.JPG
意味も無くソースを上げてみる。
0119名前は開発中のものです。02/06/27 06:41ID:4.aWgtjA
 ⌒ \/ | | -t- |   十_” | | 十  十
 ─ ∠_   ノ  し   〜′ | ー  し |  O  十
                             | \
                  、、、, ,、,
                 /二二二\
                  /_____ヽ
                 /_______ヽ
               /___/____|
               | <∩>ハ<∩>|
       >(°)    |二二二二二二二 |
         (⌒/   |/WWWWWWヽ|
          〃    \MMMMMM/
        / ̄ ̄ヽ_/\_____/ \_/ ̄\
0120xxx.h no.102/07/28 15:24ID:???
#if !defined (__PDT10APIHDR_H__)
#include <windows.h>
struct PictureInfo {
long left,top; //画像を展開する位置
long width; //画像の幅(pixel)
long height; //画像の高さ(pixel)
WORD x_density; //画素の水平方向密度
WORD y_density; //画素の垂直方向密度
short colorDepth; //1画素当たりのbit数
HLOCAL hInfo; //画像内のテキスト情報
};
struct PDT10 {
char type[8];
DWORD size;
int width;
int height;
int pos_w;
int pos_h;
int more_comp_adrs;
};
typedef PDT10 PDT,* PPDT;
#if defined _DEBUG
void DbgDump(int x)
{
char buf[32];

wsprintf(buf, "%x", x);

MessageBox(NULL, buf, "debug", MB_OK);
}
0121xxx.h no.202/07/28 15:25ID:???
void DbgDump(char* dump_string)
{
char str[64];

memcpy(str, dump_string, 63);
str[63] = '\0';

MessageBox(NULL, str, "debug", MB_OK);
}

inline void CHECK()
{
MessageBox(NULL, "check", "check", MB_OK);
}

#else
0122xxx.h no.302/07/28 15:26ID:???
#define DbgDump(x) ;
#define CHECK() ;

#endif //_DEBUG

extern "C" int __stdcall GetPluginInfo(int infono, LPSTR buf, int buflen);

extern "C" int __stdcall IsSupported(char* filename, DWORD dw);

extern "C" int __stdcall GetPictureInfo(LPSTR buf, long len, unsigned int flag, PictureInfo *lpInfo);

extern "C" int __stdcall GetPicture(LPSTR buf, long len,unsigned flag, HANDLE* pHBInfo, HANDLE* pHBm,
FARPROC lpPrgressCallback(int, int, long), long lData);

extern "C" int __stdcall GetPreview(LPSTR buf, long len, unsigned int flag,
HANDLE* pHBInfo, HANDLE* pHBm,
FARPROC lpPrgressCallback(int, int, long), long lData);
0123xxx.h no.402/07/28 15:26ID:???
class CFile {
HANDLE file;

public:

CFile() : file(NULL)
{
}

~CFile()
{
close();
}
0124xxx.h no.502/07/28 15:27ID:???
BOOL open(char* name)
{
close();

if(name) {
file = CreateFile(name, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL |
FILE_FLAG_SEQUENTIAL_SCAN, NULL);

if(file != INVALID_HANDLE_VALUE) {
return (TRUE);
}
}

file = NULL;
return (FALSE);
}
0125xxx.h no.602/07/28 15:27ID:???

void close()
{
if(file) {
CloseHandle(file);
file = NULL;
}
}

BOOL read(void* buf, DWORD read_bytes, DWORD* read)
{
if(buf && read_bytes && read && file) {
if(ReadFile(file, buf, read_bytes, read, NULL)) {
if(*read == read_bytes) {
return (TRUE);
}
}
}

return (FALSE);
}
0126xxx.h no.702/07/28 15:28ID:???
void seek(long pos, int start_pos = FILE_BEGIN)
{
if(file) SetFilePointer(file, pos, NULL, start_pos);
}
};
class memory {
DWORD* m;
public:
memory() : m( NULL )
{
}
0127申し訳ありません…02/07/28 15:30ID:???
ここまで書いておいてアク禁が怖くなりました…
別の所にファイルをうpします…
0128上げますた02/07/28 15:39ID:???
Susieプラグイン用のVisualArtsの画像読み出しプラグインソースです。
ttp://kari.to/upload/source/d/2249.rar
0129おもしろいものが02/08/12 16:53ID:???
見たいのでage第二段。
0130名前は開発中のものです。02/08/12 17:28ID:???
見たい見たいと騒ぐだけで何も作らないクレクレ厨が発生したので sage。 
0131名前は開発中のものです。02/09/25 00:34ID:???
保守さげ
0132名前は開発中のものです。02/09/27 00:43ID:44wKNrFG
VBコードは全面禁止あげ。
0133Hikky!02/09/27 01:09ID:ZS9NwitR
class Hikky :public Human<NotNation> {}; //引き篭もりは義務を守らぬ(非国民)
0134名前は開発中のものです。02/09/27 01:24ID:???
そりゃ設計が根本的に違わないか?
0135名前は開発中のものです。02/09/30 22:05ID:???
板専用のアップローダがあるのでこのスレってあんまり意味なくない?
関数単位だとちょうどいいかもしれないけど
0136名前は開発中のものです。02/10/13 16:14ID:???
10行でゲームつくってくれ。
0137名前は開発中のものです。02/10/13 21:01ID:???
>>136
7行スレで頼めば?
0138名前は開発中のものです。02/10/13 21:05ID:???
たのむことにしまつ! 優しい人、ありがとう!
0139名前は開発中のものです。02/10/13 21:59ID:???
涙ぐましい努力と言うかー

バレないようにと言うかー

自作自演でしたと言うかー

何故あげる必要があるかー

コラァァァァァァァァァー
0140名前は開発中のものです。02/12/06 20:11ID:Ppy2/Myo
#define WX      200 ; ウィンドウサイズX
#define WY      200 ; ウィンドウサイズY
#define CH_SIZE 16  ; キャラサイズ
#define CH_MOVE 2   ; キャラ移動量
#define BL_NUM  3   ; ブロック数
x=0     ; キャラ座標X
y=0     ; キャラ座標Y
int key ; 取得キー

dim blocks,4,BL_NUM
; blocks.(0=左上X 1=左上Y 2=右下X 3=右下Y).ブロック番号
blocks.0.0 = 60 ,70 ,80 ,90
blocks.0.1 = 100,100,120,120
blocks.0.2 = 160,20 ,180,40

screen 0,WX,WY

; メインループ
repeat
        gosub *keyproc
        gosub *draw
        gosub *checkcol
        wait 1
loop
0141名前は開発中のものです。02/12/06 20:12ID:Ppy2/Myo
; キー処理
*keyproc
        stick key,15
        if key&1 : x-=CH_MOVE : if x<0 : x=0
        if key&2 : y-=CH_MOVE : if y<0 : y=0
        if key&4 : x+=CH_MOVE : if x>(WX-CH_SIZE) : x=WX-CH_SIZE
        if key&8 : y+=CH_MOVE : if y>(WY-CH_SIZE) : y=WY-CH_SIZE
        return

; 描画
*draw
        redraw 0
        color 0,0,0 : boxf

        ; ブロックの描画
        color 255,255,255
        repeat BL_NUM
                dup bl,blocks.0.cnt
                boxf bl.0,bl.1,bl.2,bl.3
        loop

        ; 自キャラの描画
        color 255,255,255
        pos x,y : mes "●"

        redraw 1
        return
0142名前は開発中のものです。02/12/06 20:12ID:Ppy2/Myo
; 衝突のチェック
*checkcol
        f=0
        repeat BL_NUM
                dup bl,blocks.0.cnt
                if (x>(bl.0-CH_SIZE))&(y>(bl.1-CH_SIZE))&(x<=bl.2)&(y<=bl.3) {
                        title "hit on block no."+cnt
                        f=1
                }
        loop

        if f=0 : title ""
        return
0143名前は開発中のものです。02/12/06 22:32ID:vk4K4iZT
せめて、どうやると動くのかとか、何をするものなのかとか書けよ。
0144名前は開発中のものです。02/12/07 09:22ID:BdMzOWkW
何の言語?
生サブルーチンっぽいけど
0145名前は開発中のものです。02/12/07 10:56ID:VzMuB+uR
HSPスレですな
0146名前は開発中のものです。03/03/23 22:24ID:kd2Gsmbv
0147名前は開発中のものです。03/03/23 22:24ID:OQVN1+uH
0148 ◆ZKHHHUdUik 03/03/28 20:17ID:RYw3rvnK
0149わらゑなゐをとこ03/04/03 03:05ID:zD2zCrgP
μηκο УАЯО ∫НΙΝЕ !
あなた達の為に ΕΡ∫ΟΝ情報科学∫ΕΝΜΟΝ学校からラッシュで カムバックしてきたわョ!
イエス、イエス、イエッス
この∫ΕΝΜΟΝが来たからには ジャスト安心よ!
あなたの良く知る∫ΕΝΜΟΝΒΑΚΑだよ! ユゥノゥ?
・・・ああ 子供たち 私の最後の言葉をきいとくれ
∫ΕΝΜΟΝ ΒΑΚΑ ΚΟЯΟ∫∪!
お前のフェイスは ベリーベリーベリー ファニーだね フールだね ダムンだね!
お前の天然のウザさを例えるに 戦闘帰りに上機嫌で鼻歌歌ってたらダークに紛れて鼻の穴にダイブしてくる蚊柱のよう!
お前なんて今すぐどうにかなってしまい
世田羊イヒ
 介大   の為に・・・
これが私の最後の言葉! くれぐれもプロミスを守って・・・
0150名前は開発中のものです。03/05/04 03:21ID:iH6iw/kZ
漏れのつくったタスク機構の簡易なサンプル
class mytask : public Task<mytask> {
public:
 mytask(int i) { m_i = i; }
protected:
 void Main() {
  cout << "maintask1_" << m_i << endl;
  ChangeTask( Main2 );
  Main2();
 }
 void Main2() {
  cout << "maintask2_" << m_i << endl;
  m_i++;
  if(m_i > 3) { Finish(); } else { ChangeTask( Main ); }
 }
 int m_i;
};
int _tmain(int argc, _TCHAR* argv[]) {
 TaskManager man;
 man.AddTask(new mytask(1));
 for(int i=0;i<10;i++) { man.Run(); }
 return 0;
}
/// 出力結果 ///
maintask1_1
maintask2_1
maintask1_2
maintask2_2
maintask1_3
maintask2_3
015115003/05/04 04:09ID:iH6iw/kZ
// mytaskのprotectedブロック内の各タスクルーチンは
// 趣旨を分かりやすくするため以下のように変更
protected:
 void Main() { cout << "init" << endl;
  ChangeTask( Status1 );
 }
 void Status1() { cout << "status1_" << m_i << endl;
  ChangeTask( Status2 );
 }
 void Status2() { cout << "status2_" << m_i << endl;
  m_i++;
  if(m_i > 3) { Finish(); } else { ChangeTask( Status1 ); }
 }
/// 出力結果 ///
init
status1_1
status2_1
status1_2
status2_2
status1_3
status2_3
0152名前は開発中のものです。03/05/04 07:08ID:pYycFS9z
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0153名前は開発中のものです。03/09/03 12:53ID:IK3CS3R8
例えば、ここに開発中断したゲームのソース上げたら、
引き継いでくれる人って出そうですか?
いま真剣に考えてるんで。

もちろん絵や音は新規に作ってもらうことになるので、
負担は大きいでしょうけど。
■ このスレッドは過去ログ倉庫に格納されています