スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Dxruby談:サイドビュー自動戦闘システムの紹介その壱(オブジェクト未使用版)

今日は珍しく、プログラミングの内容となりますっ・・・
なぜこれを起稿したかと言うと、そもそも私の使っているゲーム製作言語がRuby、ましてや Dxruby を使っていて、それが全くちんぷんかんぷんな方が多く、敷居が高すぎるからです。

そこで今日は一例として、「Dxruby でこんななことできるよー」的に話を進めていきます。

※コードを利用される方へ、残念ならがコードは全てのインデントが外れているかと思います。
ですので整形してからお使い下さい。

最後のものだけPastebinでのリンクを貼りましたのでお使い下さい。

①まず1対1を作ろう。

A:用意するもの

・一枚のテキストファイル
・簡単なコマ送りする画像

・一枚のテキストファイルの名前は main.rbとでもします。(.rbが拡張子)

B:まずは一人のコマ送りの画像を表示させよう

用意される画像は、このようなものです。
base1.png
この画像の、一番から三番までのキャラクタをコマ送りで表示させるとします。
まず考える事は
 ・1回に描写する大きさは 32*32 (正方形) にする
 ・一番目、二番目、三番目と順に画像を表示する為に表示範囲をずらす
 ・繰り返し処理をつけて常に画像を循環させる。
以下をまとめたコードは次のように書けます。


#! ruby -Ku
require "kconv"
require_relative "dxruby"
#これを実行でゲームスタート

@b_time = 0 #コマ送りの時間
@b_x = 100 #表示X始点座標
@b_y = 100 #表示y始点座標
@image = Image.loadTiles('chara/battle/base/base1.png', 3,10) #画像のリンク。ここでは横が3個分、縦が10個分と認識する。

Window.loop do #ループを起こす為の記述

if @b_time >= 120
@b_time = 0 #最初に戻る
Window.draw(@b_x, @b_y, @image[0] ) #一番左上の画像表示
elsif @b_time <= 119 and @b_time >= 90
Window.draw(@b_x, @b_y, @image[0] ) #一番左上の画像表示
@b_time += 2

elsif @b_time <= 89 and @b_time >= 60
Window.draw(@b_x, @b_y, @image[1] ) #一番左上から横に一個分ずれたの画像表示
@b_time += 2

elsif @b_time <= 59 and @b_time >= 30
Window.draw(@b_x, @b_y, @image[2] ) #一番左上から横に二個分ずれたの画像表示
@b_time += 2

elsif @b_time <= 29
Window.draw(@b_x, @b_y, @image[1] ) #一番左上から横に一個分ずれたの画像表示
@b_time += 2 #一フレームに+2画像時間を足す。
end
end
#さあ、実行!!



実際、これを起動するとこうなります。

motion1.png

人のようなものが手足をぶらぶらさせているとおもいます。
これが最も標準な、コマ送り表示の仕方だと思います。

ではもうひとり加えて、それぞれが違う動作で動くようにしたいですね。
次のようにします。



#! ruby -Ku
require "kconv"
require_relative "dxruby"
#これを実行でゲームスタート

@b_time = [0,0] #コマ送りの時間 を、二人分の箱を作る。
@b_x = [100,100] #表示X始点座標 を、二人分の箱を作る。
@b_y = [100,300] #表示y始点座標 を、二人分の箱を作る。
@image = Image.loadTiles('chara/battle/base/base1.png', 3,10) #画像のリンク。ここでは横が3個分、縦が10個分と認識する。
@motion = [0,1] どのモーションを行うか を、二人分の箱を作る。


Window.loop do #ループを起こす為の記述

@how_many_humans = 0

until @how_many_humans == 2
case @motion[@how_many_humans]
when 0 #待機
if @b_time[@how_many_humans] >= 120
@b_time[@how_many_humans] = 0 #最初に戻る
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[0] ) #Aさん一番左上の画像表示
elsif @b_time[@how_many_humans] <= 119 and @b_time[@how_many_humans] >= 90
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[0] ) #一番左上の画像表示
@b_time[@how_many_humans] += 2

elsif @b_time[@how_many_humans] <= 89 and @b_time[@how_many_humans] >= 60
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[1] ) #一番左上から横に一個分ずれたの画像表示
@b_time[@how_many_humans] += 2

elsif @b_time[@how_many_humans] <= 59 and @b_time[@how_many_humans] >= 30
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[2] ) #一番左上から横に二個分ずれたの画像表示
@b_time[@how_many_humans] += 2

elsif @b_time[@how_many_humans] <= 29
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[1] ) #一番左上から横に一個分ずれたの画像表示
@b_time[@how_many_humans] += 2 #一フレームに+2画像時間を足す。
end
when 1 #移動
if @b_time[@how_many_humans] >= 120
@b_time[@how_many_humans] = 0
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[3] )
elsif @b_time[@how_many_humans] <= 119 and @b_time[@how_many_humans] >= 90
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[3] )
@b_time[@how_many_humans] += 2

elsif @b_time[@how_many_humans] <= 89 and @b_time[@how_many_humans] >= 60
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[4] )
@b_time[@how_many_humans] += 2

elsif @b_time[@how_many_humans] <= 59 and @b_time[@how_many_humans] >= 30
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[5] )
@b_time[@how_many_humans] += 2

elsif @b_time[@how_many_humans] <= 29
Window.draw(@b_x[@how_many_humans], @b_y[@how_many_humans], @image[4] )
@b_time[@how_many_humans] += 2
end
end
@how_many_humans += 1
end
end
#さあ、実行!!




@b_time = [0,0] <=箱のような記述が出てきました。これを配列と言います。
平たくいえば、二つの箱があってそのそれぞれに値を入れているといったものです。

@how_many_humans <=今回はこの変数が鍵になります。すなわち、通称「俺のターン!」です。

until @how_many_humans == 2 <=繰り返し文です。ここでは二人を表示するので2となります。
end 前に インクリメントは忘れずに・・・

結果、こうなりました。

motion2.png

二人が違う行動をしながらコマ送りで表示されています。

上記を応用すれば下のような事ができます。定義のところ(init)と繰り返し文も
@b_time = [0,10,20,40,60,80,100,110]
@b_x = [100,150,200,250,300,350,400,450]
@b_y = [100,150,200,250,300,350,400,450]
@motion = [0,1,0,1,0,1,0,1]
until @how_many_humans == @motion.length
としてと変えます。すると・・・

motion3.png

④チーム戦ぽく配置する
ただ、上の画像ではまだ戦闘に活かせそうにありません。そもそも、対戦の時はお互い向い合って、並んでいるものですから。なので変える所があります。
そしてチーム戦という事を考慮したいので、結果こうします。
A:二次配列で定義
@b_time = [[0,10,20,40,60,80,100,110],[0,10,20,40,60,80,100,110]]
@b_x = [[100,150,200,250,300,350,400,450],[450,400,350,300,250,200,150,100]]
@b_y = [[100,150,200,250,300,350,400,450],[100,150,200,250,300,350,400,450]]
@motion = [[0,1,0,1,0,1,0,1],[1,0,1,0,1,0,1,0]]
2つ箱の中それぞれにに5箱を入れた感じです。
B: @side = 0 <=通称「ダークサイドorホワイトサイド」 です。
C: until の中に until を。気をつけなければならないのはここでして、

@side = 0
@how_many_humans = 0
until @side == 2
@how_many_humans = 0
until @how_many_humans == @motion[0].length
#some coard
@how_many_humans += 1
end
@side += 1
end



抜けがあるともれなく固まるor 誰か表示されない となります。

C:
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[1] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
非常に長くなりました。これはなにかというと、Window.draw_scale は画像の反転、拡張縮小処理のできる表示メソッドです。つまり、それぞれ意味を見ると、
1.x座標
2.y座標
3.表示する画像
4.画像の拡張向きの処理。これを 1 から -1 にすると反転とみなされます。
5と6,画像の中央点を決めます。
7.z座標。特に理由がなければ1でよし。
これらも全て2次元配列を呼び出すよう、 [][] という表記をします。

結果、こうなりました。



#! ruby -Ku
require "kconv"
require_relative "dxruby"
#これを実行でゲームスタート

@b_time = [[0,10,20,40,60,80,100,110],[0,10,20,40,60,80,100,110]] #コマ送りの時間 を、10人分の箱を作る。
@b_x = [[100,150,200,250,300,350,400,450],[450,400,350,300,250,200,150,100]] #表示X始点座標 を、10人分の箱を作る。
@b_y = [[100,150,200,250,300,350,400,450],[100,150,200,250,300,350,400,450]] #表示Y始点座標 を、10人分の箱を作る。

@image = Image.loadTiles('chara/battle/base/base1.png', 3,10) #画像のリンク。ここでは横が3個分、縦が10個分と認識する。
@motion = [[0,1,0,1,0,1,0,1],[1,0,1,0,1,0,1,0]] #どのモーションを行うか を、10人分の箱を作る。


Window.loop do #ループを起こす為の記述

@side = 0
@how_many_humans = 0

until @side == 2
@how_many_humans = 0
until @how_many_humans == @motion[0].length
case @motion[@side][@how_many_humans]
when 0 #待機
if @b_time[@side][@how_many_humans] >= 120
@b_time[@side][@how_many_humans] = 0 #最初に戻る
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[0] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上の画像表示
elsif @b_time[@side][@how_many_humans] <= 119 and @b_time[@side][@how_many_humans] >= 90
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[0] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上の画像表示
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 89 and @b_time[@side][@how_many_humans] >= 60
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[1] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上から横に一個分ずれたの画像表示
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 59 and @b_time[@side][@how_many_humans] >= 30
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[2] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上から横に二個分ずれたの画像表示
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 29
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[1] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上から横に一個分ずれたの画像表示
@b_time[@side][@how_many_humans] += 2 #一フレームに+2画像時間を足す。
end
when 1 #移動
if @b_time[@side][@how_many_humans] >= 120
@b_time[@side][@how_many_humans] = 0
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[3] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
elsif @b_time[@side][@how_many_humans] <= 119 and @b_time[@side][@how_many_humans] >= 90
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[3] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 89 and @b_time[@side][@how_many_humans] >= 60
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[4] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 59 and @b_time[@side][@how_many_humans] >= 30
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[5] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 29
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[4] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2
end
end
@how_many_humans += 1
end
@side += 1
end
end
#さあ、実行!!




画像がこちらです。
motion4.png

もはやカオスですね。


ここまでできて、まず表示の部が終わりとなります。これを、実際に一人が何かの為に飛び出して行動をするシステムを最後に作っていきます。


とはいってもコードだけですが・・・・まずはコピペで再現していただければと思います。



#! ruby -Ku
require "kconv"
require_relative "dxruby"
#これを実行でゲームスタート

@b_time = [[0,10,20,40,60,80,100,110],[0,10,20,40,60,80,100,110]] #コマ送りの時間 を、10人分の箱を作る。
@b_x = [[100,100,100,100,100,100,100,100],[540,540,540,540,540,540,540,540]] #表示X始点座標 を、10人分の箱を作る。
@b_y = [[100,150,200,250,300,350,400,450],[100,150,200,250,300,350,400,450]] #表示Y始点座標 を、10人分の箱を作る。

@b_sx = [[100,100,100,100,100,100,100,100],[540,540,540,540,540,540,540,540]] #表示X始点座標 を、10人分の箱を作る。
@b_sy = [[100,150,200,250,300,350,400,450],[100,150,200,250,300,350,400,450]] #表示Y始点座標 を、10人分の箱を作る。


@image = Image.loadTiles('chara/battle/base/base1.png', 3,10) #画像のリンク。ここでは横が3個分、縦が10個分と認識する。
@b_motion = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]
@b_motioned = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]

@b_wtime = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]
@b_doskill = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]

@b_time = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]
@b_stats = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]
@b_speed = [[5,10,15,20,25,30,35,40],[2,6,12,24,26,33,38,45]]

@side = 0
@how_many_humans = 0

Window.loop do #ループを起こす為の記述

#タイムラインシステム
if @b_doskill.all?{|a| a == [0,0,0,0,0,0,0,0] }
@how_many_humans = 0
until @how_many_humans == @b_motion[0].length
@b_stats[0][@how_many_humans] += @b_speed[0][@how_many_humans]
@b_stats[0][@how_many_humans].floor
@how_many_humans += 1
end

@how_many_humans = 0

until @how_many_humans == @b_motion[0].length
@b_stats[1][@how_many_humans] += @b_speed[1][@how_many_humans]
@b_stats[1][@how_many_humans].floor
@how_many_humans += 1
end
end


#行動システム
@side , @how_many_humans = 0 , 0
until @side == 2
@how_many_humans = 0
until @how_many_humans == @b_motion[0].length
ok = 0
ok = 1 if @b_stats[@side][@how_many_humans] >= 400
if ok != 1
@b_motion[@side][@how_many_humans] = 0

elsif ok == 1

if @b_wtime[@side][@how_many_humans] == 0
@b_doskill[@side][@how_many_humans] = 2

elsif @b_wtime[@side][@how_many_humans] > 20 and @b_wtime[@side][@how_many_humans] <= 40

@b_x[@side][@how_many_humans] += 25 if @side == 0 and @b_x[@side][@how_many_humans] <= @b_x[@side - 1][@how_many_humans]
@b_x[@side][@how_many_humans] -= 25 if @side == 1 and @b_x[@side][@how_many_humans] >= @b_x[@side - 1][@how_many_humans]

@b_motion[@side][@how_many_humans] = 1

elsif @b_wtime[@side][@how_many_humans] > 40 and @b_wtime[@side][@how_many_humans] <= 60

@b_x[@side][@how_many_humans] += -20 if @side == 0 and @b_x[@side][@how_many_humans] <= @b_x[@side - 1][@how_many_humans]
@b_x[@side][@how_many_humans] -= -20 if @side == 1 and @b_x[@side][@how_many_humans] >= @b_x[@side - 1][@how_many_humans]

@b_motion[@side][@how_many_humans] = 1

elsif @b_wtime[@side][@how_many_humans] > 60 and @b_wtime[@side][@how_many_humans] <= 80

@b_x[@side][@how_many_humans] += -40 if @side == 0 and @b_x[@side][@how_many_humans] >= @b_sx[@side][@how_many_humans]
@b_x[@side][@how_many_humans] -= -40 if @side == 1 and @b_x[@side][@how_many_humans] <= @b_sx[@side][@how_many_humans]

@b_motion[@side][@how_many_humans] = 1

elsif @b_wtime[@side][@how_many_humans] >= 80
@b_doskill[@side][@how_many_humans] = 0
@b_motion[@side][@how_many_humans] = 0
@b_wtime[@side][@how_many_humans] = -1
@b_stats[@side][@how_many_humans] = -100
end
@b_wtime[@side][@how_many_humans] += 1
end
@how_many_humans += 1
end
@side += 1
end

#ミスク
@side = 0
@how_many_humans = 0

until @side == 2
@how_many_humans = 0
until @how_many_humans == @b_motion[0].length
#もーしょん時間リセット
@b_time[@side][@how_many_humans] = 0 if @b_motioned[@side][@how_many_humans] != @b_motion[@side][@how_many_humans]
# 画面外対策
@b_x[@side][@how_many_humans] = 0 if @b_x[@side][@how_many_humans] < 0
@b_x[@side][@how_many_humans] = 640 if @b_x[@side][@how_many_humans] > 640
@how_many_humans += 1
end
@side += 1
end

#表示システム
@side = 0
@how_many_humans = 0

until @side == 2
@how_many_humans = 0
until @how_many_humans == @b_motion[0].length
case @b_motion[@side][@how_many_humans]
when 0 #待機
@b_motioned[@side][@how_many_humans] = @b_motion[@side][@how_many_humans]
if @b_time[@side][@how_many_humans] >= 120
@b_time[@side][@how_many_humans] = 0 #最初に戻る
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[0] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上の画像表示
elsif @b_time[@side][@how_many_humans] <= 119 and @b_time[@side][@how_many_humans] >= 90
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[0] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上の画像表示
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 89 and @b_time[@side][@how_many_humans] >= 60
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[1] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上から横に一個分ずれたの画像表示
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 59 and @b_time[@side][@how_many_humans] >= 30
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[2] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上から横に二個分ずれたの画像表示
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 29
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[1] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1) #一番左上から横に一個分ずれたの画像表示
@b_time[@side][@how_many_humans] += 2 #一フレームに+2画像時間を足す。
end
when 1 #移動
@b_motioned[@side][@how_many_humans] = @b_motion[@side][@how_many_humans]
if @b_time[@side][@how_many_humans] >= 120
@b_time[@side][@how_many_humans] = 0
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[3] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
elsif @b_time[@side][@how_many_humans] <= 119 and @b_time[@side][@how_many_humans] >= 90
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[3] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 89 and @b_time[@side][@how_many_humans] >= 60
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[4] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 59 and @b_time[@side][@how_many_humans] >= 30
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[5] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2

elsif @b_time[@side][@how_many_humans] <= 29
Window.draw_scale(@side == 0 ? @b_x[@side][@how_many_humans] - 32 : @b_x[@side][@how_many_humans], @b_y[@side][@how_many_humans], @image[4] ,@side == 0 ? 1 : -1 ,1 , 16 ,16 , 1)
@b_time[@side][@how_many_humans] += 2
end
end
@how_many_humans += 1
end
@side += 1
end
end
#さあ、実行!!



動画があればより説明しやすいのですが。つまりは一人もしくは時間帯のあった同士が前にでては戻るの繰り返しを行っていきます。永遠とそれです。

以上で簡単ですが、今回のサイドビュー自動戦闘システムの紹介について1回終わります。これにちゃんと各キャラに体力と攻撃力を設け、ランダム性を付けるだけでも一つ見て楽しめるものとはなるでしょう。

お約束。最後にコードリンクです。
http://pastebin.com/ww5BMtVQ

ご視聴、ありがとうございました!

ここまで書いて思ったこと、指摘を受けたこと

「オブジェクト指向で書いた方がいい」
「もっとエレガントに!!」


そこで、次回は、オブジェクト指向を使い、かつわかりやすく改造されたコードを紹介しますー!
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。