鱼C论坛

 找回密码
 立即注册
查看: 3840|回复: 12

[作品展示] 字节做了一个PYgame的卡牌游戏,游戏王(慢慢更新)

[复制链接]
发表于 2016-11-14 00:10:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
俺看了挺久......正好有个比赛,就做了这个东西,小白比较难看,有什么好想法大家提出来帮我一起弄下 嘿嘿 谢谢大家啊~~~
嗯 ~~~ 代码如下 ,比较乱 ,待小生慢慢改::
import pygame
import sys
from pygame.locals import *
from random import *
import traceback
pygame.init()
pygame.mixer.init()

color=(255,255,255)
#背景音乐 和 音效音乐
A = pygame.mixer.Sound("sound/A.wav")
A.set_volume(0.2)
B = pygame.mixer.Sound("sound/B.wav")
B.set_volume(0.2)
C = pygame.mixer.Sound("sound/C.wav")
C.set_volume(0.2)
D = pygame.mixer.Sound("sound/D.wav")
D.set_volume(0.2)
E = pygame.mixer.Sound("sound/E.wav")
E.set_volume(0.2)
F = pygame.mixer.Sound("sound/F.wav")
F.set_volume(0.2)
G = pygame.mixer.Sound("sound/G.wav")
G.set_volume(0.2)
#自己的牌组
Mycard1 = []
Mycard2 = []
Mycard3 = []
#计算机啊牌组
Comcard1 = []
Comcare2 = []
Comcard3 = []
#定义卡牌类
class gamecard():
    attack = 0
    num = 0
    defense = 0
    active = True
    def __init__(self,attack,defense,num):
        self.attack = attack
        self.defense =defense
        self.num = num
    def end(self):
        pass
        
def main():
    bg_size = width,height = 1050, 812
    screen = pygame.display.set_mode((bg_size))
    pygame.display.set_caption("游戏王的游戏!!!~~~~")
   
    background = pygame.image.load("images/background.png").convert()
    running = True
   
    while running:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
            elif event.type == KEYDOWN:
                if event.key == K_a:
                    A.play()
                elif event.key == K_b:
                    B.play()
                elif event.key == K_c:
                    C.play()
                elif event.key == K_d:
                    D.play()
                elif event.key == K_e:
                    E.play()
                elif event.key == K_f:
                    F.play()
                elif event.key == K_g:
                    G.play()
                elif event.key == K_SPACE:
                    x,y=pygame.mouse.get_pos()
                    print(x)
                    print(',')
                    print(y)
                    print('\n')
            elif event.type == MOUSEBUTTONDOWN:
                if event.button==1:
                    x,y = pygame.mouse.get_pos()
                    
                        
        screen.blit(background,(0,0))
        
        pygame.draw.line(screen,color,(0,576),(1050,576),2)
        pygame.draw.line(screen,color,(175,576),(175,812),2)
        pygame.draw.line(screen,color,(350,576),(350,812),2)
        pygame.draw.line(screen,color,(525,576),(525,812),2)
        pygame.draw.line(screen,color,(700,576),(700,812),2)
        pygame.draw.line(screen,color,(875,576),(875,812),2)
        pygame.draw.line(screen,color,(1050,576),(1050,812),2)
        
        pygame.display.flip()
if __name__ == "__main__":
    try:
        main()
    except:
        pass
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-11-14 00:12:28 | 显示全部楼层
我说下卡牌从哪里来的~  小时候我们看过神奇宝贝 游戏王 那种动画吧~ 。 嘿嘿 前一阵用QQ聊天 看见朋友用那种卡片的表情 就上网搜了一下怎么制作 ,直接百度上搜索游戏王卡牌自制就好了。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-14 00:13:13 | 显示全部楼层
话说做个卡牌还真是麻烦  网不好 加载个国外网站半天 20多分钟有不少光等待图片加载了 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-14 00:14:33 | 显示全部楼层
有道 自动翻译了.... 尴尬...等下..
import pygame
import sys
from pygame.locals import *
from random import *
import traceback
pygame.init()
pygame.mixer.init()

color=(255,255,255)
#背景音乐 和 音效音乐
A = pygame.mixer.Sound("sound/A.wav")
A.set_volume(0.2)
B = pygame.mixer.Sound("sound/B.wav")
B.set_volume(0.2)
C = pygame.mixer.Sound("sound/C.wav")
C.set_volume(0.2)
D = pygame.mixer.Sound("sound/D.wav")
D.set_volume(0.2)
E = pygame.mixer.Sound("sound/E.wav")
E.set_volume(0.2)
F = pygame.mixer.Sound("sound/F.wav")
F.set_volume(0.2)
G = pygame.mixer.Sound("sound/G.wav")
G.set_volume(0.2)
#自己的牌组
Mycard1 = []
Mycard2 = []
Mycard3 = []
#计算机啊牌组
Comcard1 = []
Comcare2 = []
Comcard3 = []
#定义卡牌类
class gamecard():
    attack = 0
    num = 0
    defense = 0
    active = True
    def __init__(self,attack,defense,num):
        self.attack = attack
        self.defense =defense
        self.num = num
    def end(self):
        pass
        
def main():
    bg_size = width,height = 1050, 812
    screen = pygame.display.set_mode((bg_size))
    pygame.display.set_caption("游戏王的游戏!!!~~~~")
   
    background = pygame.image.load("images/background.png").convert()
    running = True
   
    while running:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
            elif event.type == KEYDOWN:
                if event.key == K_a:
                    A.play()
                elif event.key == K_b:
                    B.play()
                elif event.key == K_c:
                    C.play()
                elif event.key == K_d:
                    D.play()
                elif event.key == K_e:
                    E.play()
                elif event.key == K_f:
                    F.play()
                elif event.key == K_g:
                    G.play()
                elif event.key == K_SPACE:
                    x,y=pygame.mouse.get_pos()
                    print(x)
                    print(',')
                    print(y)
                    print('\n')
            elif event.type == MOUSEBUTTONDOWN:
                if event.button==1:
                    x,y = pygame.mouse.get_pos()
                    
                        
        screen.blit(background,(0,0))
        
        pygame.draw.line(screen,color,(0,576),(1050,576),2)
        pygame.draw.line(screen,color,(175,576),(175,812),2)
        pygame.draw.line(screen,color,(350,576),(350,812),2)
        pygame.draw.line(screen,color,(525,576),(525,812),2)
        pygame.draw.line(screen,color,(700,576),(700,812),2)
        pygame.draw.line(screen,color,(875,576),(875,812),2)
        pygame.draw.line(screen,color,(1050,576),(1050,812),2)
        
        pygame.display.flip()
if __name__ == "__main__":
    try:
        main()
    except:
        pass.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 10:52:45 | 显示全部楼层
为什么不用代码格式编辑?这样看着有点蛋疼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 11:41:09 | 显示全部楼层
游戏王好评!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 22:35:30 | 显示全部楼层
写下 我今天给这个做的事情 。 首先上头的那几个列表 我使用字典了 我想到时候 玩家鼠标点击(一定范围之中)  就会在事件下面 (if 。。。。。之后)  把卡片画到对应位置  。 为了有卡牌攻击的 效果 今天建了一个类 给每个卡片都设置一个这个类的 对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 22:36:35 | 显示全部楼层
class gamecard:
    attack = 0
    num = 0
    defense = 0
    active = True
    def __init__(self,attack,defense,num):
        self.attack = attack
        self.defense =defense
        self.num = num
    def Attack(self,gamecard):
        self.defense = self.defense - gamecard.attack
        if self.defense <= 0:
            self.end()
    def end(self):
        print("死掉了")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 22:37:21 | 显示全部楼层
那个end 后头肯定还得改 可以加点音效什么的 。 QAQ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 22:38:12 | 显示全部楼层
零度非安全 发表于 2016-11-14 10:52
为什么不用代码格式编辑?这样看着有点蛋疼

QAQ .... 不好意思哈... 俺不知道那东西.... 我去找找看~~ 哈哈哈 ~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 23:01:00 | 显示全部楼层
luciferCc++ 发表于 2016-11-15 22:38
QAQ .... 不好意思哈... 俺不知道那东西.... 我去找找看~~ 哈哈哈 ~

代码格式发布规则请参考下面


  1. http://bbs.fishc.com/forum.php?mod=viewthread&tid=1742&page=1#pid11009
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-12 23:52:10 | 显示全部楼层
好烦 卡住了  。这个坑 先留着 ......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-13 00:15:48 | 显示全部楼层
楼主你好,我来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 05:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表