设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2323|回复: 6
打印 上一主题 下一主题

股票(债券系统)

 关闭 [复制链接]

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

跳转到指定楼层
1
发表于 2008-5-30 05:30:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
由于对title(加载脚本)load、save(存储数据)进行修改,导致冲突。故分开发代码。
没有范例,以后也不会有。
没有截图,就是一个土到垃圾的窗口。
就是这样。
2、3、4楼请不要站
我发代码
哎呀,蛋疼什么的最有爱了

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

2
 楼主| 发表于 2008-5-30 05:31:01 | 只看该作者
Scene_Gu8
  1. class Scene_Gu
  2.   def main
  3.     @spriteset = Spriteset_Map.new
  4.     $window_gu = Window_Gu.new
  5.     @index = 1
  6.     Audio.bgs_stop
  7.     # 执行过渡
  8.     Graphics.transition
  9.     # 主循环
  10.     loop do
  11.       # 刷新游戏画面
  12.       Graphics.update
  13.       # 刷新输入信息
  14.       Input.update
  15.       # 刷新画面
  16.       $window_gu.update
  17.       # 如果画面被切换就中断循环
  18.       if Input.trigger?(Input::B)#$scene != self
  19.         break
  20.       end
  21.     end
  22.     # 装备过渡
  23.     Graphics.freeze
  24.     $window_gu.dispose
  25.     $scene = Scene_Map.new
  26.   end
  27. end
复制代码
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

3
 楼主| 发表于 2008-5-30 05:31:21 | 只看该作者
Class_Gu

  1. $最大波动 = 20
  2. $最小波动 = 5
  3. class Class_Gu
  4.   #--------------------------------------------------------------------------
  5.   # ● 定义实例变量
  6.   #--------------------------------------------------------------------------
  7.     attr_accessor :shellmonny              # 股价
  8.     attr_accessor :getgu                   # 持股
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对像
  11.   #--------------------------------------------------------------------------
  12.   def init
  13.     @shellmonny = 100
  14.     @getgu = 0
  15.   end
  16.   def buy
  17.     if $game_party.gold > @shellmonny
  18.       $game_party.gain_gold(-@shellmonny)
  19.       @getgu += 1
  20.     end
  21.   end
  22.   def shell
  23.     if @getgu >= 1
  24.       $game_party.gain_gold(@shellmonny)
  25.       @getgu -= 1
  26.     end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 刷新对像
  30.   #--------------------------------------------------------------------------
  31.   def updata
  32.     rnd = rand($最大波动-($最小波动+1))+($最小波动-1)
  33.     if rand(2) == 1
  34.       @shellmonny = @shellmonny + rnd
  35.     else
  36.       @shellmonny = @shellmonny - rnd
  37.     end
  38.   end
  39.   
  40. end

  41. class Window_Gu < Window_Base
  42.     #窗口对象开始
  43.   #--------------------------------------------------------------------------
  44.   # ● 初始化窗口对像
  45.   #--------------------------------------------------------------------------
  46.   def initialize
  47.     super(4*32, 4*32, 7*32-16, 4*32)
  48.     self.contents = Bitmap.new(width - 32, height - 32)
  49.     @index = 1
  50.     refresh
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 刷新
  54.   #--------------------------------------------------------------------------
  55.   def refresh
  56.     self.contents.clear
  57.     cx = contents.text_size($data_system.words.gold).width
  58.     cc = contents.text_size($Gu.shellmonny.to_s).width
  59.     @cp = contents.text_size($Gu.getgu.to_s).width
  60.     self.contents.font.color = normal_color
  61.     self.contents.draw_text(4, 0, 120-cx-2, 32, "今日股价:", 2)
  62.     self.contents.draw_text(32, 0, 120-cx-2, 32, $Gu.shellmonny.to_s, 2)
  63.     self.contents.font.color = system_color
  64.     self.contents.draw_text(124+cc, 0, cx, 32, $data_system.words.gold, 2)
  65.     self.contents.draw_text(4, 32, 60-cx-2, 32, "买入", 2)
  66.     self.contents.draw_text(4+64+4,32,@cp,32,$Gu.getgu.to_s,2)
  67.     self.contents.draw_text(4+64+@cp+4, 32, 60-cx-2, 32, "卖出", 2)
  68.     #~ @x = 4
  69.     #~ @y = 32
  70.   end
  71.   def update
  72.     super
  73.           if Input.repeat?(Input::LEFT)
  74.          @index= @index-1
  75.         if @index <= 0
  76.           @index = 2
  77.         end
  78.       end
  79.       if Input.repeat?(Input::RIGHT)
  80.         @index = @index+1
  81.         if @index >= 3
  82.           @index = 1
  83.         end
  84.       end
  85.       if @index == 1
  86.         
  87.         self.cursor_rect.set(4, 32, 64, 32)
  88.       end
  89.       if @index == 2
  90.         self.cursor_rect.set(4+64+@cp+4, 32, 64, 32)
  91.       end
  92.       if Input.trigger?(Input::C)
  93.         if @index == 1
  94.           $Gu.buy
  95.         else
  96.           $Gu.shell
  97.       end
  98.       #画面再生成
  99.       refresh
  100. end
  101.   end
  102. end
复制代码
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

4
 楼主| 发表于 2008-5-30 05:31:38 | 只看该作者
追加定义


  1. class Scene_Title
  2.   #--------------------------------------------------------------------------
  3.   # ● 命令 : 新游戏
  4.   #--------------------------------------------------------------------------
  5.   def command_new_game
  6.     # 演奏确定 SE
  7.     $game_system.se_play($data_system.decision_se)
  8.     # 停止 BGM
  9.     Audio.bgm_stop
  10.     # 重置测量游戏时间用的画面计数器
  11.     Graphics.frame_count = 0
  12.     # 生成各种游戏对像
  13.     $game_temp          = Game_Temp.new
  14.     $game_system        = Game_System.new
  15.     $game_switches      = Game_Switches.new
  16.     $game_variables     = Game_Variables.new
  17.     $game_self_switches = Game_SelfSwitches.new
  18.     $game_screen        = Game_Screen.new
  19.     $game_actors        = Game_Actors.new
  20.     $game_party         = Game_Party.new
  21.     $game_troop         = Game_Troop.new
  22.     $game_map           = Game_Map.new
  23.     $game_player        = Game_Player.new
  24.     ##########################################################
  25.     ###                      追加脚本                      ###
  26.     ##########################################################
  27.     $Gu                 = Class_Gu.new                     
  28.     $Gu.init                                               
  29.     $Gu.updata                                             
  30.     ##########################################################
  31.     # 设置初期同伴位置
  32.     $game_party.setup_starting_members
  33.     # 设置初期位置的地图
  34.     $game_map.setup($data_system.start_map_id)
  35.     # 主角向初期位置移动
  36.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  37.     # 刷新主角
  38.     $game_player.refresh
  39.     # 执行地图设置的 BGM 与 BGS 的自动切换
  40.     $game_map.autoplay
  41.     # 刷新地图 (执行并行事件)
  42.     $game_map.update
  43.     # 切换地图画面
  44.     $scene = Scene_Map.new
  45.   end
  46. end
  47. class Scene_Save < Scene_File
  48.     def write_save_data(file)
  49.     # 生成描绘存档文件用的角色图形
  50.     characters = []
  51.     for i in 0...$game_party.actors.size
  52.       actor = $game_party.actors[i]
  53.       characters.push([actor.character_name, actor.character_hue])
  54.     end
  55.     # 写入描绘存档文件用的角色数据
  56.     Marshal.dump(characters, file)
  57.     # 写入测量游戏时间用画面计数
  58.     Marshal.dump(Graphics.frame_count, file)
  59.     # 增加 1 次存档次数
  60.     $game_system.save_count += 1
  61.     # 保存魔法编号
  62.     # (将编辑器保存的值以随机值替换)
  63.     $game_system.magic_number = $data_system.magic_number
  64.     # 写入各种游戏对像
  65.     Marshal.dump($game_system, file)
  66.     Marshal.dump($game_switches, file)
  67.     Marshal.dump($game_variables, file)
  68.     Marshal.dump($game_self_switches, file)
  69.     Marshal.dump($game_screen, file)
  70.     Marshal.dump($game_actors, file)
  71.     Marshal.dump($game_party, file)
  72.     Marshal.dump($game_troop, file)
  73.     Marshal.dump($game_map, file)
  74.     Marshal.dump($game_player, file)
  75.     Marshal.dump($Gu, file)
  76.   end
  77. end
  78. class Scene_Load < Scene_File
  79.   def read_save_data(file)
  80.     # 读取描绘存档文件用的角色数据
  81.     characters = Marshal.load(file)
  82.     # 读取测量游戏时间用画面计数
  83.     Graphics.frame_count = Marshal.load(file)
  84.     # 读取各种游戏对像
  85.     $game_system        = Marshal.load(file)
  86.     $game_switches      = Marshal.load(file)
  87.     $game_variables     = Marshal.load(file)
  88.     $game_self_switches = Marshal.load(file)
  89.     $game_screen        = Marshal.load(file)
  90.     $game_actors        = Marshal.load(file)
  91.     $game_party         = Marshal.load(file)
  92.     $game_troop         = Marshal.load(file)
  93.     $game_map           = Marshal.load(file)
  94.     $game_player        = Marshal.load(file)
  95.     $Gu                 = Marshal.load(file)
  96.     # 魔法编号与保存时有差异的情况下
  97.     # (加入编辑器的编辑过的数据)
  98.     if $game_system.magic_number != $data_system.magic_number
  99.       # 重新装载地图
  100.       $game_map.setup($game_map.map_id)
  101.       $game_player.center($game_player.x, $game_player.y)
  102.     end
  103.     # 刷新同伴成员
  104.     $game_party.refresh
  105.   end
  106. end
  107. class Scene_Map
  108.     def transfer_player
  109.     # 清除主角场所移动调试标志
  110.     $Gu.updata
  111.     $game_temp.player_transferring = false
  112.     # 移动目标与现在的地图有差异的情况下
  113.     if $game_map.map_id != $game_temp.player_new_map_id
  114.       # 设置新地图
  115.       $game_map.setup($game_temp.player_new_map_id)
  116.     end
  117.     # 设置主角位置
  118.     $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
  119.     # 设置主角朝向
  120.     case $game_temp.player_new_direction
  121.     when 2  # 下
  122.       $game_player.turn_down
  123.     when 4  # 左
  124.       $game_player.turn_left
  125.     when 6  # 右
  126.       $game_player.turn_right
  127.     when 8  # 上
  128.       $game_player.turn_up
  129.     end
  130.     # 矫正主角姿势
  131.     $game_player.straighten
  132.     # 刷新地图 (执行并行事件)
  133.     $game_map.update
  134.     # 在生成活动块
  135.     @spriteset.dispose
  136.     @spriteset = Spriteset_Map.new
  137.     # 处理过渡中的情况下
  138.     if $game_temp.transition_processing
  139.       # 清除过渡处理中标志
  140.       $game_temp.transition_processing = false
  141.       # 执行过渡
  142.       Graphics.transition(20)
  143.     end
  144.     # 执行地图设置的 BGM、BGS 的自动切换
  145.     $game_map.autoplay
  146.     # 设置画面
  147.     Graphics.frame_reset
  148.     # 刷新输入信息
  149.     Input.update
  150.   end
  151. end
复制代码
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

5
 楼主| 发表于 2008-5-30 05:32:18 | 只看该作者
代码发完了。
切换场景股价调整一次
$scene = Scene_Gu.new
唤出股票窗口
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

6
发表于 2008-5-30 05:35:49 | 只看该作者
股票... 股票.... 股票..... 股票。。。
不如直接出个赌博系统
ps : 你就不会放在一个楼哦
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

7
 楼主| 发表于 2008-5-30 05:57:43 | 只看该作者
以下引用link006007于2008-5-29 21:35:49的发言:

股票... 股票.... 股票..... 股票。。。
不如直接出个赌博系统
ps : 你就不会放在一个楼哦

修改方便 {/dy}
我就是专门利己,毫不利人的大坏蛋 {/hx}
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 17:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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