RonnyFebrianSaputra MI 1C

  • Home
  • Tutorial Pemograman Web
  • Jaringan Komputer

Game Dengan Python and PyGame

 Ronny Febrian Saputra     Januari 24, 2019     No comments   

Game Dengan Python and PyGame



  Pada blog kali ini saya akan membuat game ular-ular dengan menggunakan bahasa pemograman Python dan juga menggunakan PyGame. Bagi yang belum tau apa itu Python/Pygame bisa di lihat pada postingan saya sebelum nya dengan cara ke HOME / dengan click link berikut --> http://ngoding-gan.blogspot.com/2018/12/mengenal-bahasa-pemograman-python.html untuk PyGame --> http://ngoding-gan.blogspot.com/2019/01/pygame.html

Yang Harus di Persiapkan 

  • Niat
  • Python
  • Pycharm

Yang pertama Dilakukan 

  • Buat folder 
  • Buat File dengan nama snake.py (Bebas)

Codingannya :

import pygame
import sys
import random
import time

class Snake():
    def __init__(self):
        self.position = [100,50]
        self.body = [[100,50 ],[90,50],[80,50]]
        self.direction = "RIGHT"        self.changeDirectionTo = self.direction


    def chageDriTo(self,dir):
        if dir == "RIGHT" and not self.direction== "LEFT":
            self.direction = "RIGHT"        if dir == "LEFT" and not self.direction== "RIGHT":
            self.direction = "LEFT"        if dir == "UP" and not self.direction== "DOWN":
            self.direction = "UP"        if dir == "DOWN" and not self.direction== "UP":
            self.direction = "DOWN"
    def move(self,FoodPos):
        if self.direction == "RIGHT":
            self.position[0] += 10        if self.direction == "LEFT":
            self.position[0] -= 10        if self.direction == "UP":
            self.position[1] -= 10        if self.direction == "DOWN":
            self.position[1] += 10
        self.body.insert(0,list(self.position))
        if self.position == FoodPos:
            return 1        else:
            self.body.pop()
            return 0
    def checkCollision(self):
        if self.position[0] > 490 or self.position[0]< 0:
            return 1        elif self.position[1] > 490 or self.position[1] < 0:
            return 1        for bodyPart in self.body[1:]:
            if self.position == bodyPart:
                return 1            return 0    def getHeadPos(self):
        return self.position

    def getBody(self):
        return self.body

class FoodSpawer():
    def __init__(self):
        self.position = [random.randrange(1,50)*10,random.randrange(1,50)*10]
        self.isFoodOnScreen = True
    def spawnFood(self):
        if self.isFoodOnScreen == False:
            self.position = [random.randrange(1,50)*10,random.randrange(1,50)*10]
            self.isFoodOnScreen = True        return self.position

    def setFoodScreen(self,b):
        self.isFoodOnScreen = b

window = pygame.display.set_mode((500,500))
pygame.display.set_caption("WoW Snake")
fps = pygame.time.Clock()

score = 0
snake = Snake()
foodSpawner = FoodSpawer()

def gameOver():
    pygame.quit()
    sys.exit()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameOver();
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                snake.chageDriTo('RIGHT')
            if event.key == pygame.K_UP:
                snake.chageDriTo('UP')
            if event.key == pygame.K_DOWN:
                snake.chageDriTo('DOWN')
            if event.key == pygame.K_LEFT:
                snake.chageDriTo('LEFT')

    foodPos = foodSpawner.spawnFood()
    if(snake.move(foodPos)==1):
        score+=1        foodSpawner.setFoodScreen(False,)

    window.fill(pygame.Color(225,225,225))
    for pos in snake.getBody():
        pygame.draw.rect(window,pygame.Color(0,225,0),pygame.Rect(pos[0],pos[1],10,10))
    pygame.draw.rect(window, pygame.Color(225,0,0), pygame.Rect(foodPos[0], foodPos[1], 
    10, 10))

    if(snake.checkCollision()==1):
        gameOver()
    pygame.display.set_caption("Wow Snake | Score:" + str(score))
    pygame.display.flip()
    fps.tick(24)
    print(score)\




    HASIL NYA SEBAGAI BERIKUT







  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Kirimkan Ini lewat EmailBlogThis!Bagikan ke XBerbagi ke Facebook
Ronny Febrian Saputra
Nama Saya Ronny Febrian Saputra Umur 16 thn Hobi Main Asal Sekolah SMKN 4 Payakumbuh Alamat Harau
Posting Lebih Baru Posting Lama Beranda

0 Comments:

Posting Komentar

Popular Posts

  • Pengertian Dual Boot Serta Kelebihan dan Kekurangan
    Pengertian Dual Boot Serta Kelebihan dan Kekurangan  Apa itu Dual Boot? Lalu apa saja kelebihan dan kekurangannya? Adakah manfaat...
  • Tkinter
    Tkinter    tkinter ini merupakan sebuah GUI yang digunakan oleh python secara build in yang artinya tidak perlu menginstall tamba...
  • Instal Laravel 5.7
    Saya rekomendasikan Anda untuk menginstall  composer  terlebih dahulu. Atau Anda bisa membaca kembali postingan terdahulu tentang  cara i...
  • Cara Membuat Schematic Diagram Sensor RFID
    Baiklah di postingan kali ini saya akan memebuat shecmatic Diagram tentang bagaimana membuat sensor rfid. sebelum kalian masuk kepembuata...
  • Sejarah Bahasa Pemograman Python
    Sejarah Bahasa Pemoggraman Python    Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan...
  • Game Dengan Python and PyGame
    Game Dengan Python and PyGame   Pada blog kali ini saya akan membuat game ular-ular dengan menggunakan bahasa pemograman Python dan...
  • Cara Penggunaan Return Value pada Pemrograman Python.
    Cara Penggunaan Return Value pada Pemrograman Python Pada tutorial kali ini kita akan membahas tentang  Cara Penggunaan Return V...
  • Python GUI Programming
    Pyhton GUI Programming (Tkinter) Tkinter adalah pustaka GUI standar untuk Python. Python bila dikombinasikan dengan Tki...
  • Kelebihan dan Kekurangan OpenSuse
    Kelebihan dan Kekurangan OpenSuse Berbicara Linux tentu tidak ada habisnya, mengingat sistem operasi yang satu ini memiliki varian...
  • Kelebihan Text Editor Atom
    1. Terhubung dengan project Github Kelebihan Text Editor Atom yang pertama, dengan menggunakan text editor Atom, kita bisa langsung ter...

Recent Posts

Unordered List

Pages

  • Beranda
  • Tutorial Pemograman Web

Text Widget

Blog Archive

  • ►  2021 (15)
    • ►  Juni (6)
    • ►  Mei (1)
    • ►  April (4)
    • ►  Maret (4)
  • ▼  2019 (39)
    • ►  Februari (16)
    • ▼  Januari (23)
      • Pengertian Dual Boot Serta Kelebihan dan Kekurangan
      • Framework Flask
      • 5 Alasan Programmer Memilih Sistem Operasi Linux
      • Macam-Macam Framework Python
      • 10 Bahasa pemogram yang populer di indonesia
      • Game Dengan Python and PyGame
      • PyGame
      • Game Tanya Jawab With Python
      • Membuat Program Pembagian Dengan Bahasa Pemograman...
      • HALAL NETWORK INTERNATIONAL (HNI)
      • Mengenal Variable Global dan Variable Local pada P...
      • Framework
      • Jenis-Jenis Database
      • Pengenalan Database
      • Kelebihan Dan Kekurangan Bahasa Pemograman PHP
      • Pengenalan Bahasa Pemograman PHP
      • Pengertian Framework Django
      • Kelebihan dan Kekurangan Bahasa Pemograman Python
      • Jenis-Jenis Sensor Arduino
      • Perulangan Pada Python
      • Object-Oriented Programming
      • Cara Penggunaan Return Value pada Pemrograman Python.
      • Mengenal IF dan Else pada Python
  • ►  2018 (17)
    • ►  Desember (17)

Sample Text

Copyright © ronnyfebriansaputra | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates