第5講 ブロック崩しその3(ブロックを描き、ボールがブロックに当たったら跳ね返るようにする)
第6話 余りを求める式を使う
実行画面
01
を実現するプログラムコード例
#include<stdio.h>
void f();
int main()
{
  f();
  return 0;
}
void f() {
  int a,i, j;
  for (i = 0; i < 5; i++) {
    for (j = 0; j < 4; j++) {
      
a = (4 * i + j)%3;
      printf("%d ", a);
    }
    printf("\n");
  }
}
コピペ用添付ファイル

さて、ゲームプログラミングに戻るための準備が整いました。
この余りを求める式を利用して、
02のように、
赤→緑→青の順にブロックを表示させるプログラミングを考えましょう。
もちろん、if文を組み合わせます。
if文を使い
aの値が0ときは、赤
aの値が1ときは、緑
aの値が2ときは、青
とすればよいのです。

条件は4行10列とします。
数学の世界では、
横列を行といい、縦列を単に列というのです。
言葉を覚えてください。
もうわかっているでしょうが、
ゲームプログラミングには算数や数学の知識や力が大切です。
というよりは、プログラミング一般にはといった方がよいでしょう。
最近はやりのAIも高度な数学を応用して実現できています。
17世紀の哲学者にして数学者のライプニッツは、
普遍数学構想というのを考えていました。
哲学・法律・恋愛等の問題をすべて数学で解いてしまうという構想です。
普遍というのは、あまねく広くという意味です。
数学の世界を広げて、哲学も心の問題も数学の一分野にしてしまうという、
広大な構想を持っていたのです。
皆さんからすればとんでもない野心ですが、
ライプニッツの考えを引き継いだブールという人が、
ブール代数(論理学を数学で研究する代数)を作り、
このブール代数によってコンピュータの設計が可能になり、
そして、そこに微分・積分や数学的統計学などの高度な数学を組み込んで、
AIが実現できたのです。
AIは世界NO.1の囲碁棋士にも、将棋の佐藤天彦にも完勝して、
CT画像やレントゲン画像を読影して医師よりずっと高い能力を発揮して小さながんなどを見つけています。
近い将来(10年程度)で完全自動運転車も実現するでしょう。
まさに、妄想ともいえるライプニッツの普遍数学構想が現実味を帯びてきたといえるでしょう。

また、脱線しましたが将来プログラマーを目指している人にとって、
算数や数学は最重要教科です。
しっかり勉強してください。



第5話へ
 第7話へ
a

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ