COBOL でゲームプログラミングとか。
出向先で OpenCOBOL 入れてくれって頼まれついでに簡単なプログラム書いてみた。
変数の考え方にクセがあるとか1つの処理に機能盛り過ぎとか、
エクセルIF関数の如く入れ子しないと else if 相当のことが出来ないとか。
色々言いたいところもあるけれど、割と嫌いじゃない言語です。
KAZUATE.COB
IDENTIFICATION DIVISION. PROGRAM-ID. KAZUATE-VER001. AUTHOR. DUMBO. DATE-WRITTEN. 11.07.2013. DATA DIVISION. WORKING-STORAGE SECTION. 01 ANS PIC 99 VALUE ZEROS. 01 USR PIC 99 VALUE ZEROS. 01 FLG PIC 9 VALUE ZERO. PROCEDURE DIVISION. MAIN. ACCEPT ANS FROM TIME. DISPLAY "KAZUATE GAME" UPON CONSOLE. PERFORM UNTIL FLG >= 1 DISPLAY "GUESS(0-99)?" UPON CONSOLE ACCEPT USR FROM CONSOLE IF USR = ANS THEN DISPLAY "IT'S CORRECT!!" UPON CONSOLE MOVE 1 TO FLG ELSE IF USR = ANS - 1 OR USR = ANS + 1 THEN DISPLAY "IT'S NEAR!" UPON CONSOLE ELSE IF USR > ANS THEN DISPLAY "IT'S SMALLER." UPON CONSOLE ELSE IF USR < ANS THEN DISPLAY "IT'S LARGER." UPON CONSOLE END-IF END-IF END-IF END-IF END-PERFORM. STOP RUN.
JANKEN.COB
IDENTIFICATION DIVISION. PROGRAM-ID. JANKEN-VER100. AUTHOR. DUMBO. DATE-WRITTEN. 11.07.2013. DATA DIVISION. WORKING-STORAGE SECTION. 01 DSP. 03 HND PIC N(3) OCCURS 3. 01 USR PIC 99 VALUE ZEROS. 01 USR2 PIC 99 VALUE ZEROS. 01 COM PIC 99 VALUE ZEROS. 01 TMP PIC 99 VALUE ZEROS. *ユーザーの勝ち数をカウントする変数を初期化する。 01 WIN PIC 9 VALUE ZERO. * PROCEDURE DIVISION. MAIN. *手を表す変数を初期化する。 MOVE "グー " TO HND(1) MOVE "チョキ" TO HND(2) MOVE "パー " TO HND(3) *起動メッセージを表示する。 DISPLAY "じゃんけんゲーム Ver.1.00 by DumBo" UPON CONSOLE. *5回勝負する。 PERFORM 5 TIMES *ユーザーの手を入力する。 DISPLAY "0:グー、1:チョキ、2:パー" UPON CONSOLE ACCEPT USR FROM CONSOLE *コンピュータの手を現在時間うち1/10秒2桁を種として決める。 ACCEPT COM FROM TIME DIVIDE 3 INTO COM GIVING TMP REMAINDER COM *出した手を表す文字列を作成する。 DISPLAY "ユーザー:" HND(USR + 1) "、コンピュータ:" HND(COM + 1) *勝敗を判定し、結果を表示する。 IF USR = COM THEN DISPLAY "・・・あいこです!" ELSE COMPUTE USR2 = USR + 1 DIVIDE 3 INTO USR2 GIVING TMP REMAINDER USR2 IF COM = USR2 THEN DISPLAY "・・・ユーザーの勝ちです!" UPON CONSOLE ADD 1 TO WIN ELSE DISPLAY "・・・コンピュータの勝ちです!" UPON CONSOLE END-IF END-IF END-PERFORM. *ユーザーの勝ち数を表示する。 DISPLAY "ユーザーの勝ち数:" WIN UPON CONSOLE. STOP RUN.
色々作ってる風味。
レコード登録にばかりに気が向いててメイン画面作ってなかったので実装開始。
どうやって使いやすいものに仕上げようか手間取ってる最中。
・大人の蔵書管理 V0.09
モードレス間同士でウィンドウを行き来した際フリーズバグが発生。
あれこれ試して解決方法探ったけど規模が大きくなり過ぎてて原因に当りをつけられず。
ウィンドウ間の移動時に現れるので、一先ずモードレスからモーダルに変更。
バグ発生動作を行えない仕様に変えて対処(バグ潰しではないので、解決したとは言えないが。)。
マルチウィンドウの操作感は失われたけど、ウィンドウが開かれる順序や閉じられるタイミング等見直してみた結果、
これはこれで悪くない操作性に落ち着いた感じ。
とらのあなからの商品情報取得ルーチンとレコード登録ルーチンとを連結。
同人誌の自動登録が機能しだしたので使いながらバグ潰したり微妙な部分を直したりを現在進行形で実施中。
バーコードリーダーでの登録機能も残した。
買って来て直ぐの状態のものとか、やっぱりあると便利なので。
ウィンドウの半透明表示とか、プルダウンで頒布物一覧表示とか。欲しい機能は大体実装。
サークル参加情報だけはまだワークシートに手入力だけど。
使い方説明もないのでまだ非公開な状態。
・その他
サイトコンテンツの成果物増やしたり、同人誌の自炊したり。
今月の日経ソフトウェア。
表紙がGMC-4。記事に取り上げられてる訳でもないのに何故?
- 作者: 日経ソフトウエア
- 出版社/メーカー: 日経BP社
- 発売日: 2013/08/24
- メディア: 雑誌
- この商品を含むブログ (4件) を見る
コミックマーケット84
昨日より開催の始まった、東京ビッグサイトにて行われているコミックマーケット84にサークル参加する運びとなりました。
頒布物は新刊と、以前出したDS開発本になります。
DSハックな展示物も用意してお待ちしておりますので、ご興味を示されましたら是非お立ち寄りください。
なお、当日はイベント開始から30分ほど挨拶回りで席を離れてますので、
当サークルにお越しの方は10:30以降を目安に来て頂ければと思います。
※沢山のご訪問、ありがとうございました!
新刊掲載のサンプルコード・回路図等一式を以下のページで配布しています。
ダウンロードして参考にしてください。
レトロゲーム活用研究同好会会報 PART01 -DSに自作ハードを繋ぐ試み-: レトロゲーム活用研究同好会(レゲ活)
レトロゲーム活用研究同好会
日時: 2013/08/12(月)
場所: 東京ビッグサイト
スペース: 東地区“ヘ”ブロック−32b
新刊:
誌名: レトロゲーム活用研究同好会会報 PART01 -DSに自作ハードを繋ぐ試み-
表紙:
サイズ: B5 40p
価格: 300円
説明:
ニンテンドーDSに繋いだ自作ハードをプログラムから制御する方法について解説した本です。
既刊:
誌名: NDS Homebrew プログラミング vol.0
表紙:
サイズ: A5 40p
価格: 200円
説明:
ニンテンドーDSの開発・実行環境の導入からプログラムの作成手順までを解説した本です。
展示:
名称: 1/1 へぇボタン for ニンテンドーDS - 実機デモンストレーション
写真:
説明: レゲ活会報 PART01 の記事にあったソフト・ハードの展示になります。