ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです


<< マーブリング | main | ウィザードリィ風3D視点 >>



うそつきクイズ

「うそつきクイズ」とは論理パズルの一種で、発言内容から誰が嘘つきかを当てる問題です

このプログラムはその論理パズルを自動で作ります

上二行の数字を書き換えることで出てくるキャラクターの人数を変えられます


#define membermax 3    ;総数
#define fakenum 1    ;嘘つき人数
randomize
;発言内容は誰を対象とするか
dim taisyou,membermax
repeat membermax
    val=rnd(cnt+1)
    taisyou.cnt=taisyou.val
    taisyou.val=cnt
loop
repeat membermax
    if taisyou(cnt)=cnt{
        id=cnt
        repeat membermax
            if id!=cnt{
                tmp=taisyou(cnt)
                taisyou(cnt)=taisyou(id)
                taisyou(id)=tmp
                break
            }
        loop
    }
loop
;誰を嘘つきにするか
dim usotsuki,membermax
repeat membermax
    val=rnd(cnt+1)
    usotsuki.cnt=usotsuki.val
    usotsuki.val=cnt
loop
dim usohonto,membermax
repeat fakenum
    usohonto(usotsuki(cnt))=1
loop
;メンバーの名前
sdim namelist,membermax
repeat membermax
    namelist(cnt)=strf("%c",cnt+65)
loop
;処理開始
title"うそつきの人数:"+fakenum
repeat membermax
    name=namelist(taisyou(cnt))
    if usohonto(cnt){
        if usohonto(taisyou(cnt)){
            mes""+namelist(cnt)+" 「 "+name+" は正直」"
        }else{
            mes""+namelist(cnt)+" 「 "+name+" はうそつき」"
        }
    }else{
        if usohonto(taisyou(cnt)){
            mes""+namelist(cnt)+" 「 "+name+" はうそつき」"
        }else{
            mes""+namelist(cnt)+" 「 "+name+" は正直」"
        }
    }
loop
pos 320,0
button gosub "答え",*kotae
stop
*kotae
    repeat membermax
        if usohonto(cnt){
            mes"うそつきは"+namelist(cnt)
        }
    loop
    return

0
    posted by higashijugem 20:09comments(0)|-|


    この記事に対するコメント