pygameでゲームを作成|配列の数だけ繰り返す

 

ゲームを作る上で配列を使うことは多々あります。

 

そこで、配列の数分繰り返したいとおもいまして、すこし考えて見ます。

 

配列の数分繰り返す

私ははじめこのようなコードを書いていました。

 


#-*- coding:utf-8-*-
import pygame
from pygame.locals import *
import sys

SCREEN_SIZE = (640, 480)
 
pygame.init()
screen = pygame.display.set_mode(SCREEN_SIZE)
pygame.display.set_caption("配列の数分くりかえす。")

#配列を宣言
hairetu=[]
hairetu.append(0)
hairetu.append(1)
hairetu.append(2)
hairetu.append(100)

for i in hairetu:
 print (hairetu[i])

clock=pygame.time.Clock()
while True:
    clock.tick(60)
    screen.fill((0,0,255))
        
    pygame.display.update()
    
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()

c言語の癖が出ていますね。

 


print (hairetu[i])

という場所が違いました。

 

正しくは

 


#-*- coding:utf-8-*-
import pygame
from pygame.locals import *
import sys

SCREEN_SIZE = (640, 480)
 
pygame.init()
screen = pygame.display.set_mode(SCREEN_SIZE)
pygame.display.set_caption("配列の数分くりかえす。")

#配列を宣言
hairetu=[]
hairetu.append(0)
hairetu.append(1)
hairetu.append(2)
hairetu.append(100)

for i in hairetu:
 print (i)

clock=pygame.time.Clock()
while True:
    clock.tick(60)
    screen.fill((0,0,255))
        
    pygame.display.update()
    
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()

このようなコードにするべきでした。

 

文字列と変数を出力する

c言語で言うと

 


today=20;
printf("今日は%d日です。\n",today);

こんな感じに一緒に出力する方法です。

 


day=3
print ("今日は"+str(day)+"日です。")

という方法で出力できます。

 

str()で変換をしないと出力できません。

 

まとめ

配列の数分繰り返すことができるとかなり楽になりました。

 

pythonの基本をもう一度最初からやった方がやりやすいと思います。

 

pythonまとめ

Python基礎講座(はじめに)
Python-izm
Pythonスタートブック いちばんやさしいパイソンの本 [ 辻真吾 ]
実践力を身につける Pythonの教科書 [ クジラ飛行机 ]