장고로 게임 만들기

12052 단어 파이썬Python3장고

배경



배우기 위해 장고에서 게임을 만들어 보기로 한다.
테트리스 등 다양한 후보는 있다고 생각하지만 슬롯 게임으로 하기로 한다.

모야 모야



Django라고 말해도 Rest도 있고···화면도 번거롭고···
어떻게 해서 업무·즉전력이 온다···멋진 일도 하고 싶고···
→ 데이터 액세스가 모두 하나의 산이므로 데이터베이스에서 가져옵니다.
JSON으로 투입한다는 일단 완벽을 목표로 한다.
이 때, 스크래핑이나 데이터 해석 등도 해 버린다.

생각하지 않는 것



DjangoRest

로드맵 제작물계



・공식 해 본다.
・toDo 리스트 만들어 보자
· 게임 만들기
   → 지금 여기
· 데이터베이스에서 가져와 관리 화면만을 만들어 봅니다.
→ JSON으로 데이터 투입

사양



· 슬롯 머신
・초기 표시 4가 3장 줄지어 있다.
· 버튼을 누르면 무작위 검색이 발생합니다.
・슬롯의 도안과 득점 예
6 3개 갖추면 10000점
7 3개 갖추면 7000점
5 3개 갖추면 300점
· 결과를 표시합니다.
· Python3 Django 사용

해봐



물론 해보고 좋았다고 생각한다.
너무 하지 않는 느낌으로 연습할 수 있으면 좋겠다.
다른 사람의 소스도 참고로 하는 것이 좋다고 생각한다.

소스 코드


from django.http import HttpResponse
from django.shortcuts import render


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

def card(request):

    import random
    word = ''
    suits = ['S', 'H', 'D', 'C']
    ranks = range(4, 8)
    deck = [(x, y) for x in ranks for y in suits]
    if request.method == 'GET':
        dictionary = {
            'suit': 'C',
            'rank': '04',
            'suit2': 'D',
            'rank2': '04',
            'suit3': 'C',
            'rank3': '04',
             'word': word
        }

    elif request.method == 'POST':
        random.shuffle(deck)
        card1 = deck.pop()
        card2 = deck.pop()
        card3 = deck.pop()

        if card1[0] == 6 and card2[0] == 6 and card3[0] == 6:
            word = "scoreは10000点です"
        elif card1[0] == 7 and card2[0] == 7 and card3[0] == 7:
            word = "scoreは7000点です"
        elif card1[0] == 5 and card2[0] == 5 and card3[0] == 5:
            word = "scoreは300点です"

        dictionary = {
            'suit' : card1[1],
            'rank' : str(card1[0]).zfill(2),
            'suit2' : card2[1],
            'rank2' : str(card2[0]).zfill(2),
            'suit3': card3[1],
            'rank3': str(card3[0]).zfill(2),
            'word': word,
        }

    return render(request, 'card.html', dictionary)

{% load static %}
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>トランプ</title>
</head>
<body>
    {%static "cards/" as card_path %}
    <img src="{{card_path}}{{ suit }}_{{rank}}.png">
    <img src="{{card_path}}{{ suit2 }}_{{rank2}}.png">
    <img src="{{card_path}}{{ suit3 }}_{{rank3}}.png">
<form action="" method="post">
{% csrf_token %}
    <input type="submit" value="送信">
</form>
{{ word }}
</body>
</html>


좋은 웹페이지 즐겨찾기