したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

1901御茶目菜子:2014/02/16(日) 00:00:21
バレンタインゲーム(続き)
昨晩書いたプチコン用「バレンタインゲーム」のプログラムリストはこんな感じにょ。

@START
ACLS:GCLS 15:CLEAR:H=8
BGMPLAY 26
C=12:S=4:X=16:Y=16
M$="バレンタイン↓??ゲ-ム↓":GOSUB @GPUT
C=1:S=2
M$="↓アナタノ ナマエ↓ (6モジマデ)↓?":GOSUB @GPUT
M$="":GOSUB @NAME:N$=M$
FOR I=1TO LEN(N$)
 A=ASC(MID$(N$,I-1,1))
 V=V+A/I:W=W+A/I/2
NEXT
FOR I=1TO 3
 GOSUB @RND:A(I)=R+9
NEXT
A(0)=A(2)
BGMPLAY 12

@MAIN
GCLS 15
GOSUB @PRINT
FOR I=0 TO 1
 B=BTRIG()
 Z=(B==16)+(B==32)*2+(B==64)*3+(B==128)*4
 I=Z
NEXT
IF Z==4THEN A(0)=A(2):BEEP 5:G=0
IF G THEN GOSUB @NO:GOTO @MAIN
GOSUB @RND
IF Z<4THEN U=R:GOSUB @RND:A(0)=A(0)-R-U:IF A(0)>0THEN A(Z)=A(Z)+R:BEEP 7
IF A(0)<1 THEN GOSUB @SICK
H=H+1
IF H<28THEN @MAIN

BGMSTOP 0,2.5
FOR I=0TO 191
GLINE 0,I,255,I,3
WAIT 1
NEXT
BGMPLAY 20
C=11:X=24:Y=80
M$="バレンタイン トウジツ"
GOSUB @GPUT
WAIT 99
GCLS 3
VD=0OR(A(1)*A(1)+POW(A(2),2.5)/20+A(3)*50)*A(3)/9999
FOR I=1TO VD
 X=RND(120)+50:Y=RND(100)+20
 P=RND(30)+30:Q=RND(30)+30
 C=RND(32)+32:R=RND(32)+32
 GFILL X,Y,X+P,Y+Q,C
 GFILL X+P/2.5-4,Y,X+P/2.5+4,Y+Q,R
 GFILL X,Y+Q/2.5-4,X+P,Y+Q/2.5+4,R
 M$="スキデスダイスキアイシテル"
 T$="@S"+STR$(RND(2)*2+5)+"@E"+STR$(RND(8)+8)+"@N"+STR$(RND(99)*9+1999)+MID$(M$,RND(3)*5,5)
 TALK T$
 WAIT 60
NEXT

WAIT 60:BEEP 64-!VD*58
C=11:S=4:X=0:Y=16
M$=N$+" ハ↓チョコ ヲ↓↓↓ モラッタ!"
GOSUB @GPUT
C=15:X=64:Y=96
M$=STR$(VD)+" コ"
GOSUB @GPUT
C=5:X=61:Y=93
GOSUB @GPUT
LINPUT A$:GOTO @START

@GPUT
FOR I=0 TO LEN(M$)-1
 A=ASC(MID$(M$,I,1))
 IF A==31THEN X=0:Y=Y+S*8 ELSE GPUTCHR X,Y,"BGF",A,C,S:X=X+S*8
NEXT
RETURN

@NAME
C=13:X=16:P=0
K$=INKEY$()
K=KEYBOARD
B=BTRIG()
GFILL 16,128,255,143,15
GOSUB @GPUT
IF K==15 OR B==128 THEN P=M$!=""
IF (K==60 OR B==16)*(M$!="") THEN RETURN
M$=LEFT$(M$+K$,6*!P+(LEN(M$)-1)*P)
WAIT 1
GOTO @NAME

@PRINT
C=12:X=0:Y=0:M$=N$+"↓"
GOSUB @GPUT
M$=STR$(0OR H/2-(H>25)*12)+"ガツ:"+MID$("ゼンハンコウハン",H%2*5,5)+"↓↓"
C=11:GOSUB @GPUT

M$="チリョク??タイリョク??ヨウシ↓"
C=5:GOSUB @GPUT
FOR??I=0 TO 3
 A$=STR$(A(I))
 A$(I)="0"*(3-LEN(A$))+A$
NEXT
M$=A$(1)+"????/"+A$(2)+" "+A$(3)
C=5:GOSUB @GPUT
C=5+G*8:X=80:Y=64
M$=A$(0):GOSUB @GPUT
M$="↓↓A ベンキョウ↓B ウンドウ↓X オシャレ↓Y ヤスム↓"
C=8:GOSUB @GPUT
C=1:M$="ドウスル?":GOSUB @GPUT
RETURN

@NO
C=13
M$="↓??ソレハ デキマセン !"
GOSUB @GPUT
BEEP 4
WAIT 30
RETURN

@SICK
C=13
M$="↓アナタハ ビョウキニ ナッタ!"
GOSUB @GPUT
BEEP 34
WAIT 120
G=1:A(0)=0:A(2)=0OR(A(2)*0.8)+2
RETURN

@RND
W=(W+0.1)%1.1:V=(V*117+W)%1:R=0OR V*7+1
RETURN

さすがに3時間程度で作ったゲームであるため無駄な部分が多いにょ。
こうやって見るとリスト短縮ができるところだらけにょ(笑)
基本的にはこのプチコン版はポケコン版と同じ内容でプチコンの画面にちょうど収まるように
すべての文字を拡大しているにょ。
まぁ簡易表示ルーチン(サブルーチン@GPUT)によってこれは簡単に実現されているけどね。
あとは基本的にプログラムそのものはポケコン版を参考にせずプチコンで作りやすいように
作っていったにょ。(まったく同じに作ればめちゃくちゃ簡単だったけどそれだとあまりに
画面がスカスカになってしまう)
計算式のみはポケコン版のものとほぼ同一にしているにょ。
こうすることでバランス調整の手間を省けるためにょ。
とはいえ、ポケコン版より1ターン少ないし、overflow対策で値を小さくしているためもらえる
チョコの数はポケコン版よりも少ないにょ。(たった20ターンのゲームなので慣れたら1回の
プレイは1〜2分で終了できるため繰り返しプレイは容易)
私がプレイした感じだとこんな感じにょ。

 チョコ20個以上 ・・・・ 超モテモテ
 チョコ15〜19個 ・・・・ モテモテ
 チョコ 8〜14個 ・・・・ 普通
 チョコ 0〜 7個 ・・・・ もう少しがんばりましょう

サイトの方で正式公開するならばもう少しまともなプログラムにしてからにょ。
ネタゲームなのでまぁ公開することもないと思うけどね(笑)




掲示板管理者へ連絡 無料レンタル掲示板