Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a44094757 | ||
|
|
ee82c35364 |
95
janken.wb
Normal file
95
janken.wb
Normal file
@@ -0,0 +1,95 @@
|
||||
100 rem じゃんけんゲーム for ワンべぇ
|
||||
110 rem Nov.6,2000 by autumn
|
||||
200 T=40 'waitvbする長さ
|
||||
900 randomize tick
|
||||
1000 cls
|
||||
1010 print " ■ ■ ■"
|
||||
1020 print " ■ ■ ■ ■"
|
||||
1030 print " ■ ■ ■"
|
||||
1040 print " ■ ■■ ■ ■■ ■"
|
||||
1050 print " ■ ■ ■ ■"
|
||||
1060 print " ■ ■ ■■■ ■"
|
||||
1070 print " ■ ■■ ■ ■ ■ ■"
|
||||
1080 print " ■ ■■ ■ ■■■ ■"
|
||||
1090 print " ■ ■■ ■ ■ ■ ■"
|
||||
1100 print " ■ ■ ■ ■■ ■ ■ ■"
|
||||
1110 print " ■ ■ ■■■ ■ ■ ■■"
|
||||
1120 print " ■ ■■ ■ ■ ■ ■"
|
||||
1130 print " ■■■■■ ■ ■ ■■■"
|
||||
1140 print " ■■ ■ ■"
|
||||
1200 waitvb T
|
||||
2000 cls
|
||||
2010 print " ■ ■"
|
||||
2020 print " ■ ■ ■"
|
||||
2030 print " ■ ■ ■"
|
||||
2040 print " ■■ ■ ■"
|
||||
2050 print " ■ ■■■■■■■ ■"
|
||||
2060 print " ■ ■■■■ ■"
|
||||
2070 print " ■ ■ ■■■ ■"
|
||||
2080 print " ■ ■ ■■■■ ■"
|
||||
2090 print " ■ ■ ■ ■ ■"
|
||||
2100 print " ■ ■ ■ ■■ ■"
|
||||
2110 print " ■ ■ ■ ■ ■"
|
||||
2120 print " ■ ■ ■ ■ ■■"
|
||||
2130 print " ■ ■■ ■ ■■■"
|
||||
2140 print " ■ ■"
|
||||
2200 waitvb T
|
||||
3000 a=rnd(3)
|
||||
3010 goto 4000+(a*1000)
|
||||
4000 cls
|
||||
4010 print " ■"
|
||||
4020 print " ■ ■ ■■■■■■"
|
||||
4030 print " ■■ ■ ■■■■"
|
||||
4040 print " ■■ ■ ■"
|
||||
4050 print " ■■ ■"
|
||||
4060 print " ■ ■ ■■■■■"
|
||||
4070 print " ■ ■■■■■■■"
|
||||
4080 print " ■■ ■ ■■"
|
||||
4090 print " ■■ ■■"
|
||||
4100 print " ■■ ■■"
|
||||
4110 print " ■■ ■■"
|
||||
4120 print " ■ ■"
|
||||
4130 print " ■■ ■■"
|
||||
4140 print " ■■ ■■■"
|
||||
4150 print " ■■ ■■■"
|
||||
4160 print " ■"
|
||||
4200 goto 7000
|
||||
5000 cls
|
||||
5010 print " ■"
|
||||
5020 print " ■ ■"
|
||||
5030 print " ■ ■ ■"
|
||||
5040 print " ■ ■■ ■■■■■■"
|
||||
5050 print "■■■■■ ■ ■■ ■"
|
||||
5060 print " ■ ■ ■ ■■"
|
||||
5070 print " ■ ■ ■■■■■■"
|
||||
5080 print " ■ ■■■ ■■ ■"
|
||||
5090 print " ■■■■■ ■ ■"
|
||||
5100 print " ■■ ■ ■ ■■■■■"
|
||||
5110 print "■■ ■ ■ ■■ ■"
|
||||
5120 print "■ ■ ■■■■ ■"
|
||||
5130 print " ■ ■ ■■■ ■"
|
||||
5140 print " ■■■ ■ ■ ■ ■■"
|
||||
5150 print " ■■■ ■■ ■■■■"
|
||||
5160 print " ■■■"
|
||||
5200 goto 7000
|
||||
6000 cls
|
||||
6010 print " ■■■ ■"
|
||||
6020 print " ■ ■■■ ■ ■"
|
||||
6030 print " ■ ■ ■ ■ ■"
|
||||
6040 print " ■ ■ ■ ■■■■■■■"
|
||||
6050 print " ■ ■■■■■■■ ■■■ ■"
|
||||
6060 print " ■■ ■■■■■ ■ ■"
|
||||
6070 print " ■ ■ ■■■■■"
|
||||
6080 print " ■ ■ ■■■■■■"
|
||||
6090 print " ■ ■ ■■ ■ ■"
|
||||
6100 print " ■ ■ ■■ ■ ■ ■"
|
||||
6110 print " ■ ■■■■ ■ ■■ ■"
|
||||
6120 print " ■ ■■ ■■ ■ ■■ ■"
|
||||
6130 print " ■ ■ ■■■ ■ ■ ■"
|
||||
6140 print " ■■ ■■■ ■ ■ ■■■ ■■"
|
||||
6150 print " ■■ ■■ ■■■"
|
||||
6160 print " ■"
|
||||
7000 locate 0,16:print " **PUSH START TO EXIT**";
|
||||
7010 locate 0,17:print "**ANOTHER BUTTON TO AGAIN**";
|
||||
7100 d=wait
|
||||
7200 goto 1000
|
||||
78
shoot.wb
Normal file
78
shoot.wb
Normal file
@@ -0,0 +1,78 @@
|
||||
1000 rem シューティング by ワンべぇ
|
||||
1005 rem Nov.7,2000 by autumn
|
||||
1010 rem a,b 自機座標
|
||||
1020 rem c,d 自ミサイル座標
|
||||
1030 rem e,f 敵座標
|
||||
1040 rem @(n*2*0),@(n*2+1) 敵ミサイル座標(nは0~7)
|
||||
1050 rem g ミサイル生成カウンタ
|
||||
1060 rem h ミサイル生成タイミングカウンタ
|
||||
2000 rem 座標の初期化
|
||||
2010 a=14:b=16
|
||||
2020 c=-1:d=-1
|
||||
2030 e=15:f=2
|
||||
2040 for i=0 to 7:@(i*2)=-1:@(i*2+1)=-1:next
|
||||
2050 g=0:h=0
|
||||
3000 rem 開始を待つ
|
||||
3010 cls
|
||||
3020 locate 3,6:print "PUSH BUTTON TO START"
|
||||
3030 locate 3,10:print " (NOT START BUTTON)"
|
||||
3040 z=wait
|
||||
3050 cls:locate 10,8:print "GO!";
|
||||
3060 waitvb 30
|
||||
4000 rem 表示を更新
|
||||
4010 cls
|
||||
4020 locate a,b:print "▲";
|
||||
4030 locate e,f:print "▼";
|
||||
4040 if c>=0 then locate c,d:print "|";
|
||||
4050 for i=0 to 7
|
||||
4060 if @(i*2)>=0 then locate @(i*2),@(i*2+1):print "*"
|
||||
4070 next
|
||||
5000 rem 当たり判定
|
||||
5010 if (c=e)and(d=f) then goto 8000 '自ミサイルが命中・勝利
|
||||
5020 for i=0 to 7
|
||||
5030 if (a=@(i*2))and(b=@(i*2+1)) then goto 9000 '敵ミサイルが命中・敗北
|
||||
5040 next
|
||||
6000 rem 敵移動処理
|
||||
6010 r=rnd(2)
|
||||
6020 if (r=0)and(e<26) then e=e+1
|
||||
6030 if (r<>0)and(e>0) then e=e-1
|
||||
6100 rem 敵ミサイル移動処理
|
||||
6110 for i=0 to 7
|
||||
6120 @(i*2+1)=@(i*2+1)+1
|
||||
6130 if @(i*2+1)>16 then @(i*2)=-1:@(i*2+1)=-1
|
||||
6140 next
|
||||
6200 rem 敵ミサイル生成処理
|
||||
6210 h=h+1
|
||||
6220 if h>3 then h=0
|
||||
6230 if h<>0 then goto 6300
|
||||
6240 @(g*2)=e:@(g*2+1)=f+1 '新しいミサイル
|
||||
6250 g=g+1:if g>7 then g=0
|
||||
6300 rem 自機移動処理
|
||||
6310 s=scan
|
||||
6320 if s and scan_x2 then if a<26 then a=a+1
|
||||
6330 if s and scan_x4 then if a>0 then a=a-1
|
||||
6400 rem 自ミサイル移動処理
|
||||
6410 if c>=0 then d=d-1:if d<0 then c=-1:d=-1
|
||||
6500 rem 自ミサイル発射処理
|
||||
6510 if s and scan_a then if c<0 then c=a:d=b-1
|
||||
6800 waitvb 3
|
||||
6900 goto 4000
|
||||
8000 rem 勝利
|
||||
8010 X=e:Y=f:gosub 10000
|
||||
8020 locate 10,10:print "YOU WIN!"
|
||||
8030 goto 9500
|
||||
9000 rem 敗北
|
||||
9010 X=a:Y=b:gosub 10000
|
||||
9020 locate 10,10:print "YOU LOSE..."
|
||||
9500 locate 0,12:print "PUSH START BUTTON TO EXIT"
|
||||
9510 locate 0,13:print " ANOTHER IS AGAIN"
|
||||
9520 z=wait
|
||||
9900 goto 2000
|
||||
10000 rem 爆発表現
|
||||
10010 for i=0 to 9
|
||||
10020 locate X,Y:print "+";
|
||||
10030 waitvb 10
|
||||
10040 locate X,Y:print "×";
|
||||
10050 waitvb 10
|
||||
10060 next
|
||||
10090 return
|
||||
171
wonbe.c
171
wonbe.c
@@ -18,7 +18,7 @@
|
||||
#include "win32text.h"
|
||||
#endif
|
||||
|
||||
char myVersion[] = "0.01";
|
||||
char myVersion[] = "0.03";
|
||||
|
||||
#ifdef WW
|
||||
#define MEMMOVE mymemmove
|
||||
@@ -163,7 +163,6 @@ KEYWORDITEM keywords[] = {
|
||||
{ KEYWORD_OR,"or" },
|
||||
{ KEYWORD_XOR,"xor" },
|
||||
{ KEYWORD_NOT,"not" },
|
||||
{ KEYWORD_SCAN,"scan" },
|
||||
{ KEYWORD_WAIT,"wait" },
|
||||
{ KEYWORD_RND,"rnd" },
|
||||
{ KEYWORD_ABS,"abs" },
|
||||
@@ -178,6 +177,7 @@ KEYWORDITEM keywords[] = {
|
||||
{ KEYWORD_SCAN_Y2,"scan_y2" },
|
||||
{ KEYWORD_SCAN_Y3,"scan_y3" },
|
||||
{ KEYWORD_SCAN_Y4,"scan_y4" },
|
||||
{ KEYWORD_SCAN,"scan" }, /* scanはscna_Xより後になければならない */
|
||||
{ KEYWORD_THEN,"then" },
|
||||
{ KEYWORD_CHR,"chr" },
|
||||
{ KEYWORD_TO,"to" },
|
||||
@@ -795,7 +795,7 @@ SHORT calcValue()
|
||||
return -1;
|
||||
}
|
||||
|
||||
SHORT expr()
|
||||
SHORT expr4th()
|
||||
{
|
||||
SHORT acc;
|
||||
acc = calcValue();
|
||||
@@ -808,12 +808,6 @@ SHORT expr()
|
||||
if( ch != ' ' && ch != '\t' ) break;
|
||||
}
|
||||
switch( ch ) {
|
||||
case '+':
|
||||
acc = acc + calcValue();
|
||||
break;
|
||||
case '-':
|
||||
acc = acc - calcValue();
|
||||
break;
|
||||
case '*':
|
||||
acc = acc * calcValue();
|
||||
break;
|
||||
@@ -828,15 +822,54 @@ SHORT expr()
|
||||
}
|
||||
}
|
||||
break;
|
||||
case KEYWORD_AND:
|
||||
acc = acc & calcValue();
|
||||
default:
|
||||
executionPointer--; /* unget it */
|
||||
return acc;
|
||||
}
|
||||
if( bForceToReturnSuper ) return -1;
|
||||
}
|
||||
}
|
||||
|
||||
SHORT expr3nd()
|
||||
{
|
||||
SHORT acc;
|
||||
acc = expr4th();
|
||||
if( bForceToReturnSuper ) return -1;
|
||||
|
||||
while( TRUE ) {
|
||||
BYTE ch;
|
||||
while( TRUE ) {
|
||||
ch = *executionPointer++;
|
||||
if( ch != ' ' && ch != '\t' ) break;
|
||||
}
|
||||
switch( ch ) {
|
||||
case '+':
|
||||
acc = acc + expr4th();
|
||||
break;
|
||||
case KEYWORD_OR:
|
||||
acc = acc | calcValue();
|
||||
break;
|
||||
case KEYWORD_XOR:
|
||||
acc = acc ^ calcValue();
|
||||
case '-':
|
||||
acc = acc - expr4th();
|
||||
break;
|
||||
default:
|
||||
executionPointer--; /* unget it */
|
||||
return acc;
|
||||
}
|
||||
if( bForceToReturnSuper ) return -1;
|
||||
}
|
||||
}
|
||||
|
||||
SHORT expr2nd()
|
||||
{
|
||||
SHORT acc;
|
||||
acc = expr3nd();
|
||||
if( bForceToReturnSuper ) return -1;
|
||||
|
||||
while( TRUE ) {
|
||||
BYTE ch;
|
||||
while( TRUE ) {
|
||||
ch = *executionPointer++;
|
||||
if( ch != ' ' && ch != '\t' ) break;
|
||||
}
|
||||
switch( ch ) {
|
||||
case '>':
|
||||
{
|
||||
BYTE ch2;
|
||||
@@ -845,10 +878,12 @@ SHORT expr()
|
||||
if( ch2 != ' ' && ch2 != '\t' ) break;
|
||||
}
|
||||
if( ch2 == '=' ) {
|
||||
acc = (acc >= calcValue());
|
||||
acc = (acc >= expr3nd());
|
||||
if( acc != 0 ) acc = -1;
|
||||
} else {
|
||||
executionPointer--;
|
||||
acc = (acc > calcValue());
|
||||
acc = (acc > expr3nd());
|
||||
if( acc != 0 ) acc = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -860,17 +895,51 @@ SHORT expr()
|
||||
if( ch2 != ' ' && ch2 != '\t' ) break;
|
||||
}
|
||||
if( ch2 == '=' ) {
|
||||
acc = (acc <= calcValue());
|
||||
acc = (acc <= expr3nd());
|
||||
if( acc != 0 ) acc = -1;
|
||||
} else if( ch2 == '>' ) {
|
||||
acc = (acc != calcValue());
|
||||
acc = (acc != expr3nd());
|
||||
if( acc != 0 ) acc = -1;
|
||||
} else {
|
||||
executionPointer--;
|
||||
acc = (acc < calcValue());
|
||||
acc = (acc < expr3nd());
|
||||
if( acc != 0 ) acc = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case '=':
|
||||
acc = (acc == calcValue());
|
||||
acc = (acc == expr3nd());
|
||||
if( acc != 0 ) acc = -1;
|
||||
break;
|
||||
default:
|
||||
executionPointer--; /* unget it */
|
||||
return acc;
|
||||
}
|
||||
if( bForceToReturnSuper ) return -1;
|
||||
}
|
||||
}
|
||||
|
||||
SHORT expr()
|
||||
{
|
||||
SHORT acc;
|
||||
acc = expr2nd();
|
||||
if( bForceToReturnSuper ) return -1;
|
||||
|
||||
while( TRUE ) {
|
||||
BYTE ch;
|
||||
while( TRUE ) {
|
||||
ch = *executionPointer++;
|
||||
if( ch != ' ' && ch != '\t' ) break;
|
||||
}
|
||||
switch( ch ) {
|
||||
case KEYWORD_AND:
|
||||
acc = acc & expr2nd();
|
||||
break;
|
||||
case KEYWORD_OR:
|
||||
acc = acc | expr2nd();
|
||||
break;
|
||||
case KEYWORD_XOR:
|
||||
acc = acc ^ expr2nd();
|
||||
break;
|
||||
default:
|
||||
executionPointer--; /* unget it */
|
||||
@@ -982,7 +1051,7 @@ void printOrDebug( BOOL bPrint )
|
||||
break;
|
||||
default:
|
||||
{
|
||||
WORD val;
|
||||
SHORT val;
|
||||
#ifdef WW
|
||||
static
|
||||
#endif
|
||||
@@ -1183,6 +1252,20 @@ void st_next()
|
||||
}
|
||||
/* count step and loop again */
|
||||
*(stacks[stackPointer-1].pvar) += stacks[stackPointer-1].step;
|
||||
/* counter overflow? */
|
||||
if( stacks[stackPointer-1].step > 0 ) {
|
||||
if( stacks[stackPointer-1].limit < *(stacks[stackPointer-1].pvar) ) {
|
||||
/* loop done */
|
||||
stackPointer--;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if( stacks[stackPointer-1].limit > *(stacks[stackPointer-1].pvar) ) {
|
||||
/* loop done */
|
||||
stackPointer--;
|
||||
return;
|
||||
}
|
||||
}
|
||||
executionPointer = stacks[stackPointer-1].returnPointer;
|
||||
}
|
||||
|
||||
@@ -1456,7 +1539,7 @@ void editLine()
|
||||
delta = from-target;
|
||||
MEMMOVE( target, from, (WORD)(dataTop-(from-wa)) );
|
||||
dataTop -= delta;
|
||||
clearRuntimeInfo();
|
||||
/*clearRuntimeInfo();*/
|
||||
} else {
|
||||
WORD len;
|
||||
len = skipToEOL(waCoockedLine+2)-waCoockedLine+1;
|
||||
@@ -1472,7 +1555,7 @@ void editLine()
|
||||
MEMMOVE( target+len, target, (WORD)(dataTop-(target-wa)) );
|
||||
MEMMOVE( target, waCoockedLine, len );
|
||||
dataTop += len;
|
||||
clearRuntimeInfo();
|
||||
/*clearRuntimeInfo();*/
|
||||
} else {
|
||||
/* replace line */
|
||||
WORD lost;
|
||||
@@ -1488,7 +1571,7 @@ void editLine()
|
||||
MEMMOVE( nextline+delta, nextline, (WORD)(dataTop-(nextline-wa)) );
|
||||
MEMMOVE( target, waCoockedLine, len );
|
||||
dataTop += delta;
|
||||
clearRuntimeInfo();
|
||||
/*clearRuntimeInfo();*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1540,14 +1623,36 @@ BOOL convertInternalCode( BYTE * waCoockedLine, const BYTE * waRawLine )
|
||||
acc *= 10;
|
||||
acc += *src - '0';
|
||||
src++;
|
||||
}
|
||||
if( acc < 0 ) { /* overflow case */
|
||||
syntaxError();
|
||||
return FALSE;
|
||||
if( acc < 0 ) { /* overflow case */
|
||||
syntaxError();
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
*((SHORT*)dst) = acc;
|
||||
dst += 2;
|
||||
}
|
||||
#if 0
|
||||
/* 以下のコードは、2項演算子の-を負数と解釈することがあるので使えない */
|
||||
} else if( *src == '-' && (*(src+1) >= '0' && *(src+1) <= '9' ) ) {
|
||||
WORD acc;
|
||||
/* 負数の10進のとき */
|
||||
*dst++ = 0x01;
|
||||
src++;
|
||||
acc = *src-'0';
|
||||
src++;
|
||||
while( TRUE ) {
|
||||
if( *src < '0' || *src > '9' ) break;
|
||||
acc *= 10;
|
||||
acc += *src - '0';
|
||||
src++;
|
||||
if( acc > 32768 ) { /* overflow case */
|
||||
syntaxError();
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
*((SHORT*)dst) = -((SHORT)acc);
|
||||
dst += 2;
|
||||
#endif
|
||||
} else if( (*src >= 'a' && *src <= 'z') || (*src >= 'A' && *src <= 'Z') ) {
|
||||
BYTE next = *(src+1);
|
||||
if( (next >= 'a' && next <= 'z') || (next >= 'A' && next <= 'Z') ) {
|
||||
@@ -1701,7 +1806,7 @@ void interpreterMain()
|
||||
void interactiveMain( FILE FAR * fp )
|
||||
{
|
||||
if( fp == NULL ) {
|
||||
commonPrint(NULL,"*Ready\n");
|
||||
commonPrint(NULL,"OK\n");
|
||||
}
|
||||
while( TRUE ) {
|
||||
BOOL b;
|
||||
@@ -1737,6 +1842,9 @@ void interactiveMain( FILE FAR * fp )
|
||||
if( waCoockedLine[0] == 0x01 ) {
|
||||
/* 行エディタを呼び出す */
|
||||
editLine();
|
||||
if( fp == NULL ) {
|
||||
clearRuntimeInfo();
|
||||
}
|
||||
} else {
|
||||
/* その行を実行する */
|
||||
executionPointer = waCoockedLine;
|
||||
@@ -1785,6 +1893,7 @@ BOOL do_merge( const BYTE * filename )
|
||||
}
|
||||
interactiveMain( fp );
|
||||
fclose( fp );
|
||||
clearRuntimeInfo();
|
||||
if( bForceToReturnSuper ) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
23
wonbe.txt
23
wonbe.txt
@@ -1,6 +1,6 @@
|
||||
ワンべぇ: WONBE, WonderWitch BASIC Environment
|
||||
暫定マニュアル Ver 0.01
|
||||
2000年11月6日
|
||||
暫定マニュアル Ver 0.03
|
||||
2000年11月7日
|
||||
株式会社ピーデー
|
||||
川俣 晶
|
||||
Copyright 2000 (c) by Pie Dey Co.Ltd.
|
||||
@@ -44,12 +44,12 @@
|
||||
ごく軽いBASIC言語です。
|
||||
昔あったTiny BASICに近い構文を持っています。
|
||||
データ型は、符号付き16bit整数だけです。
|
||||
定数は、-32768~32767の10進数か、0x0000~0xffffの16進数で記述できます。
|
||||
定数は、-32767~32767の10進数か、0x0000~0xffffの16進数で記述できます。-32768は変数には記憶できますが、ソースには書けません。(-32767-1のように書いてください)
|
||||
変数は、グローバル変数として、A~Zのアルファベット大文字1文字のものが26個あります。
|
||||
ローカル変数として、a~zのアルファベット子文字1文字のものが26個あります。ローカル変数はgosubステートメントを実行したときに新しい領域が割り当てられ、returnステートメントを実行したときにgosubする前の領域が戻ってきます。
|
||||
配列変数は@(インデックス)という形式の1次元配列だけが使用できます。使用可能なサイズは、プログラム記憶領域(48Kバイト)の残りサイズに等しくなります。インデックスは0から始まります。(例: for i=0 to 9:print @(i):next)
|
||||
演算子の優先順位はありません。(1+2*3は9になります)
|
||||
計算順序は、括弧()を使って明示的にコントロールしてください。
|
||||
演算子の優先順位は「単項演算子 > */ > +- > 比較演算子 > and,or,xor」となります。(比較演算子は、<と>と=で記述する演算子すべて)
|
||||
計算順序は、括弧()を使って明示的に変更できます。
|
||||
オーバーフロー、アンダーフローのチェックはありません。溢れは無視されます。ただしゼロ除算はエラーになります。
|
||||
ステートメントなどのキーワードはすべてアルファベット小文字で入力します。大文字を使っても小文字になります。
|
||||
|
||||
@@ -96,7 +96,7 @@ return
|
||||
for 変数=式 to 式
|
||||
for 変数=式 to 式 step 式
|
||||
変数の値を変化させながらnextまで繰り返します。
|
||||
終了値は厳密であることに注意が必要です。for i=1 to 2 step 2:nextは、無限ループになります。なぜなら変数iは永遠に2にならないからです。このような仕様にしておかないと、終了値を超えたら終わるという判定だと、ループの終値が32767のときに機能しないためです。
|
||||
最後の変数の値が終値に一致せず、終値+ステップ値がオーバーフローする場合は無限ループする可能性があります。そのような値は指定しないように注意してください。
|
||||
例: for i=0 to 10 step 2
|
||||
|
||||
next
|
||||
@@ -219,6 +219,17 @@ tick
|
||||
・自作ソフトの実行手段としてのワンべぇの添付
|
||||
自作ソフトを配布するためにwonbe.fxを一緒に渡すことを許可します。アーカイブへの同梱、CD-Rメディアなどへの焼き込み、通信ケーブルによる転送、どれも可です。ただし、ワンべぇの動作に関しては何も保証はできませんので、リスクは自分で負ってください。利用にあたっては、ロイヤリティなどはありませんので、報告も送金も必要ありません。
|
||||
|
||||
● 変更履歴
|
||||
|
||||
2000年11月7日 Ver 0.03
|
||||
・演算子の優先順位 単項演算子 > */ > +- > 比較演算子 > and,or,xor
|
||||
・比較演算子成立時の値を1から-1に変更
|
||||
・プロンプトをOKに変更
|
||||
・print/debugで負数が正数として出力されていたバグを解消
|
||||
・forの終値がピッタリ一致しなくてもnextでループ脱出するように変更
|
||||
2000年11月7日 Ver 0.02 scan_XXが機能しないバグを取った
|
||||
2000年11月6日 Ver 0.01 最初のバージョン
|
||||
|
||||
● 問い合わせ先
|
||||
株式会社ピーデー http://www.piedey.co.jp/
|
||||
川俣 晶 autumn@piedey.co.jp
|
||||
|
||||
Reference in New Issue
Block a user