이 강의는 MPPC (미소녀 & PocketPC)Pure Ani에게 저작권이 있습니다.

이번에는 선택지를 추가해보겠습니다.


이 게임의 선택지는 이런 구조로 되어있습니다.

중요한건 [link target="라벨"]문장[endlink]겠군요.

코딩해보겠습니다.

  elsif ($line =~ /^\[link target=\"\*(\S*)\"\](\S*)\[endlink\]\[r\]$/)
# 만일 라인에 [link target="*(문자)"]문자2[endlink][r]이 존재할경우, 문자는 변수$1에, 문자2는 변수$2에 넣는다.
  {
   print OUT "select \"".$2."\",\*".$file."_".$1;
# select "문자2",*파일명_문자 를 작성한다.
# 기존의 라벨명 앞에 파일명을 붙이기로 했기때문에 여기서도 붙입니다.
  }
  elsif ($line =~ /^\[link target=\"\*(\S*)\"\](\S*)\[endlink\]$/)
# 만일 라인에 [link target="*(문자)"]문자2[endlink]가 존재할경우, 문자는 변수$1에, 문자2는 변수$2에 넣는다.
  {
   print OUT ",\"".$2."\",\*".$file."_".$1."\n";
# ,"문자2",*파일명_문자 를 작성한다.
  }


위의 코드대로 작성을 하면 위의 이미지처럼 변경이 됩니다.

이것의 경우 선택지가 최대 2개라 이렇게가 가능하지만, 3개이상일 경우는 직접 여러가지 방법으로 구현해야합니다.

선택지가 나왔으니, 이 게임에서의 라벨별 이동방법을 살펴보았습니다.


[jump target=라벨]로 이동하는군요.

그리고 아래의 [feel ~]은 호감도입니다.

그럼 코딩해보겠습니다.

  elsif ($line =~ /^\[jump target=\*(\S*)\]$/)
# 만일 라인에 [jump target=*문자]가 존재할 경우, 문자를 변수 $1에 넣는다.
  {
   print OUT "goto \*".$file."_".$1."\n";
# goto *파일명_문자 를 작성한다.
  }
  elsif ($line =~ /^\[feel (\w)\+100\]$/)
# 만일 라인에 [feel 영문자+100]가 존재할경우 영문자를 변수 $1에 넣는다.
  {
   if ($1 =~ /m/)
# 만일 변수 $1에 m이 존재한다면..
   {
    print OUT "add %fm,1\n";
# add %fm,1 을 작성한다.
# $fm은 m에 해당하는 캐릭터의 호감도 수치를 나타내는 변수로 사용할겁니다.
   }
   elsif ($1 =~ /z/)
   {
    print OUT "add %fz,1\n";
   }
   elsif ($1 =~ /s/)
   {
    print OUT "add %fs,1\n"
   }
  }

이렇게 해서 실행을 해보면 이렇게 변환이 됩니다.


작성자 Pure Ani
출 처 MPPC (미소녀 & PocketPC)
Posted by Pure Ani

RE:D Cherish! -Eternity Blood- CRYSTALiA

放課後シンデレラ2 HOOKSOFT

花鐘カナデ*グラム NanaWind

フタマタ恋愛 ASa Project

スタディ§ステディ2 ま~まれぇど

リンパにATATA! ~メス牡蠣ミルクどぴゅらっしゅ~ Hending

創作彼女の恋愛公式 Aino+Links

流星ワールドアクター Heliodor

Secret Agent~騎士学園の忍びなるもの~ ensemble

天冥のコンキスタ エウシュリー

HaremKingdom -ハーレムキングダム- SMEE

ラズベリーキューブ まどそふと

ノラと皇女と野良猫ハート2 -Nora, Princess, and Crying Cat.- HARUKAZE

『ノラと皇女と野良猫ハート2』応援中♪

ピュアソングガーデン PULLTOP

はにデビ! Honey&Devil eufonie

姫繰三六五 HIMEKURI365

姫繰三六五 公式ウェブサイト

はるるみなもに! クロシェット

死に逝く君、館に芽吹く憎悪 バグシステム

Sanguinea-サングイネア- すにぃる

麗華の館 しすたーそふと

カスタムメイドオンライン KISS