ポケコンでのC言語のプログラミングについて

このQ&Aのポイント
  • ポケコンでのC言語のプログラミングについて質問です。初めのプログラムがうまくいかないため回避プログラムが必要かどうか知りたいです。
  • ポケコン(SHARP PC-G850V)でライントレーサーのプログラミングをC言語で作成していますが、初めのプログラムがうまくいかないため回避プログラムが必要かどうか知りたいです。
  • ポケコンでC言語のプログラミングをしているのですが、初めのプログラムがうまく動作しません。回避プログラムが必要なのか教えてください。
回答を見る
  • ベストアンサー

ポケコンでのC言語のプログラミング

今回、ライントレーサーのプログラミングをC言語で作ろうとしています。 ポケコン(SHARP PC-G850V)で作成しています。 それで、どうしても初めのプログラムがうまくいかないのです。 話しによると、最初の誤作動がありそれを回避するプログラムが必要と言うことも聞きました。 一応、以下に作成したプログラムを書いておきます。もし回避プログラム&訂正プログラムがあるならば教えてください。 10main() 20{ 30 int s; 40 fopen("pio","r+"); 50 pioset(0xf0); 60 loop: s=(pioget() & 0xc0)/16; 70 if(s==3)pioput(5); 80 if(s==1)pioput(7); 90 if(s==2)pioput(13); 100 goto loop; 110} です。ちなみに回避プログラムというのは、Basicで 10 OPEN"PIO;" 20 PIOSET&HFO 30 A$=INKEY$S 40 IF A$<>"_" THEN30 です。40の_はスペースらしいです。 よろしくお願いしますw

質問者が選んだベストアンサー

  • ベストアンサー
  • pureh
  • ベストアンサー率69% (36/52)
回答No.1

ポケコンを使ったことがないので、そのつもりで読んで下さい。 回避プログラムの30,40行でやっていることは、 スペースキーの入力待ちなので、 Cの50行と60行の間に、それに相当するプログラムを いれればいいと思います。 ところで、60行の  s=(pioget() & 0xc0)/16 では変数sには、1~3の値は代入されません。 BIT7,6の値が欲しいのなら、64で割る。

mattsu555
質問者

お礼

分かりましたwがんばってみます。ありがとうございました(^0_0^)

関連するQ&A

  • ポケコン PC-E650 のプログラミングについて

    ポケコンもパソコンも初心者です。 以下の事をやりたいと思います。 a.パソコンから直接データをポケコンに送って、ポケコンに表示させる方法 b.パソコンでデータを作成し、ポケコンにデータを送る方法 c.ポケコンのFile1個当たりのデータの容量を増やす方法 d.ポケコンにはいるデータの全体の許容量を増やす方法 使うベーシックの命令文とプログラムを知りたいのですが・・・。 ちなみにポケコンはPC-E650 64Kです。 以上、よろしくお願いします。

  • ポケコン C言語でBEEP関数を作りたい

    ポケコンにはまっている高校生です。 最近C言語でBASICでいうBEEP命令をC言語でも出来ないかと考えています。 ゲームに使ったり、BASICのBEEP命令では出来ない和音とかも出来るようにしようと考えています。 そこで、簡単なプログラムを作って、音が鳴るかをテストしてみたのですが、 圧電スピーカーから音が鳴ってくれません。 機種は SHARP G850V 作ったプログラムはこのようなものです。 void wait(int);     /* プロトタイプ宣言 */ main() {   int w=0;   fopen("pio:", "w+") /*ポケコンの11ピンを8ビット制御モードに。のはず・・・*/   while(1){       /*ループ開始*/      pioput(4);    /*11ピンの7ピンを1(high)に*/      wait(1000);      pioput(0);    /*8ビット出力をすぺて0(low)に*/      wait(1000);   } } void wait(x){       /*時間つぶし(周波数変更用)*/ int y; for(y=0; y < x*10; y++); } 圧電ブザーを11ピンの3ピン(GND)と7ピン(BASICでBEEPを使うときここにつなぐと音が出るのでこのピンにしてみた) につないで実行してみたのですが、 音はならず、耳を近づけるとかすかにノイズのような音が聞こえます。 wait関数での時間をつぶす長さも100~100000くらいで試してみましたが、聞こえるのはノイズばかりです。 情報が足りなかったりしたら言ってください。 ポケコンやプログラミングに詳しい方 回答お願いします。

  • カシオのポケコンのプログラム作成について

    カシオのポケコン(Z-1GR)のBASICでプログラムを作成する際に Enterキーを押した場合と数値を入力した場合で分岐させたいのですが、やり方がわかりません。 例えば Aを入力、Bを入力すると、C=A+BでCの答えを表示させる。 ただし、Bの入力時に何も入力しないで、そのままEnterキーを押すと、C=0と表示させる と言った感じです 10 INPUT"A=",A 20 INPUT"B=",B 30 IF B="" THEN GOTO 40 ELSE GOTO 50 40 PRINT"C=0" 50 C=A+B 60 PRINT"C=";C:GOTO 20 どなたかわかる方いらっしゃいませんか?

  • カシオのポケコン プログラム作成について

    先ほど同じ質問をしたのですが、質問の仕方が悪く意図した回答が得られなかったので、 再度質問します。 カシオのポケコン(Z-1GR)のBASICでプログラムを作成する際に Enterキーを押した場合と数値を入力した場合で分岐させたいのですが、やり方がわかりません。 例えば Aを入力、Bを入力すると、C=A+BでCの答えを表示させる。 ただし、Bの入力時に何も入力しないで、そのままEnterキーを押すと、C=0と表示させる と言った感じです 10 INPUT"A=",A 20 INPUT"B=",B 30 IF B="" THEN GOTO 40 ELSE GOTO 50 40 PRINT"C=0":GOTO 20 50 C=A+B 60 PRINT"C=";C:GOTO 20 上のライン30の指示がうまく実行しません。 「B="" THEN GOTO 40」の部分だと思うのですが この部分 (そのままEnterキーを押すとライン40に進む)をどのようにすればよいか 教えてください。 どなたかわかる方いらっしゃいませんか?

  • ポケコンのこと

    大変申し訳ないんですが、ポケコンのことで質問です。 a,b,cの長さを入力して直方体の表面積と体積を出力するプログラムなんですが、 実行しても値が表示されません。 10 main() 20 { 30 int a,b,c,s,v; 40 scanf("%d,%d,%d",&a,&b,&c); 50 s=2*(a*b+b*c+a*c); 60 v=a*b*c; 70 printf("表面積=%d\n",s); 80 printf("体積=%d\n",v); 90 } 実行は出来ますが、a=10,b=39,c=39 とやっても0と表示されます。

  • C言語のプログラミングについて教えてください

    課題で下記に示すのようなデータをファイル名を入力してのそのデータを読み込みyの最大値とそのときのxの値を表示するプログラムを作成しろと言われたのですが、僕はプログラミングが初心者でむしろ苦手でホント困ってます。だれか助けてください、お願いします! データ    x  y 0.12132 3.45355 0.12353  3.415451 . . . . . . のようにxとyの行列となっていて、その数は2000個を超えています。 自分なりにやってみたのですがデータをすべて読み込まないし、まずどのようにして、yの最大値をだし、なおかつそのxの値を表示させるのもわかんなくてホント困っています。 本末転倒になりますが、プログラムを書いていただけるとほんと助かります。よろしくお願いいたします。 ちなみにこれが自分で考えたプログラムです。とりあえず、yの値がでかいのでyの最大値だけだすつもりでやってみたけど駄目でした。 #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fin; char *list[256]; char buf[1024]; char filename1[80]; printf("入力ファイル名"); gets(filename1); fin=fopen(filename1,"r"); if (fin ==NULL) { printf("%sをオープンできません\n",filename1); exit(1); } while (fgets(buf, 1024, fin) !=NULL) { printf("%s",buf); } static float max; int x; fscanf(fin,"%f",&x); if(x>max){ max=x; printf("yの最大値=%f\n",max); } fclose(fin); }

  • C言語のプログラミングで困っています

    C言語を勉強しています。まだまだ初心者で分からないことだらけなのですが、今回はファイル入出力の部分が分からず苦戦しています。 『100個の実数が入った2つのテキストファイルから数値を読み込み、  絶対値を求めるなどの計算をする』プログラムを作成しているのですが、 コンパイルし実行すると強制終了してしまいます。 プログラムは、 void main(void) { FILE *fp; double c[50000];   double d[50000];   double e[50000]; int n = 0;   int m = 0;   int i = 0;   char fname[80];   char fname2[80]; printf("ファイル名 : ");    gets(fname); if((fp = fopen(fname, "r")) == NULL){ printf("ファイルがオープンできません\n"); exit(1); } printf("\n"); while (fscanf(fp,"%lf",&c[i])!=EOF){ printf("%3d : %3lf",++n,c[i]); printf("\n"); i++; } printf("\n"); i=0; n=0; printf("ファイル名 : ");    gets(fname2); if((fp = fopen(fname2, "r")) == NULL){ printf("ファイルがオープンできません\n"); exit(1); } printf("\n"); while (fscanf(fp,"%lf",&d[i])!=EOF){ printf("%3d : %3lf",++n,d[i]); printf("\n"); i++; } …(以下計算) のようになっています。 整数のデータで計算を行うと、正常に動くのですが…。 コンパイルしてもエラーが出ないので、どこが悪いのかわからず困っています。 どなたか教えていただけないでしょうか。お願いしますm(_ _)m

  • C言語のファイルの読み書き

    以下のようなプログラムを作成したいのですが、どうしても作成できません。 さまざまなサイトを参考にしたのですが、まったく理解できませんでした。 具体的なプログラム式をご教授願います。 よろしくおねがいします…。 1)複数の学生の情報を読み取り配列を行う struct student a [LIST_SIZE_A] 2)配列に代入した情報をファイルに書き込む fopen("…","w"); … fclose() 3)配列に代入した情報をファイルに追加する fopen("…","a"); … fclose() 4)ファイルの内容を表示する fopen("…","r")

  • C言語でのプログラミングについて

    キーボードから入力された文字列に含まれる各文字の個数を出力するプログラムを作成せよ。 条件 ・対象とする文字は英字の小文字のみでよい ・文字列の長さは100文字まで対応できるようにせよ 例 $ ./a.out input:aaabtzz a:3 b:1 t:1 z:2 という問がわかりません。 プログラムの例(C言語)と出来れば解説もご教授ください。 ※大学で一年c言語をやった程度なので難しいことや高度なテクニックはわかりません。多少面倒でも初歩的な知識だけで理解できるようにお願いします。 #include<stdio.h>内でできるものでお願いします。 以下、自分なりに考えたものです。 #include<stdio.h> int main(void) { char a[100]; printf("input:"); scanf("%100s",a); (ここからがわかりません) return 0; } 本当に困っています。ご教授お願いします。

  • ポケコンの計算について

    ポケコンで、回路にSWをいれて、t秒までの間に流れる電流を表示する(グラフ表示)プログラムを作成しました。ただ、ポケコンの画面を越えてしまうといけないのでX,Y座標を変えなくてはいけないのですが、計算式がわかりません。 今表示できる大きさがx座標「時間、一秒ちょっと」y座標「アンペア、10Aまで」で計算式が x=t*100+10 y=INT((-I*4)+40) です。 x座標の+10は、画面から10個進んだ所から表示 y座標の+40は、画面から40個進んだ所から表示 です。 x座標の*100とy座標の*4を計算式を入れるといいんだそうですが、わかりません。 すみませんが、よろしくお願いします。

専門家に質問してみよう