pygameでゲームを作成する|pythonで乱数を取得する

c言語でもかなりお世話になった乱数をpythonでもやって見ようと思います。

画面に1~100までの数を1秒おきに出力する

乱数なしのコードです。


# -*- coding:utf-8 -*-					#使用している文字コード
import pygame
from pygame.locals import *
import sys

(w,h)=(800,800)						#スクリーンの大きさ
CO=0
RANSU=0

pygame.init()
pygame.display.set_mode((w,h))				#画面の大きさ
screen=pygame.display.get_surface()
pygame.display.set_caption("乱数")		#タイトルを設定

font=pygame.font.Font("JKG-L.ttf",30)	#フォントファイルと文字の大きさ
RANFONT=font.render(str(RANSU),False,(255,255,255))

clock=pygame.time.Clock()

while(1):
 clock.tick(60)
 screen.fill((0,0,0))

 CO+=1
 if CO%60==0:
  RANFONT=font.render(str(RANSU),False,(255,255,255))
 
 screen.blit(RANFONT,(0,0))
 
 pygame.display.update()				#画面の更新
 for event in pygame.event.get():
  if event.type==QUIT:			#終了イベント
   pygame.quit()
   sys.exit(0)

乱数を格納する場所は「RANSU」です。

COは%60とすることで1秒マイに何かをすることができます。

 

乱数を使用したコード↓


# -*- coding:utf-8 -*-					#使用している文字コード
import pygame
from pygame.locals import *
import sys
import random

(w,h)=(800,800)						#スクリーンの大きさ
CO=0
RANSU=0

pygame.init()
pygame.display.set_mode((w,h))				#画面の大きさ
screen=pygame.display.get_surface()
pygame.display.set_caption("乱数")		#タイトルを設定

font=pygame.font.Font("JKG-L.ttf",30)	#フォントファイルと文字の大きさ
RANFONT=font.render(str(RANSU),False,(255,255,255))

clock=pygame.time.Clock()

while(1):
 clock.tick(60)
 screen.fill((0,0,0))

 CO+=1
 if CO%60==0:
  RANSU=random.random()
  RANFONT=font.render(str(RANSU),False,(255,255,255))
 screen.blit(RANFONT,(0,0))

 pygame.display.update()				#画面の更新
 for event in pygame.event.get():
  if event.type==QUIT:			#終了イベント
   pygame.quit()
   sys.exit(0)



しかしこれだと「0.0~1.0」までしか表すことができません。

そこでこれらを使用します。

「random.uniform(a,b)」→aからbまでの小数を取得する
「rondom.randint(a,b)」→aからbまでの整数を取得する

 

1~100を取得するコード↓


# -*- coding:utf-8 -*-					#使用している文字コード
import pygame
from pygame.locals import *
import sys
import random

(w,h)=(800,800)						#スクリーンの大きさ
CO=0
RANSU=0

pygame.init()
pygame.display.set_mode((w,h))				#画面の大きさ
screen=pygame.display.get_surface()
pygame.display.set_caption("乱数")		#タイトルを設定

font=pygame.font.Font("JKG-L.ttf",30)	#フォントファイルと文字の大きさ
RANFONT=font.render(str(RANSU),False,(255,255,255))

clock=pygame.time.Clock()

while(1):
 clock.tick(60)
 screen.fill((0,0,0))

 CO+=1
 if CO%60==0:
  RANSU=random.randint(1,100)
  RANFONT=font.render(str(RANSU),False,(255,255,255))
 screen.blit(RANFONT,(0,0))

 pygame.display.update()				#画面の更新
 for event in pygame.event.get():
  if event.type==QUIT:			#終了イベント
   pygame.quit()
   sys.exit(0)



これで出力されました。

 

まとめ

何秒おきに実行というのはかなり使う機会が多いので覚えておいて損はありません。

 

乱数というのは、簡単なゲームを作るにはもってこいの要素です。

 

じゃんけんゲームも乱数を使えば簡単ですよね。

 

pythonでも作ってみたいと思います。