- Operator precedence order Unary operator> * /> + -> Comparison operator> and, or, xor
- Change the value when the comparison operator is established from 1 to -1 - Change prompt to OK - Fixed a bug that negative numbers were output as positive numbers by print / debug - Changed so that loop can escape in next even if for closing price does not match exactly Version 0.03 - from wonbe003.lzh
This commit is contained in:
parent
ee82c35364
commit
3a44094757
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
|
||||
59
keywords.h
Normal file
59
keywords.h
Normal file
@ -0,0 +1,59 @@
|
||||
/* WONBE predefined keyword IDs */
|
||||
/* First Created: Nov.3,2000 by Nashiko */
|
||||
/* Copyright 2000 (c) by Pie Dey Co.,Ltd. */
|
||||
|
||||
#define KEYWORD_IF 0x80
|
||||
#define KEYWORD_PRINT 0x81
|
||||
#define KEYWORD_LOCATE 0x82
|
||||
#define KEYWORD_CLS 0x83
|
||||
#define KEYWORD_GOTO 0x84
|
||||
#define KEYWORD_GOSUB 0x85
|
||||
#define KEYWORD_RETURN 0x86
|
||||
#define KEYWORD_FOR 0x87
|
||||
#define KEYWORD_NEXT 0x88
|
||||
#define KEYWORD_END 0x89
|
||||
#define KEYWORD_BREAK 0x8a
|
||||
#define KEYWORD_REM 0x8b
|
||||
#define KEYWORD_NEW 0x8c
|
||||
#define KEYWORD_LIST 0x8d
|
||||
#define KEYWORD_RUN 0x8e
|
||||
#define KEYWORD_CONT 0x8f
|
||||
#define KEYWORD_SAVE 0x90
|
||||
#define KEYWORD_LOAD 0x91
|
||||
#define KEYWORD_MERGE 0x92
|
||||
#define KEYWORD_RANDOMIZE 0x93
|
||||
#define KEYWORD_EXIT 0x94
|
||||
#define KEYWORD_DEBUG 0x95
|
||||
#define KEYWORD_WAITVB 0x96
|
||||
#define KEYWORD_FILES 0x97
|
||||
#define KEYWORD_AND 0xa0
|
||||
#define KEYWORD_OR 0xa1
|
||||
#define KEYWORD_XOR 0xa2
|
||||
#define KEYWORD_NOT 0xb0
|
||||
#define KEYWORD_SCAN 0xc0
|
||||
#define KEYWORD_WAIT 0xc1
|
||||
#define KEYWORD_RND 0xc2
|
||||
#define KEYWORD_ABS 0xc3
|
||||
#define KEYWORD_TICK 0xc4
|
||||
#define KEYWORD_SCAN_A 0xd0
|
||||
#define KEYWORD_SCAN_B 0xd1
|
||||
#define KEYWORD_SCAN_X1 0xd2
|
||||
#define KEYWORD_SCAN_X2 0xd3
|
||||
#define KEYWORD_SCAN_X3 0xd4
|
||||
#define KEYWORD_SCAN_X4 0xd5
|
||||
#define KEYWORD_SCAN_Y1 0xd6
|
||||
#define KEYWORD_SCAN_Y2 0xd7
|
||||
#define KEYWORD_SCAN_Y3 0xd8
|
||||
#define KEYWORD_SCAN_Y4 0xd9
|
||||
#define KEYWORD_THEN 0xf0
|
||||
#define KEYWORD_CHR 0xf1
|
||||
#define KEYWORD_TO 0xf2
|
||||
#define KEYWORD_STEP 0xf3
|
||||
|
||||
#define KEYWORDS_STATEMENT_FROM 0x80
|
||||
#define KEYWORDS_STATEMENT_TO 0x97
|
||||
#define KEYWORDS_2OP_FROM 0xa0
|
||||
#define KEYWORDS_2OP_TO 0xa2
|
||||
|
||||
|
||||
/* end of keywords.h */
|
||||
23
makefile
Normal file
23
makefile
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
# start up routine
|
||||
C0WW_JAPANESE2=..\common\c0wwjpn2.obj
|
||||
|
||||
C0WW=$(C0WW_JAPANESE2)
|
||||
|
||||
LIBWW=@..\common\libww.rsp
|
||||
|
||||
CFLAGS=-DWW -ms -zPCGROUP -zSDGROUP -zGDGROUP
|
||||
|
||||
all: wonbe.fx
|
||||
|
||||
wonbe.fx: wonbe.bin
|
||||
mkfent wonbe.cf
|
||||
|
||||
wonbe.bin: wonbe.obj
|
||||
tlink /m /c $(C0WW) wonbe, wonbe, wonbe, $(LIBWW)
|
||||
exe2fbin wonbe.exe wonbe.bin
|
||||
|
||||
wonbe.obj: wonbe.c
|
||||
tcc -c $(CFLAGS) $(DEFINES) -IC:\vshare\ww\dev\WWitch\include wonbe.c
|
||||
|
||||
|
||||
169
wonbe.c
169
wonbe.c
@ -18,7 +18,7 @@
|
||||
#include "win32text.h"
|
||||
#endif
|
||||
|
||||
char myVersion[] = "0.02";
|
||||
char myVersion[] = "0.03";
|
||||
|
||||
#ifdef WW
|
||||
#define MEMMOVE mymemmove
|
||||
@ -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;
|
||||
}
|
||||
|
||||
17
wonbe.txt
17
wonbe.txt
@ -1,5 +1,5 @@
|
||||
ワンべぇ: WONBE, WonderWitch BASIC Environment
|
||||
暫定マニュアル Ver 0.02
|
||||
暫定マニュアル Ver 0.03
|
||||
2000年11月7日
|
||||
株式会社ピーデー
|
||||
川俣 晶
|
||||
@ -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
|
||||
@ -220,6 +220,13 @@ 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 最初のバージョン
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user